@amityco/social-plus-vise 0.14.28 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +50 -0
- package/README.md +143 -371
- package/dist/tools/ast.js +153 -28
- package/dist/tools/docs.js +48 -0
- package/dist/tools/sdkFacts.js +45 -1
- package/docs-cache/README.md +34 -0
- package/docs-cache/social-plus-sdk/core-concepts/foundation/logging.mdx +236 -0
- package/docs-cache/social-plus-sdk/core-concepts/realtime-communication/live-objects-collections/android.mdx +262 -0
- package/docs-cache/social-plus-sdk/core-concepts/realtime-communication/live-objects-collections/flutter.mdx +195 -0
- package/docs-cache/social-plus-sdk/core-concepts/realtime-communication/live-objects-collections/ios.mdx +452 -0
- package/docs-cache/social-plus-sdk/core-concepts/realtime-communication/live-objects-collections/overview.mdx +133 -0
- package/docs-cache/social-plus-sdk/core-concepts/realtime-communication/live-objects-collections/typescript.mdx +264 -0
- package/docs-cache/social-plus-sdk/core-concepts/realtime-communication/push-notifications/register-and-unregister-push-notifications-on-a-device.mdx +191 -0
- package/docs-cache/social-plus-sdk/core-concepts/realtime-communication/push-notifications/settings/overview.mdx +43 -0
- package/docs-cache/social-plus-sdk/core-concepts/realtime-communication/push-notifications/setup/android-setup.mdx +360 -0
- package/docs-cache/social-plus-sdk/core-concepts/realtime-communication/push-notifications/setup/flutter-setup.mdx +457 -0
- package/docs-cache/social-plus-sdk/core-concepts/realtime-communication/push-notifications/setup/ios-setup.mdx +423 -0
- package/docs-cache/social-plus-sdk/core-concepts/realtime-communication/push-notifications/setup/react-native-setup.mdx +384 -0
- package/docs-cache/social-plus-sdk/core-concepts/realtime-communication/realtime-events/overview.mdx +94 -0
- package/docs-cache/social-plus-sdk/getting-started/authentication.mdx +808 -0
- package/docs-cache/social-plus-sdk/getting-started/platform-setup/mobile/android-quick-start.mdx +304 -0
- package/docs-cache/social-plus-sdk/getting-started/platform-setup/mobile/flutter-quick-start.mdx +121 -0
- package/docs-cache/social-plus-sdk/getting-started/platform-setup/mobile/ios-quick-start.mdx +225 -0
- package/docs-cache/social-plus-sdk/getting-started/platform-setup/web/web-quick-start.mdx +99 -0
- package/docs-cache/social-plus-sdk/social/communities-spaces/organization/community-invitation.mdx +459 -0
- package/docs-cache/social-plus-sdk/social/communities-spaces/organization/join-leave-community.mdx +449 -0
- package/docs-cache/social-plus-sdk/social/communities-spaces/organization/query-community-members.mdx +376 -0
- package/docs-cache/social-plus-sdk/social/content-management/posts/creation/text-post.mdx +318 -0
- package/docs-cache/social-plus-sdk/social/discovery-engagement/notifications/notification-tray-status.mdx +399 -0
- package/docs-cache/social-plus-sdk/social/user-relationship/blocking/block-unblock-user.mdx +166 -0
- package/docs-cache/social-plus-sdk/social/user-relationship/following/get-follower-following-list.mdx +339 -0
- package/package.json +10 -3
- package/scripts/dart-model-extractor/bin/extract_models.dart +169 -0
- package/scripts/dart-model-extractor/pubspec.lock +149 -0
- package/scripts/dart-model-extractor/pubspec.yaml +16 -0
- package/scripts/extract-sdk-models.mjs +353 -12
- package/scripts/import-sdk-surface.mjs +10 -19
- package/sdk-surface/manifest.json +15 -15
- package/sdk-surface/models.android.json +1 -1
- package/sdk-surface/models.flutter.json +465 -465
- package/sdk-surface/models.ios.json +188 -188
- package/sdk-surface/models.typescript.json +1 -1
- package/skills/social-plus-vise/SKILL.md +14 -0
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
<p align="center">
|
|
8
8
|
<a href="https://www.npmjs.com/package/@amityco/social-plus-vise"><img src="https://img.shields.io/npm/v/@amityco/social-plus-vise.svg" alt="npm version" /></a>
|
|
9
|
-
<
|
|
9
|
+
<img src="https://img.shields.io/badge/License-Proprietary-blue.svg" alt="License" />
|
|
10
10
|
<a href="https://learn.social.plus"><img src="https://img.shields.io/badge/Docs-learn.social.plus-informational" alt="Docs" /></a>
|
|
11
11
|
</p>
|
|
12
12
|
|
|
@@ -16,213 +16,98 @@
|
|
|
16
16
|
|
|
17
17
|
---
|
|
18
18
|
|
|
19
|
-
##
|
|
20
|
-
|
|
21
|
-
```sh
|
|
22
|
-
# 1. Install
|
|
23
|
-
npm install -g @amityco/social-plus-vise
|
|
24
|
-
|
|
25
|
-
# 2. Install the AI skill into your coding tool (pick your host)
|
|
26
|
-
vise install-skill --target claude # Claude Code (personal)
|
|
27
|
-
vise install-skill --target cursor . # Cursor (project-local)
|
|
28
|
-
vise install-skill --target copilot . # GitHub Copilot / VS Code
|
|
29
|
-
|
|
30
|
-
# 3. Ask your AI agent to integrate with social.plus
|
|
31
|
-
# (the skill handles the rest — inspect, plan, init, code, check)
|
|
32
|
-
```
|
|
19
|
+
## What is Vise?
|
|
33
20
|
|
|
34
|
-
|
|
21
|
+
Vise wraps your AI coding agent in compliance guardrails when it integrates social.plus SDKs. It inspects your project, grounds the agent in the hosted docs, enforces 300+ platform-specific compliance rules, checks generated UI against your design system, gates baseline feature completeness, and runs your project's own build/lint/typecheck sensors. **Your source code never leaves your machine.**
|
|
35
22
|
|
|
36
|
-
|
|
23
|
+
The agent still edits your app. Vise turns the request into a grounded plan, records a local contract under `sp-vise/`, and keeps checking until the integration is green, attested, or explicitly blocked on your input — so "the agent stopped" and "the integration is done" mean the same thing.
|
|
37
24
|
|
|
38
|
-
|
|
25
|
+
> **Why "Vise"?** A bench vise holds the workpiece steady so the craftsman's hands are free to shape it. Vise clamps the integration to the real docs, the real project structure, and the real compliance rules so the agent can focus on building instead of guessing.
|
|
39
26
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
## What Vise Does: Agentic Workflow Governance
|
|
45
|
-
|
|
46
|
-
Instead of just providing a CLI or AI skills, Vise implements a technique called **Agentic Workflow Governance**. Think of it as a customer-project integration harness: the governed build loop runs inside the target repo, grounded in the real project, real docs, and real validation signals.
|
|
47
|
-
|
|
48
|
-
Vise wraps your local coding agents in compliance guardrails when they integrate social.plus SDKs. It inspects your project, grounds the agent in hosted docs, enforces 300+ platform-specific compliance rules, checks the generated UI against the customer's design system, gates narrow baseline capabilities so nothing mandatory is silently dropped, offers richer feed capabilities as explicit opt-ins, and runs your project's own build/lint/typecheck sensors. **Your source code never leaves your machine.**
|
|
49
|
-
|
|
50
|
-
At a glance, Vise sits between the user's prompt and the agent's code changes. The agent still edits the app; Vise turns the request into a grounded plan, records the local contract, and keeps checking until the integration is ready to ship.
|
|
51
|
-
|
|
52
|
-
```mermaid
|
|
53
|
-
flowchart LR
|
|
54
|
-
Prompt["User prompt<br/>Add a social.plus feature"] --> Skill["AI skill<br/>drives the loop"]
|
|
55
|
-
Skill --> Inspect["Inspect project<br/>platform, app surface,<br/>design signals"]
|
|
56
|
-
Inspect --> Plan["Plan<br/>outcome, docs,<br/>intake questions"]
|
|
57
|
-
Plan --> Design["Design + capability preflight<br/>preview confirmation,<br/>feature checklist"]
|
|
58
|
-
Design --> Build["Agent builds<br/>edits customer code locally"]
|
|
59
|
-
Build --> Check["Vise check<br/>SDK compliance gate"]
|
|
60
|
-
Check -->|findings| Build
|
|
61
|
-
Check --> Sensors["Sensors<br/>typecheck, build,<br/>lint, SDK smoke"]
|
|
62
|
-
Sensors -->|failures| Build
|
|
63
|
-
Sensors --> Done["Done<br/>sp-vise contract<br/>and evidence"]
|
|
64
|
-
```
|
|
27
|
+
It ships as three layers:
|
|
65
28
|
|
|
66
29
|
| Layer | Purpose |
|
|
67
30
|
|---|---|
|
|
68
|
-
| **Skill** (`SKILL.md`) |
|
|
31
|
+
| **Skill** (`SKILL.md`) | Teaches your AI agent when to inspect, plan, fetch docs, edit, validate, and attest |
|
|
69
32
|
| **CLI** (`vise`) | Deterministic engine: inspects repos, searches docs, validates setup, runs sensors, manages attestations |
|
|
70
|
-
| **MCP adapter** | Optional stdio server for MCP-capable
|
|
71
|
-
|
|
72
|
-
### What Vise validates: three layers
|
|
33
|
+
| **MCP adapter** | Optional stdio server for MCP-capable hosts (Claude Code, Cursor, Codex, VS Code, Copilot) |
|
|
73
34
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
| Layer | Claim | How | Enforcement |
|
|
77
|
-
|---|---|---|---|
|
|
78
|
-
| **SDK compliance** | "this is **wrong**" | 300+ deterministic rules (session renewal, live-collection vs one-shot, no secret in logs, parent-child rendering, ban-state gating…) | **Hard gate** — `vise check` blocks until green or attested. A small advisory subset surfaces as informational only and never blocks. |
|
|
79
|
-
| **Design conformance** | "this **looks off**" | extract the customer's design system into a contract, render a preview for confirmation, then check token usage | **Advisory** — `vise design check`/`preview`; never fails a build |
|
|
80
|
-
| **Feature completeness** | "this is **missing**" | Vise proposes a narrow baseline per outcome; for add-feed, pagination is mandatory, for add-comments, the composer/write affordance is mandatory, for add-chat, send plus read/unread state are mandatory, and for add-follow/profile, SDK-backed follower/following data is mandatory, while richer feed capabilities are opt-in choices from `vise plan` | **Decision gate** — `vise check` exits `completeness-gap` until each baseline capability is built, satisfied by an installed Block Factory block (evidence `source: "block:<id>"`, re-validated locally on every check), or validly opted out; selected optional capabilities run separate sensors |
|
|
81
|
-
|
|
82
|
-
Correctness is gated by deterministic rules or attestations. Baseline completeness is gated by explicit scope decisions: if a baseline capability is legitimately out of scope, record `// vise: scope-omit <id> — <reason>` and it no longer blocks. Installed Block Factory blocks count too: the factory declares the completeness ids a block provides (`providesCapabilities`), `vise blocks add --apply` records them in `sp-vise/blocks.json`, and `vise check` honours them only while the block's manifest dependency and touched files are intact — on drift the gap returns. Optional feed capabilities such as image upload, poll creation, and edit post are offered during planning and become checked only after the user opts in. Conformance remains advisory because "matches the brand" is legitimately subjective. See [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md).
|
|
83
|
-
|
|
84
|
-
### Engagement Intelligence roadmap
|
|
85
|
-
|
|
86
|
-
Vise's next architecture track is the social.plus **Engagement Intelligence System**: an outcome-to-experience layer that maps customer goals, archetypes, solution patterns, experience objects, UX patterns, and variants before normal implementation planning. The first advisory runtime slice is `vise creative`: it consumes a request plus optional requirements/prototype inputs, or runs in exploratory mode when requirements are absent, writes a local creative brief for user variant selection, and records the accepted variant so `vise plan`, `vise init`, and `vise workplan` can carry that product/UX direction forward. See [docs/ENGAGEMENT_INTELLIGENCE_SYSTEM.md](docs/ENGAGEMENT_INTELLIGENCE_SYSTEM.md), [docs/MONOREPO_ARCHITECTURE.md](docs/MONOREPO_ARCHITECTURE.md), and [packages/intelligence](packages/intelligence).
|
|
87
|
-
|
|
88
|
-
The current milestone is the **Learning Engine sensor bridge with score calibration guardrails**. After creative selection, experience compilation, and sensor review, Vise can keep local learning events that snapshot the selected variant, outcome, Experience Report, and Experience Sensor Framework, then summarize recurring review gaps by variant, outcome, and dimension. The shadow calibration track now has 70 measured cells, including a v2 independent candidate-ranking matrix that ranked the expected variant first in 21/21 registered cells while preserving visible review gaps. The v2 human gate has named product FP/FN and privacy sign-off recorded, including approval that `event-first` beats `creator-first` in the five thin-margin cross-platform cells. Gate 2 exposes this evidence only as an explicit `vise creative --ranking-preview` local advisory preview; the current local dogfood pass covers 18 synthetic prompts spanning ten archetypes and all ten catalog variants (seven available, three gamification variants gated as in-development). Of the 14 available-variant cases, 13 align and 1 is a declared near-miss — in the opt-in preview only, the shadow-policy-v2-draft ranking ranks `live-commerce` just above `discovery-first` for an ecommerce social-discovery prompt, while the brief's keyword default and the agent both pick the human-correct `discovery-first` — with 0 undeclared ranking concerns and 0 candidate-surfacing gaps; the other 4 gamification cases are correctly gated. The paired `live-shopping-stream` control (a clear live-selling prompt) shows the preview correctly elevating `live-commerce` over the keyword default. There are still no uploads, no changed `vise check` exit codes, no calibrated single score, no auto-acceptance, and no default recommendation ranking. See [docs/UX_HARNESS_MVP.md](docs/UX_HARNESS_MVP.md), [docs/LEARNING_ENGINE_MVP.md](docs/LEARNING_ENGINE_MVP.md), [docs/EXPERIENCE_SCORE_CALIBRATION.md](docs/EXPERIENCE_SCORE_CALIBRATION.md), and [docs/ENGAGEMENT_INTELLIGENCE_SYSTEM.md](docs/ENGAGEMENT_INTELLIGENCE_SYSTEM.md).
|
|
89
|
-
|
|
90
|
-
### Relationship to social.plus Block Factory
|
|
91
|
-
|
|
92
|
-
Vise has two deliberately separate roles:
|
|
93
|
-
|
|
94
|
-
- **Customer integration helper:** runs inside customer projects to inspect, plan, validate, and sensor-check social.plus SDK integrations.
|
|
95
|
-
- **Block Factory SDK facts provider:** internal mode for social.plus Block Factory to verify SDK capabilities, symbols, and model schemas before reusable blocks are generated or released.
|
|
96
|
-
- **Block installer governance:** customer-project workflow that consumes a Block Factory registry, plans safe package/source changes, writes `sp-vise/blocks.json`, and validates installed block state.
|
|
97
|
-
|
|
98
|
-
Vise owns SDK truth and customer-project governance. social.plus Block Factory owns block contracts, package adapters, registry metadata, previews, conformance tests, and release readiness. See [docs/SDK_FACTS_FOR_BLOCK_FACTORY.md](docs/SDK_FACTS_FOR_BLOCK_FACTORY.md) for the internal provider-side plan.
|
|
99
|
-
|
|
100
|
-
### Block Factory user experience
|
|
101
|
-
|
|
102
|
-
When Vise is used with social.plus Block Factory, the customer experience should feel like asking an AI agent for a social capability rather than manually assembling SDK calls and UI states:
|
|
103
|
-
|
|
104
|
-
> "Add social.plus comments to this app and match my existing design system."
|
|
105
|
-
|
|
106
|
-
The agent uses Vise to turn that request into a governed install workflow:
|
|
35
|
+
## Quick Start
|
|
107
36
|
|
|
108
37
|
```sh
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
vise
|
|
112
|
-
vise blocks add . --block comments --registry ./registry/blocks.json --package-source npm --apply
|
|
113
|
-
vise blocks validate . --block comments --registry ./registry/blocks.json --format json
|
|
114
|
-
vise run-sensors --dry-run
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
What Vise does:
|
|
118
|
-
|
|
119
|
-
- Inspects the customer project and detects the target platform.
|
|
120
|
-
- Reads Block Factory registry metadata without owning block product data.
|
|
121
|
-
- Plans package, source-anchor, sidecar, design-contract, and sensor requirements.
|
|
122
|
-
- Applies changes only to package manifests, `sp-vise/blocks.json`, and source files with explicit install anchors.
|
|
123
|
-
- Returns `needs-review` when a brownfield project has no safe install anchor.
|
|
124
|
-
- Validates installed block state and detects drift after future code changes.
|
|
125
|
-
|
|
126
|
-
Required customer or agent actions:
|
|
127
|
-
|
|
128
|
-
- Choose the block id and package source.
|
|
129
|
-
- Review the dry-run plan before using `--apply`.
|
|
130
|
-
- Add explicit install anchors when Vise cannot safely edit the project.
|
|
131
|
-
- Keep `sp-vise/blocks.json` committed so future validation has state to compare.
|
|
132
|
-
- Run the target project's normal build, lint, test, and Vise sensors before shipping.
|
|
133
|
-
|
|
134
|
-
### Design-conformant UI
|
|
135
|
-
|
|
136
|
-
Vise can ingest the customer's aesthetic into a **design contract** and guide generation to match it — from an HTML/CSS prototype (`vise design extract`) or from the host app's own design system across web + Android + Flutter + iOS (`vise design extract --from-project`: CSS vars/Tailwind/token modules, `colors.xml`, Flutter `Color(0x…)`, iOS `.colorset`/Swift). `vise design extract` writes both `sp-vise/design-contract.json` and `sp-vise/design-preview.html`; `vise plan`/`init` withhold design feed-forward until the preview is explicitly accepted with `--answer design_contract_confirmation=yes`. If the preview is rejected (`=no`), Vise asks for a replacement design source and records no design-conformance claim. `vise design check` reports token conformance; `vise design preview` writes a visual review; `vise design reference` generates a full visual design-system spec (swatches, type samples, component demos). All advisory.
|
|
137
|
-
|
|
138
|
-
**For social.plus-specific styling:** `vise design init-tokens` scaffolds `src/styles/social-plus-tokens.css` in your project — a dedicated token file for social.plus features that you can edit independently from your main app's design system. Greenfield projects get sensible `--sp-*` defaults; brownfield projects get their existing token values seeded in. Edit the file, run `vise design extract --from-project` to refresh the contract, and future agent builds inherit the updated palette — no AI agent needed in the update loop.
|
|
139
|
-
|
|
140
|
-
### Supported integrations (outcomes)
|
|
141
|
-
|
|
142
|
-
`vise plan`/`init` classify the request into an outcome and tailor the plan, rules, and feature checklist: **feed** · **comments** · **chat** · **moderation** · **community** · **social graph (follow)** · **in-app notifications** · plus setup (SDK, push, live data).
|
|
143
|
-
|
|
144
|
-
### Why "Vise"
|
|
145
|
-
|
|
146
|
-
A bench vise holds the workpiece steady so the craftsman's hands are free to shape it. Without one, the workpiece drifts and cuts wander. Vise does the same for AI agents integrating SDKs: it clamps the integration to a known-good position (the real docs, the real project structure, the real compliance rules) so the agent can focus on creative work instead of guessing.
|
|
147
|
-
|
|
148
|
-
---
|
|
38
|
+
# 1. Install the CLI
|
|
39
|
+
npm install -g @amityco/social-plus-vise
|
|
40
|
+
vise doctor # verify install
|
|
149
41
|
|
|
150
|
-
|
|
42
|
+
# 2. Install the AI skill into your coding tool
|
|
43
|
+
vise install-skill --target claude # Claude Code (personal)
|
|
44
|
+
vise install-skill --target cursor . # Cursor (project-local)
|
|
45
|
+
vise install-skill --target copilot . # GitHub Copilot / VS Code
|
|
151
46
|
|
|
152
|
-
|
|
47
|
+
# 3. Open your AI coding tool in your project and ask:
|
|
48
|
+
# "Add a social feed to this app using the social.plus SDK."
|
|
49
|
+
```
|
|
153
50
|
|
|
154
|
-
The
|
|
51
|
+
The skill drives the loop automatically — `vise inspect` → `vise plan` → `vise init` → edit code → `vise check` → `vise run-sensors`. You drive intent, answer scope questions, and approve the design preview; Vise keeps the agent honest. See [How it works](#how-it-works).
|
|
155
52
|
|
|
156
|
-
|
|
53
|
+
All skill targets:
|
|
157
54
|
|
|
158
|
-
|
|
55
|
+
| Host | Install command |
|
|
56
|
+
|---|---|
|
|
57
|
+
| Claude Code (personal scope) | `vise install-skill --target claude` |
|
|
58
|
+
| Claude Code (project scope) | `vise install-skill --target claude-project .` |
|
|
59
|
+
| OpenAI Codex | `vise install-skill --target codex` |
|
|
60
|
+
| Cursor (native skills) | `vise install-skill --target cursor .` |
|
|
61
|
+
| Cursor (legacy rules) | `vise install-skill --target cursor-rules .` |
|
|
62
|
+
| GitHub Copilot / VS Code | `vise install-skill --target vscode .` |
|
|
63
|
+
| Copilot CLI / project | `vise install-skill --target copilot .` |
|
|
64
|
+
| Generic agent project | `vise install-skill --target agents .` |
|
|
65
|
+
| Other coding agents | `vise print-skill` (paste into the host's project instructions) |
|
|
159
66
|
|
|
160
|
-
|
|
161
|
-
|---|---:|---:|---|
|
|
162
|
-
| Cursor / Composer 2.5 | 30% (3.3/11 avg) | **97% (32/33)** | One seed surfaced the remaining item instead of silently dropping it. |
|
|
163
|
-
| Claude / Sonnet 4.6 medium | 27% (3.0/11 avg) | **100% (33/33)** | All three Vise seeds reached 11/11. |
|
|
164
|
-
| Codex / GPT-5.4 medium | 21% (2.3/11 avg) | **100% (33/33)** | All three Vise seeds reached 11/11. |
|
|
67
|
+
Prefer a per-project install? `npm install -D @amityco/social-plus-vise`, then call `npx vise`. The skill is plain Markdown — read it any time with `vise print-skill`.
|
|
165
68
|
|
|
166
|
-
|
|
69
|
+
## How it works
|
|
167
70
|
|
|
168
|
-
|
|
71
|
+
1. **Inspect** — `vise inspect` detects the platform, app surfaces, available sensors, and design signals from the local repo.
|
|
72
|
+
2. **Plan** — `vise plan --request "..."` classifies the outcome, cites docs, and raises blocking intake and design-preview questions. The agent surfaces them; you answer.
|
|
73
|
+
3. **Initialize** — `vise init` writes the `sp-vise/` compliance contract. While blocking questions are unanswered it refuses, returns `status: "needs-clarification"`, and exits 7 — the agent must ask instead of guessing.
|
|
74
|
+
4. **Build** — the agent edits your code, grounded by `vise search-docs` and `vise get-doc-page`.
|
|
75
|
+
5. **Check & repair** — `vise check` reports deterministic findings, completeness gaps, and attestation needs. The agent fixes findings or records attestations with evidence, looping until green.
|
|
76
|
+
6. **Sense** — `vise run-sensors` runs your project's own typecheck/build/lint/SDK smokes. Done means the contract and evidence are committed, not just that the agent stopped.
|
|
169
77
|
|
|
170
|
-
|
|
78
|
+
### Three validation layers
|
|
171
79
|
|
|
172
|
-
|
|
173
|
-
|---|---|
|
|
174
|
-
| **Creative pre-planning** | `vise creative` produces requirements-driven or exploratory Engagement Intelligence briefs, writes `sp-vise/creative-brief.json` / `.md`, asks for `preferred_solution`, and survives packed-package installation with the intelligence catalog bundled. |
|
|
175
|
-
| **Creative selection bridge** | `vise creative accept --variant <id>` writes `sp-vise/creative-selection.json` and `sp-vise/ux-harness.json`; matching `vise plan`, `vise init`, and `vise workplan next` runs surface the accepted variant, UX expectations, derive workplan surfaces from its experience objects, and mirror the selection into `sp-vise/intake.json`. |
|
|
176
|
-
| **Product flow** | Local end-to-end smoke covers design extraction, plan feed-forward, blocking intake, answered init, capability check, design conformance, and sensor discovery. |
|
|
177
|
-
| **Multi-surface planning** | Broad social requests are decomposed into a `socialWorkplan` sequence for feed, comments, chat, and profile work instead of forcing a single top-level surface choice. `vise workplan next` tells the host agent which surface to implement next, and `vise workplan complete` records green-check progress in `sp-vise/workplan.json` with per-surface snapshots under `sp-vise/workplan-snapshots/<surface>/`. |
|
|
178
|
-
| **Plan questions** | Plans surface blocking questions such as `design_contract_confirmation`, product-scope questions such as `feed_post_type_scope`, `feed_composer_type_scope`, `comment_tray_scope`, `chat_inbox_scope`, and `profile_identity_scope`, plus optional choices such as `feed_optional_capabilities`. Focused plans still accept `feature_surface` answers when the agent is ready to implement one surface. |
|
|
179
|
-
| **Capability-to-sensor flow** | Vise checks platform support, matches the prompt to available capabilities, offers supported features as questions, records answers, and turns selected answers into sensors in `vise check`. |
|
|
180
|
-
| **Experience Score calibration guard** | Experience Report, Experience Sensors, and Learning Engine snapshots keep `score: null`, while `learning-summary.json` keeps `recommendationOptimization.status: "not-active"`. The shadow benchmark has 70 measured cells; `shadow-policy-v2-draft` independently ranked expected variants first in 21/21 registered ranking/cross-platform cells, its human gate package has named product FP/FN and privacy sign-off recorded, and runtime exposure is limited to the opt-in local `vise creative --ranking-preview` artifact. |
|
|
181
|
-
| **Android workplan dogfood** | A brownfield Android music-player app refreshed under `0.14.24` reached `vise check` green with **43/43 deterministic passes** on the focused feed surface and recorded a green-check workplan snapshot. This is dogfood evidence, not a controlled multi-agent benchmark. |
|
|
182
|
-
| **Shared product expectations** | Public IDs such as `feed.target-resolved`, `feed.post-type-scope-explicit`, `comments.creation-affordance`, `chat.channel-list-order-explicit`, `community.avatar-from-sdk`, `moderation.role-gated-action`, `follow.relationship-live`, `profile.identity-from-sdk`, `profile.social-counts`, and `notifications.tray-live` stay platform-agnostic while check results retain concrete `contractRuleId` and `validator.sensorId` evidence when deterministic sensors exist. |
|
|
183
|
-
| **Rule detection** | TP-track dashboard detects **321/321 seeded rule gaps (100.0%)** in the static corpus. |
|
|
184
|
-
| **Packed-package smoke** | Packed-package and host-agent smokes exercise the release tarball path, surfaced plan questions, selected optional capability sensors, rejected design confirmation handling, and exact contract-rule evidence for shared product expectations. |
|
|
185
|
-
|
|
186
|
-
### Supporting Proof
|
|
187
|
-
|
|
188
|
-
| Surface | Safe claim | Evidence |
|
|
189
|
-
|---|---|---|
|
|
190
|
-
| **Feature completeness** | Vise helps agents build more of the expected SDK capability surface. | Latest comparison: **21-30% without Vise vs 97-100% with Vise**, with **98/99** expected feed capabilities implemented in aggregate. Earlier Capability Matrix work also showed silently dropped items falling from 7.67/11 to 4.0/11. |
|
|
191
|
-
| **SDK compliance** | Vise checks catch greenfield SDK compliance gaps that docs or static guidance can miss. | Commune benchmark: Vise averaged **100% greenfield SDK compliance** where docs/RAG-style controls averaged **67%** across the reported slices. |
|
|
192
|
-
| **Design conformance** | Vise design checks reduce design drift under ambiguous briefs. | Ambiguous Spotify-style design test: Vise design runs produced **0 / 0 / 0 hex literals** across three seeds; without Vise, runs varied **0 / 2 / 15**. This supports variance reduction, not pixel-perfect visual quality. |
|
|
193
|
-
| **Candidate ranking calibration** | Vise can optionally preview `shadow-policy-v2-draft` ranking for surfaced creative variants, without changing default runtime recommendations. | Experience calibration track: **70 measured cells**. `shadow-policy-v2-draft` ranked the expected variant first in **21/21** cells, produced **14** improvement opportunities, has named product approval for **5** thin-margin event-first-over-creator-first cells plus named privacy approval for the benchmark evidence boundary, and is exposed only through explicit `--ranking-preview`. Current local dogfood has **18** prompts (ten archetypes, all **ten** variants — seven available, three gamification gated): of the **14** available-variant cases, **13** aligned and **1** declared near-miss (in the opt-in preview only; the keyword default and the agent both pick the human-correct variant), **0** undeclared ranking concerns, **0** candidate-surfacing gaps; the other **4** gamification cases are gated, and the paired positive control shows the preview correctly elevating the human-correct variant over the keyword default; default activation remains disabled. |
|
|
80
|
+
The layer is set by the *kind of claim*, which keeps Vise false-positive-free where it gates:
|
|
194
81
|
|
|
195
|
-
|
|
82
|
+
| Layer | Claim | How | Enforcement |
|
|
83
|
+
|---|---|---|---|
|
|
84
|
+
| **SDK compliance** | "this is **wrong**" | 300+ deterministic rules (session renewal, live-collection vs one-shot, secret hygiene, parent-child rendering, ban-state gating…) | **Hard gate** — `vise check` blocks until green or attested; a small advisory subset never blocks |
|
|
85
|
+
| **Feature completeness** | "this is **missing**" | A narrow mandatory baseline per outcome (pagination for feeds, a composer for comments, send + read state for chat, SDK-backed counts for profiles); richer capabilities are explicit opt-ins from `vise plan` | **Decision gate** — `vise check` exits `completeness-gap` until each baseline item is built or opted out with `// vise: scope-omit <id> — <reason>` |
|
|
86
|
+
| **Design conformance** | "this **looks off**" | Extract your design system into a contract, confirm a preview, then check token usage | **Advisory** — `vise design check`/`preview`; never fails a build |
|
|
196
87
|
|
|
197
|
-
|
|
88
|
+
Correctness is gated by deterministic rules or attestations; completeness is gated by explicit scope decisions; conformance stays advisory because "matches the brand" is legitimately subjective. `vise explain <ruleId>` prints any rule's rationale, evidence requirements, and remediation.
|
|
198
89
|
|
|
199
|
-
|
|
200
|
-
2. **Plan** — Vise classifies the outcome, asks blocking intake questions, checks platform capability availability, and offers optional features only when the platform SDK surface supports them.
|
|
201
|
-
3. **Confirm design** — `vise design extract` writes a preview; `plan`/`init` withhold design feed-forward until the user confirms `design_contract_confirmation=yes`.
|
|
202
|
-
4. **Initialize** — `vise init` records the resolved compliance contract, intake answers, selected optional capabilities, inspection result, and accepted design digest.
|
|
203
|
-
5. **Build / check / repair** — selected answers become sensors. The agent edits locally, runs `vise check`, fixes deterministic findings, resolves completeness gaps or selected-capability failures, and then runs project sensors.
|
|
90
|
+
**Supported outcomes:** feed · comments · chat · moderation · community · social graph (follow) · in-app notifications · plus setup (SDK, push, live data). `vise plan`/`init` classify the request and tailor the plan, rules, and feature checklist.
|
|
204
91
|
|
|
205
|
-
|
|
92
|
+
### Design contracts
|
|
206
93
|
|
|
207
|
-
|
|
94
|
+
Vise can ingest your aesthetic from an HTML/CSS prototype (`vise design extract`) or from the host app's own design system across web, Android, Flutter, and iOS (`vise design extract --from-project`). The contract is **advisory input for generation**, never an enforcement gate, and it feeds forward into plans only after you confirm the generated preview with `--answer design_contract_confirmation=yes`. For social.plus-specific styling, `vise design init-tokens` scaffolds a dedicated, customer-editable token file (`src/styles/social-plus-tokens.css`) — edit it, re-extract, and future builds inherit the palette with no agent in the loop.
|
|
208
95
|
|
|
209
|
-
|
|
96
|
+
## Evidence
|
|
210
97
|
|
|
211
|
-
-
|
|
212
|
-
- **Capability Matrix v1** remains the pre-registered follow-up. It shipped the Row 2 feature-completeness claim, found **no Row 1 SDK-compliance claim** on chat/moderation/push under its registered margin, and withheld the Row 3 design claim on a technicality despite higher by-name token use.
|
|
213
|
-
- **Commune Phase 1** remains useful historical evidence for the compliance loop: two agents reached 9/9 with Vise vs 5-7/9 under controls, but it was N=1 per cell and the grader overlaps Vise's own rules.
|
|
214
|
-
- **Design tests** support design-drift reduction and token cleanup. They do not prove visual taste, pixel perfection, or production-ready UI without human review.
|
|
215
|
-
- **Negative results must travel with the claim:** no measured Vise advantage on day-2 bug fixing; the push slice exposed a non-converging attestation loop when docs and SDK disagreed; earlier enumerative plan-time design guidance measured negative and was retracted; the original `scope-omit` affordance went unused in the matrix.
|
|
98
|
+
Feed-completeness benchmark — same feed request, same SDK docs, with and without the Vise workflow (Vise arm explicitly selected optional capabilities):
|
|
216
99
|
|
|
217
|
-
|
|
100
|
+
| Agent / model | Docs-only baseline | With Vise |
|
|
101
|
+
|---|---:|---:|
|
|
102
|
+
| Cursor / Composer 2.5 | 30% (3.3/11 avg) | **97%** (32/33) |
|
|
103
|
+
| Claude / Sonnet 4.6 | 27% (3.0/11 avg) | **100%** (33/33) |
|
|
104
|
+
| Codex / GPT-5.4 | 21% (2.3/11 avg) | **100%** (33/33) |
|
|
218
105
|
|
|
219
|
-
|
|
220
|
-
|---|---|---|
|
|
221
|
-
| Building new social features with an AI agent | **Vise CLI + Skill** | This is the full governed workflow measured by the benchmarks. |
|
|
222
|
-
| Auditing existing social.plus code | `vise check --ci` | Grades any codebase against the recorded compliance contract. |
|
|
223
|
-
| Enforcing compliance in CI | `vise check --ci` | Exits non-zero on deterministic failures, missing baseline capabilities, failed selected optional sensors, blockers, or drift. |
|
|
106
|
+
Aggregate: **98/99** expected feed capabilities and **27/27** selected optional capabilities implemented across the Vise arm.
|
|
224
107
|
|
|
225
|
-
|
|
108
|
+
- **SDK compliance:** Vise averaged **100%** greenfield compliance where docs/RAG-style controls averaged **67%** (Commune benchmark).
|
|
109
|
+
- **Design drift:** under an ambiguous brief, Vise design runs produced **0/0/0** hex literals across seeds vs **0/2/15** without — variance reduction, not pixel perfection.
|
|
110
|
+
- **Boundaries:** these are best-case/opt-in comparisons for greenfield social.plus work, not universal claims. Negative results travel with the claims — e.g. no measured advantage on day-2 bug fixing. What Vise reliably changes is the **stopping condition**: the agent isn't done when code compiles; it's done when the local contract is green, attested, or blocked on explicit customer input.
|
|
226
111
|
|
|
227
112
|
## Supported Platforms
|
|
228
113
|
|
|
@@ -232,180 +117,87 @@ The benchmark suite is intentionally reported with boundaries:
|
|
|
232
117
|
| **React Native** | ✅ Full | `tsc`, `npm lint`, SDK import smoke |
|
|
233
118
|
| **Flutter / Dart** | ✅ Full | `flutter analyze`, `flutter test` |
|
|
234
119
|
| **Android (Kotlin)** | ✅ Full | Gradle assemble, unit tests |
|
|
235
|
-
| **iOS (Swift)** | ✅ Full | Static
|
|
120
|
+
| **iOS (Swift)** | ✅ Full | Static rules fully operational (tree-sitter AST for highest-risk rules); build sensor is guarded best-effort — runs only when `xcodebuild` is available, reports environment issues as skipped-with-reason, and still fails on real build errors |
|
|
236
121
|
|
|
237
122
|
Each platform has dozens of rules across 10 compliance domains (feed, comments, moderation, chat, secrets, session & auth, notifications, live objects, logging hygiene, design tokens).
|
|
238
123
|
|
|
239
|
-
---
|
|
240
|
-
|
|
241
|
-
## Installation
|
|
242
|
-
|
|
243
|
-
### Install the CLI
|
|
244
|
-
|
|
245
|
-
```sh
|
|
246
|
-
npm install -g @amityco/social-plus-vise
|
|
247
|
-
vise doctor # verify install
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
Or install per-project:
|
|
251
|
-
|
|
252
|
-
```sh
|
|
253
|
-
npm install -D @amityco/social-plus-vise
|
|
254
|
-
npx vise --help
|
|
255
|
-
```
|
|
256
|
-
|
|
257
|
-
### Install the Skill Into Your Coding Tool
|
|
258
|
-
|
|
259
|
-
The skill is what teaches your AI agent how to use Vise. Pick the matching host:
|
|
260
|
-
|
|
261
|
-
| Host | Install command |
|
|
262
|
-
|---|---|
|
|
263
|
-
| Claude Code (personal scope) | `vise install-skill --target claude` |
|
|
264
|
-
| Claude Code (project scope) | `vise install-skill --target claude-project .` |
|
|
265
|
-
| OpenAI Codex | `vise install-skill --target codex` |
|
|
266
|
-
| Cursor (native skills) | `vise install-skill --target cursor .` |
|
|
267
|
-
| Cursor (legacy rules) | `vise install-skill --target cursor-rules .` |
|
|
268
|
-
| GitHub Copilot / VS Code | `vise install-skill --target vscode .` |
|
|
269
|
-
| Copilot CLI / project | `vise install-skill --target copilot .` |
|
|
270
|
-
| Generic agent project | `vise install-skill --target agents .` |
|
|
271
|
-
| Other coding agents | `vise print-skill` (paste output into the host's project instructions) |
|
|
272
|
-
|
|
273
|
-
The skill is plain Markdown; you can read it any time with `vise print-skill`.
|
|
274
|
-
|
|
275
|
-
---
|
|
276
|
-
|
|
277
|
-
## Usage Flow
|
|
278
|
-
|
|
279
|
-
```mermaid
|
|
280
|
-
flowchart LR
|
|
281
|
-
A[User asks AI agent<br/>'Add a social feed'] --> B[Agent runs<br/>vise inspect]
|
|
282
|
-
B --> C[Agent runs<br/>vise plan --request "..."]
|
|
283
|
-
C --> D{Blocking intake<br/>or design preview?}
|
|
284
|
-
D -->|Yes| E[Agent surfaces questions<br/>and opens design preview<br/>for user confirmation]
|
|
285
|
-
D -->|No| F
|
|
286
|
-
E --> F[Agent reruns plan/init<br/>with answers]
|
|
287
|
-
F --> G[Agent runs<br/>vise search-docs<br/>vise get-doc-page]
|
|
288
|
-
G --> H[Agent edits<br/>your code]
|
|
289
|
-
H --> I[Agent runs<br/>vise check]
|
|
290
|
-
I --> J{Green?}
|
|
291
|
-
J -->|No, fixable| K[Agent fixes<br/>findings, completeness gaps,<br/>or selected sensors]
|
|
292
|
-
K --> I
|
|
293
|
-
J -->|No, attest| L[Agent calls<br/>vise attest with<br/>evidence]
|
|
294
|
-
L --> I
|
|
295
|
-
J -->|Yes| M[Agent runs<br/>vise run-sensors]
|
|
296
|
-
M --> N[Done.<br/>sp-vise/ contract<br/>and evidence committed]
|
|
297
|
-
```
|
|
298
|
-
|
|
299
|
-
The flow above is what the skill teaches your AI agent. You — the human — drive intent, answer scope questions, and approve the design preview before Vise feeds a design contract forward. The agent runs Vise commands deterministically; Vise grounds the agent in real docs and real compliance rules. If blocking intake or design confirmation is still unresolved, `vise init` refuses to initialize, returns `status: "needs-clarification"`, and exits 7 so the agent must surface the questions instead of guessing.
|
|
300
|
-
|
|
301
|
-
---
|
|
302
|
-
|
|
303
124
|
## CLI Reference
|
|
304
125
|
|
|
305
|
-
|
|
126
|
+
Run `vise <command> --help` for full flags. JSON output is the default for agent-facing commands.
|
|
127
|
+
|
|
128
|
+
### Inspect, plan, initialize
|
|
306
129
|
|
|
307
130
|
| Command | Purpose |
|
|
308
131
|
|---|---|
|
|
309
132
|
| `vise doctor` | Verify install; print version, install path, docs source |
|
|
310
133
|
| `vise inspect [path]` | Detect platform, monorepo surfaces, design signals, available sensors |
|
|
311
|
-
| `vise
|
|
312
|
-
| `vise
|
|
313
|
-
| `vise
|
|
314
|
-
| `vise
|
|
315
|
-
| `vise
|
|
316
|
-
| `vise
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
| `vise plan [path] --request "..."` | Produce a grounded implementation plan with intake questions and docs citations |
|
|
320
|
-
| `vise plan-harness [path] --request "..."` | (Pre-planning step) Build the harness around the request |
|
|
321
|
-
| `vise workplan next [path] --request "..."` | For broad social requests, print the next uncompleted surface plus focused `plan` / `init` / verification commands |
|
|
322
|
-
| `vise workplan status [path] --request "..."` | Show the broad social workplan sequence and which surfaces are already marked complete |
|
|
323
|
-
| `vise workplan complete [path] --request "..." --surface <id>` | Record a completed workplan surface after green `vise check`; writes progress to `sp-vise/workplan.json` and snapshots the active sidecar under `sp-vise/workplan-snapshots/<surface>/` |
|
|
324
|
-
| `vise init [path] --request "..." [--answer key=value]` | Write the `sp-vise/` compliance contract after blocking intake is answered; returns `needs-clarification` and exits 7 if required answers are missing |
|
|
325
|
-
| `vise blocks list --registry <path>` | Read a social.plus Block Factory registry |
|
|
326
|
-
| `vise blocks plan [path] --block <id> --registry <path>` | Plan safe block package, source-anchor, sidecar, and sensor changes |
|
|
327
|
-
| `vise blocks add [path] --block <id> --registry <path> [--dry-run\|--apply]` | Dry-run or apply safe block installation inside a customer project |
|
|
328
|
-
| `vise blocks validate [path] [--block <id>] --registry <path>` | Validate installed block sidecar state, package presence, and source anchors |
|
|
329
|
-
|
|
330
|
-
### Design contract (UI generation)
|
|
134
|
+
| `vise plan [path] --request "..."` | Grounded implementation plan with intake questions and docs citations |
|
|
135
|
+
| `vise plan-harness [path] --request "..."` | Pre-planning step: build the harness around the request |
|
|
136
|
+
| `vise init [path] --request "..." [--answer key=value]` | Write the `sp-vise/` compliance contract once blocking intake is answered; exits 7 (`needs-clarification`) otherwise |
|
|
137
|
+
| `vise workplan next [path] --request "..."` | For broad social requests: print the next uncompleted surface and its focused commands |
|
|
138
|
+
| `vise workplan status [path] --request "..."` | Show the workplan sequence and completed surfaces |
|
|
139
|
+
| `vise workplan complete [path] --request "..." --surface <id>` | Record a green-checked surface; snapshots evidence under `sp-vise/workplan-snapshots/<surface>/` |
|
|
140
|
+
|
|
141
|
+
### Creative pre-planning (advisory)
|
|
331
142
|
|
|
332
143
|
| Command | Purpose |
|
|
333
144
|
|---|---|
|
|
334
|
-
| `vise
|
|
335
|
-
| `vise
|
|
336
|
-
| `vise
|
|
337
|
-
| `vise
|
|
338
|
-
| `vise
|
|
339
|
-
| `vise
|
|
145
|
+
| `vise creative [path] --request "..." [--requirements <path\|none>] [--prototype <html>] [--ranking-preview]` | Write an advisory Engagement Intelligence brief with candidate solution variants; `--ranking-preview` adds an opt-in, local-only ranking preview that never reorders the default candidates |
|
|
146
|
+
| `vise creative accept [path] --variant <id>` | Record the selected variant so `plan`/`init`/`workplan` carry it forward; `--variant none --rationale "..."` records a catalog-gap signal instead |
|
|
147
|
+
| `vise ux-harness [path]` | Generate advisory UX expectations from the accepted selection |
|
|
148
|
+
| `vise experience compile [path]` | Compile the accepted variant into an implementation artifact plan |
|
|
149
|
+
| `vise experience sensors [path]` | Write an advisory multi-dimension sensor framework (no calibrated score) |
|
|
150
|
+
| `vise experience-report [path]` | Write an advisory dimensioned review report (no calibrated score) |
|
|
151
|
+
| `vise learning record [path]` | Append a local-only learning event; refreshes the learning summary |
|
|
152
|
+
| `vise learning show [path]` | Read the local learning summary (never changes recommendations) |
|
|
340
153
|
|
|
341
|
-
|
|
154
|
+
Everything in this group is local and advisory: no uploads, no `vise check` exit-code changes, no auto-accepted variants, and no calibrated score until the calibration program graduates one.
|
|
342
155
|
|
|
343
|
-
###
|
|
156
|
+
### Design contract
|
|
157
|
+
|
|
158
|
+
| Command | Purpose |
|
|
159
|
+
|---|---|
|
|
160
|
+
| `vise design extract <prototypePath> [--repo .] [--no-write]` | Extract a graded design contract + visual preview from an HTML/CSS prototype |
|
|
161
|
+
| `vise design extract --from-project [path] [--no-write]` | Derive the contract from the project's own design system: CSS custom properties (incl. shadcn/Tailwind v4 `@theme`), TS/JS token modules, Android `colors.xml`/`dimens.xml`, Flutter `Color(0x…)`, iOS `.colorset`/Swift colors |
|
|
162
|
+
| `vise design check [path]` | Advisory token-conformance report; never fails a build |
|
|
163
|
+
| `vise design preview [path] [--reference <prototype>]` | Write a self-contained visual review (`sp-vise/design-preview.html`) for human/VLM judgment |
|
|
164
|
+
| `vise design reference [path] [--title <name>]` | Write a self-contained design-system spec: swatches, type samples, component demos |
|
|
165
|
+
| `vise design init-tokens [path] [--force]` | Scaffold `src/styles/social-plus-tokens.css` (greenfield defaults or seeded from existing tokens); idempotent |
|
|
166
|
+
|
|
167
|
+
### Docs grounding & troubleshooting
|
|
344
168
|
|
|
345
169
|
| Command | Purpose |
|
|
346
170
|
|---|---|
|
|
347
171
|
| `vise search-docs "<query>"` | Search social.plus docs for relevant pages |
|
|
348
172
|
| `vise get-doc-page <path>` | Fetch a specific doc page by path |
|
|
349
|
-
| `vise debug [path] --error "..." [--brief]` |
|
|
173
|
+
| `vise debug [path] --error "..." [--brief]` | Diagnose an SDK-specific runtime failure; `--brief` returns the likely rule, minimal patch shape, and verification commands |
|
|
350
174
|
|
|
351
175
|
### Compliance verification
|
|
352
176
|
|
|
353
177
|
| Command | Purpose |
|
|
354
178
|
|---|---|
|
|
355
|
-
| `vise check [path]` | Re-validate against the recorded contract
|
|
356
|
-
| `vise check [path] --ci` |
|
|
357
|
-
| `vise validate [path]` | Run the deterministic validators (
|
|
179
|
+
| `vise check [path]` | Re-validate against the recorded contract: `green`, `needs-attestation`, `deterministic-failures`, `blocked`, or `contract-drift` |
|
|
180
|
+
| `vise check [path] --ci` | Read-only variant that exits non-zero unless green (for CI) |
|
|
181
|
+
| `vise validate [path]` | Run the deterministic validators only (no attestation comparison) |
|
|
358
182
|
| `vise sync [path]` | Persist deterministic-pass evidence to `sp-vise/attestations/` |
|
|
359
|
-
| `vise attest [path] --rule <id> --signer host-agent --confidence high --evidence-file evidence.json --rationale "..."` | Record an attestation when a rule passes through
|
|
360
|
-
| `vise explain <ruleId>` | Print
|
|
183
|
+
| `vise attest [path] --rule <id> --signer host-agent --confidence high --evidence-file evidence.json --rationale "..."` | Record an attestation when a rule passes through architecture the deterministic check can't see |
|
|
184
|
+
| `vise explain <ruleId>` | Print a rule's rationale, evidence requirements, and remediation |
|
|
361
185
|
| `vise status [path]` | Summarize the current compliance state |
|
|
362
186
|
|
|
363
|
-
### Sensors
|
|
364
|
-
|
|
365
|
-
| Command | Purpose |
|
|
366
|
-
|---|---|
|
|
367
|
-
| `vise run-sensors [path]` | Run detected project scripts/wrappers (npm scripts, Gradle, Flutter, lint, typecheck, SDK import smokes); inspect with `--dry-run` before running in an untrusted project |
|
|
368
|
-
| `vise run-sensors [path] --dry-run` | List what would run without executing |
|
|
369
|
-
|
|
370
|
-
### Troubleshooting quick loop
|
|
371
|
-
|
|
372
|
-
For SDK-specific runtime issues, start with the compact debug flow before broader repo exploration:
|
|
373
|
-
|
|
374
|
-
```sh
|
|
375
|
-
vise debug . --error-file logs/crash.log --brief
|
|
376
|
-
vise check . --ci
|
|
377
|
-
vise run-sensors .
|
|
378
|
-
```
|
|
379
|
-
|
|
380
|
-
`vise debug --brief` returns the likely rule, minimum patch shape, invariants to preserve, and verification commands for the first repair pass.
|
|
381
|
-
|
|
382
|
-
### Skill management
|
|
187
|
+
### Sensors, skill, engagement, server
|
|
383
188
|
|
|
384
189
|
| Command | Purpose |
|
|
385
190
|
|---|---|
|
|
386
|
-
| `vise
|
|
191
|
+
| `vise run-sensors [path] [--dry-run]` | Run detected project scripts (npm, Gradle, Flutter, lint, typecheck, SDK smokes); `--dry-run` lists without executing |
|
|
192
|
+
| `vise install-skill --target <host>` | Install the bundled skill into a coding host (see [Quick Start](#quick-start)) |
|
|
387
193
|
| `vise print-skill` | Print the skill markdown to stdout |
|
|
388
|
-
|
|
389
|
-
### Engagement scope (optional contractual metadata)
|
|
390
|
-
|
|
391
|
-
| Command | Purpose |
|
|
392
|
-
|---|---|
|
|
393
|
-
| `vise engagement init [path] [--tier ...] [--customer-id ...] [--scope ...]` | Record the contractual scope for this integration |
|
|
194
|
+
| `vise engagement init [path] [--tier ...] [--customer-id ...] [--scope ...]` | Record optional contractual scope metadata |
|
|
394
195
|
| `vise engagement show [path]` | Print the recorded engagement metadata |
|
|
395
|
-
|
|
396
|
-
### MCP server
|
|
397
|
-
|
|
398
|
-
| Command | Purpose |
|
|
399
|
-
|---|---|
|
|
400
196
|
| `vise mcp` | Start the stdio MCP compatibility adapter |
|
|
401
197
|
|
|
402
|
-
---
|
|
403
|
-
|
|
404
198
|
## MCP Integration
|
|
405
199
|
|
|
406
|
-
MCP-capable hosts can call Vise as structured tool calls instead of shell commands
|
|
407
|
-
|
|
408
|
-
### Config
|
|
200
|
+
MCP-capable hosts can call Vise as structured tool calls instead of shell commands:
|
|
409
201
|
|
|
410
202
|
```json
|
|
411
203
|
{
|
|
@@ -418,17 +210,13 @@ MCP-capable hosts can call Vise as structured tool calls instead of shell comman
|
|
|
418
210
|
}
|
|
419
211
|
```
|
|
420
212
|
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
`inspect_project`, `creative_brief`, `creative_accept`, `ux_harness`, `compile_experience`, `experience_sensors`, `plan_harness`, `plan_integration`, `init_compliance`, `check_compliance`, `experience_report`, `record_learning`, `show_learning`, `sync_compliance`, `attest_rule`, `explain_rule`, `init_engagement`, `show_engagement`, `resolve_request`, `search_docs`, `get_doc_page`, `debug_issue`, `validate_setup`, `run_sensors`, `suggest_patch`, `design_extract`, `design_check`, `design_preview`, `design_reference`, `design_init_tokens`.
|
|
213
|
+
Tool names (snake_case per MCP convention): `inspect_project`, `creative_brief`, `creative_accept`, `ux_harness`, `compile_experience`, `experience_sensors`, `plan_harness`, `plan_integration`, `init_compliance`, `check_compliance`, `experience_report`, `record_learning`, `show_learning`, `sync_compliance`, `attest_rule`, `explain_rule`, `init_engagement`, `show_engagement`, `search_docs`, `get_doc_page`, `debug_issue`, `validate_setup`, `run_sensors`, `design_extract`, `design_check`, `design_preview`, `design_reference`, `design_init_tokens`.
|
|
424
214
|
|
|
425
|
-
These
|
|
426
|
-
|
|
427
|
-
---
|
|
215
|
+
These mirror the CLI commands above. The adapter still answers the legacy `resolve_request` and `suggest_patch` names, but they are deprecated in favour of `plan_integration` plus host-tool edits.
|
|
428
216
|
|
|
429
217
|
## CI Compliance
|
|
430
218
|
|
|
431
|
-
|
|
219
|
+
Commit `sp-vise/` to your repository, then add `vise check --ci` to your pipeline:
|
|
432
220
|
|
|
433
221
|
```yaml
|
|
434
222
|
name: Vise Compliance
|
|
@@ -450,53 +238,46 @@ jobs:
|
|
|
450
238
|
- run: vise check . --ci
|
|
451
239
|
```
|
|
452
240
|
|
|
453
|
-
|
|
241
|
+
`vise check --ci` is read-only — it never updates `sp-vise/` — and its JSON output includes a structured `ci` block for pipeline logs.
|
|
454
242
|
|
|
455
|
-
|
|
|
243
|
+
| Exit code | Meaning |
|
|
456
244
|
|---|---|
|
|
457
|
-
| `0` | All rules pass
|
|
245
|
+
| `0` | All rules pass; baseline capabilities present or opted-out; selected optional capabilities pass |
|
|
458
246
|
| `1` | One or more rules need attestation |
|
|
459
247
|
| `2` | One or more rules have deterministic failures |
|
|
460
248
|
| `3` | One or more blockers fired (missing prerequisite, e.g. `google-services.json`) |
|
|
461
|
-
| `4` | Contract drift — rules
|
|
462
|
-
| `5` |
|
|
463
|
-
| `6` |
|
|
464
|
-
|
|
465
|
-
`vise check --ci` is read-only. It never updates `sp-vise/`. The JSON output includes a `ci` block with structured details for pipeline logs.
|
|
466
|
-
|
|
467
|
-
---
|
|
249
|
+
| `4` | Contract drift — recorded rules no longer match the current ruleset |
|
|
250
|
+
| `5` | Baseline capability neither implemented nor opted-out (add it or place `// vise: scope-omit <id> — <reason>`) |
|
|
251
|
+
| `6` | An explicitly selected optional capability failed its source sensors |
|
|
468
252
|
|
|
469
253
|
## Compliance Contract
|
|
470
254
|
|
|
471
|
-
Vise writes local planning, compliance, design, and evidence artifacts under `sp-vise/`.
|
|
255
|
+
Vise writes local planning, compliance, design, and evidence artifacts under `sp-vise/`. These files become part of your repo and travel through code review — **commit them**. `vise check` re-validates against the recorded contract on every run, so a code change that breaks a rule surfaces as `deterministic-fail`, `attestation-needed`, or `blocked` — never a silent regression.
|
|
472
256
|
|
|
473
257
|
| File | Created by | What it contains |
|
|
474
258
|
|---|---|---|
|
|
475
|
-
| `sp-vise/compliance.json` | `vise init` |
|
|
476
|
-
| `sp-vise/intake.json` | `vise init` |
|
|
477
|
-
| `sp-vise/
|
|
478
|
-
| `sp-vise/
|
|
479
|
-
| `sp-vise/
|
|
480
|
-
| `sp-vise/
|
|
481
|
-
| `sp-vise/
|
|
482
|
-
| `sp-vise/
|
|
483
|
-
| `sp-vise/
|
|
484
|
-
| `sp-vise/experience-
|
|
485
|
-
| `sp-vise/experience-
|
|
486
|
-
| `sp-vise/
|
|
487
|
-
| `sp-vise/learning-
|
|
488
|
-
| `sp-vise/
|
|
489
|
-
| `sp-vise/
|
|
490
|
-
| `sp-vise/workplan
|
|
491
|
-
| `sp-vise/
|
|
492
|
-
| `sp-vise/design-
|
|
493
|
-
| `sp-vise/design-
|
|
494
|
-
| `sp-vise/
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
**Commit `sp-vise/` to your repo.** `vise check` re-validates against the recorded contract on every run, comparing current code against the recorded attestations. If code changes and breaks a rule, the next `check` reports `deterministic-fail`, `attestation-needed`, or `blocked` — never a silent regression.
|
|
498
|
-
|
|
499
|
-
If a rule passes through customer-specific architecture the validator can't see (a DI wrapper, an unconventional file layout, etc.), record an attestation:
|
|
259
|
+
| `sp-vise/compliance.json` | `vise init` | Selected rules, ruleset digest, app surface, selected optional capabilities, accepted design digest |
|
|
260
|
+
| `sp-vise/intake.json` | `vise init` | Request, outcome, intake answers, design-review status |
|
|
261
|
+
| `sp-vise/inspection.json` | `vise init` | Platform, surface, and design signals detected at init |
|
|
262
|
+
| `sp-vise/attestations/*.json` | `vise sync` / `vise attest` | Per-rule evidence: signer, confidence, rationale, source fingerprints for drift detection |
|
|
263
|
+
| `sp-vise/creative-brief.json` + `creative-brief.md` | `vise creative` | Advisory brief: goals, archetypes, candidate variants (JSON + human-readable) |
|
|
264
|
+
| `sp-vise/candidate-ranking-preview.json` | `vise creative --ranking-preview` | Opt-in local ranking preview; `experience_score: null`, no uploads, no default-order change |
|
|
265
|
+
| `sp-vise/creative-selection.json` | `vise creative accept` | Accepted variant and plan/workplan feed-forward context |
|
|
266
|
+
| `sp-vise/catalog-gap.json` | `vise creative accept --variant none` | Local-only no-fit signal for human catalog review |
|
|
267
|
+
| `sp-vise/ux-harness.json` | `vise creative accept` or `vise ux-harness` | Advisory UX pattern expectations and anti-patterns |
|
|
268
|
+
| `sp-vise/experience-compiler.json` | `vise experience compile` | Advisory implementation plan: install guidance, surfaces, validation commands |
|
|
269
|
+
| `sp-vise/experience-sensors.json` | `vise experience sensors` | Advisory sensor framework; `score: null` until calibrated |
|
|
270
|
+
| `sp-vise/experience-report.json` | `vise experience-report` | Advisory dimensioned review; `score: null` until calibrated |
|
|
271
|
+
| `sp-vise/learning-events.jsonl` | `vise learning record` | Append-only, local-only learning event log |
|
|
272
|
+
| `sp-vise/learning-summary.json` | `vise learning record` | Derived summary; `recommendationOptimization.status: "not-active"` |
|
|
273
|
+
| `sp-vise/workplan.json` | `vise workplan complete` | Broad-request progress: completed surfaces, green-check evidence |
|
|
274
|
+
| `sp-vise/workplan-snapshots/<surface>/` | `vise workplan complete` | Per-surface snapshots so later focused surfaces don't erase earlier proof |
|
|
275
|
+
| `sp-vise/design-contract.json` | `vise design extract` | Extracted tokens, breakpoints, source digests, stable design digest |
|
|
276
|
+
| `sp-vise/design-preview.html` | `vise design extract` / `preview` | Self-contained visual review; open before answering `design_contract_confirmation` |
|
|
277
|
+
| `sp-vise/design-reference.html` | `vise design reference` | Self-contained design-system spec (swatches, type, components) |
|
|
278
|
+
| `sp-vise/engagement.json` | `vise engagement init` (optional) | Contractual scope: tier, customer ID, outcomes, reviewer |
|
|
279
|
+
|
|
280
|
+
If a rule passes through customer-specific architecture the validator can't see (a DI wrapper, an unconventional layout), record an attestation:
|
|
500
281
|
|
|
501
282
|
```sh
|
|
502
283
|
vise attest . \
|
|
@@ -507,27 +288,18 @@ vise attest . \
|
|
|
507
288
|
--rationale "Region is read from NEXT_PUBLIC_AMITY_REGION env var in lib/amity.ts:6"
|
|
508
289
|
```
|
|
509
290
|
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
---
|
|
513
|
-
|
|
514
|
-
## Changelog
|
|
515
|
-
|
|
516
|
-
See [`CHANGELOG.md`](./CHANGELOG.md) for the full version history.
|
|
517
|
-
|
|
518
|
-
---
|
|
291
|
+
Attestations record SHA-256 source fingerprints of cited files, so later edits to those files invalidate the attestation automatically.
|
|
519
292
|
|
|
520
293
|
## Support
|
|
521
294
|
|
|
295
|
+
- **Documentation:** [https://learn.social.plus](https://learn.social.plus) — the same corpus `vise search-docs` grounds agents in.
|
|
522
296
|
- **Bugs / feature requests:** contact your social.plus account team or file an issue with your integration partner.
|
|
523
|
-
- **
|
|
524
|
-
- **
|
|
525
|
-
|
|
526
|
-
---
|
|
297
|
+
- **Skill installation issues:** `vise doctor` prints diagnostics; share the output with support.
|
|
298
|
+
- **Version history:** `CHANGELOG.md` ships inside the installed package.
|
|
527
299
|
|
|
528
300
|
## License
|
|
529
301
|
|
|
530
|
-
Proprietary
|
|
302
|
+
Proprietary — see the `LICENSE` file included with the package. social.plus Vise is provided to social.plus customers and integration partners under the same agreement as the social.plus SDK.
|
|
531
303
|
|
|
532
304
|
---
|
|
533
305
|
|