You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Router: Stitch MCP is for screen/comp mock generation only, never an automatic production UI implementer. Product UI remains bank + Impeccable + Design V2 atoms + shadcn.
16
+
- Impeccable: treat existing Stitch screens as approved comps; local atom shortlist remains mandatory.
17
+
7
18
## 1.8.1 — 2026-09-10
8
19
9
20
Patch release for Design V2 atomic role locking and Impeccable atom handoff. Total skills remain **62** (46 model-invoked, 16 manual slash commands).
Copy file name to clipboardExpand all lines: docs/mcp.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,10 +13,13 @@ Owned:
13
13
Optional:
14
14
15
15
-`serena` — `opencode-bf serena enable` if the binary is on PATH
16
+
-`stitch` — `opencode-bf stitch enable` (remote comp/mock source only; auth via `{env:STITCH_API_KEY}` or `--oauth`)
16
17
-`exa` — foreign; never add/remove/overwrite
17
18
18
19
Merge is parse-aware. Comment-free JSON is rewritten with `json.dumps`. JSONC with comments is patched surgically (owned MCP keys only). If surgical merge cannot be verified, install fails closed instead of destroying comments.
19
20
20
21
Doctor reports `CONFIGURED` for owned MCP entries present in config. That is not a live connection. `opencode-bf doctor --deep` probes `opencode mcp list` per server/per line and **exits 1** unless every core server is `CONNECTED`. `DISCONNECTED`, `NOT_CHECKED`, `LISTED`, empty output, and command failure are not healthy. The substring `connected` inside `disconnected` is not treated as connected. ANSI codes are stripped before parse.
21
22
22
23
`opencode-bf serena enable` adds Serena only if absent. JSONC comments, provider keys, and foreign MCP are preserved via the same surgical merge as core MCP. Invalid config fails closed.
24
+
25
+
`opencode-bf stitch enable` configures Google Stitch as an optional remote comp/mock server (`https://stitch.googleapis.com/mcp`). It is not an owned core server and not a UI implementer. Keys are never written directly to config, only referenced via `{env:STITCH_API_KEY}` or omitted when using `--oauth`. `opencode-bf stitch disable` surgically removes only the stitch server key.
Copy file name to clipboardExpand all lines: docs/routing.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,7 +22,7 @@ MANUAL_NOT_INVOKED
22
22
23
23
Never list unused tools as used.
24
24
25
-
UI direction from the bank routes to `found-this-design` first, which stops before component implementation. Visual UI and UI atoms (buttons, inputs, cards, nav) route to `impeccable` after Design V2 shortlist; BANK_MISS ≠ generate (+ shadcn/Design V2 internal). Motion UI routes to `emil-design-eng`. Still/ads/non-UI surface route to `visual-studio`. Scroll-led stories route to `scroll-craft`, while continuous camera 3D fly-throughs route to `scroll-world`.
25
+
UI direction from the bank routes to `found-this-design` first, which stops before component implementation. Visual UI and UI atoms (buttons, inputs, cards, nav) route to `impeccable` after Design V2 shortlist; BANK_MISS ≠ generate (+ shadcn/Design V2 internal). Stitch MCP is for screen/comp generation only, then found-this-design or impeccable with Design V2 atom shortlisting; never implement production UI from Stitch alone. Motion UI routes to `emil-design-eng`. Still/ads/non-UI surface route to `visual-studio`. Scroll-led stories route to `scroll-craft`, while continuous camera 3D fly-throughs route to `scroll-world`.
26
26
27
27
Browser verification follows four explicit doors: exploratory application UI routes to `playwright-qa`, persistent multi-account sessions route to `browser-act`, observed Chromium cause routes to `chrome-devtools-axi`, and button handler sequential undo / shared-store side effects route to `click-path-audit`.
Copy file name to clipboardExpand all lines: rules/00-routing.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -59,6 +59,7 @@ Do not infer a model provider from a logical model name. Treat custom-gateway al
59
59
- Matching or choosing a visual direction from the local design bank (Refero / Motionsites): `/found-this-design` first. Stop before component implementation. Then `/impeccable` after a pick. Bank root comes from `~/.config/opencode/bestfriend/config/design-bank.json` (optional override `OPENCODE_DESIGN_BANK`).
60
60
- Visual UI once a world is chosen, the brief is already visual, or creating UI atoms (buttons, inputs, cards, nav): UI atoms → impeccable after Design V2 shortlist; BANK_MISS ≠ generate. Design V2 shortlist `kind=component` is an internal stage, never a separate specialist route. Do not run `/found-this-design` for atomic components.
61
61
- Design Intelligence is an internal, lazy retrieval stage of Impeccable `new-work`, never a primary route or specialist. Design V2 is the same: an offline user bank, never a specialist.
62
+
- Stitch MCP: screen/comp generation only; then found-this-design or impeccable + Design V2 atoms. Never implement production UI from Stitch alone. Treat existing Stitch screens as approved comps; local atom shortlist remains mandatory.
62
63
- Installable UI components: MCP `shadcn` only. Do not add Magic UI, Kibo, 21st.dev, or community UI MCP servers.
63
64
- Use the hub only when cwd has `components.json`. Never silent `shadcn init` on this adapter, a backend or Python tree, or a non-UI cwd.
64
65
- Scroll-led storytelling (scroll is the timeline, scrollytelling, signature interaction): `/scroll-craft`. Ordinary scrollable UI stays `/impeccable`. `/scroll-craft` plus Continuous World: Scroll Craft writes the brief, then `/scroll-world`.
@@ -103,7 +104,7 @@ Do not infer a model provider from a logical model name. Treat custom-gateway al
103
104
## Plugins and extra MCP
104
105
105
106
- No extra marketplace plugins. Foundation = skills + MCP + thin AGENTS.md + runtime helpers.
106
-
- User MCP: `codebase-memory-mcp`, `context7`, and `shadcn` on; `serena` absent until a human enables it; `exa` foreign.
107
+
- User MCP: `codebase-memory-mcp`, `context7`, and `shadcn` on; `serena`and `stitch`absent until a human enables them; `exa` foreign.
107
108
- ECC / other harness overlays: `FOREIGN_ON_DEMAND`. Never add, remove, or merge foreign harness control planes or continuous-learning runtimes. Individual warehouse procedures ported in Wave 2 (agent-architecture-audit, cost-aware-llm-pipeline, eval-harness, prompt-optimizer, skill-stocktake) and Wave 3 (api-design, contract-first, automation-audit-ops, code-tour, click-path-audit) are first-party MIT skills. If external ECC is already present in user environment, do not merge and do not shadow.
108
109
- FOREIGN vendor packs (e.g. `mongodb/agent-skills`, `supabase/agent-skills`, `vercel-labs/agent-skills`) stay off the overlay; user may `npx skills add mongodb/agent-skills|supabase/agent-skills` locally; never `frontend-design` for product UI.
109
110
- Never auto-edit rules or skills from a learning log (no `/learn`, `/evolve`, or session-end skill writers).
@@ -115,6 +116,7 @@ Do not infer a model provider from a logical model name. Treat custom-gateway al
115
116
- Do not load Wave 2 or Wave 3 warehouse skills unless the user explicitly names the job.
116
117
- Do not use vendor `frontend-design` for product UI; UI direction stays `/found-this-design` and implementation stays `/impeccable`.
117
118
- Do not print database connection strings, JWTs, or secret keys in Supabase, MongoDB, or Vercel ops.
119
+
- Do not use Stitch as an automatic UI implementer or let it replace Design V2 atom shortlist.
118
120
- Do not run `/found-this-design` for atomic components (button, input, card, nav); stay in `/impeccable`.
119
121
- Do not auto-start `/grilling` for product interviews or planning; `/grill-with-docs` is the primary route.
120
122
- Do not `@`-import the full routing or verification files into CLAUDE.md.
Copy file name to clipboardExpand all lines: skills/impeccable/SKILL.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,6 +22,7 @@ Core principles:
22
22
- If empty: report `BANK_MISS`; fall back to shadcn MCP only if cwd contains `components.json`. Never invent arbitrary hex, radius, or typography.
23
23
- If hits exist: pick or take the top role-exact card, record `id`, `provider`, `role`, and `local_path` into `.impeccable/atoms.json` in user project cwd.
24
24
- Implementation must mimic the structure and tokens of that atom + the visual world pack if pinned by `found-this-design`.
25
+
- If the user provides an existing Stitch screen / mock, treat it as an approved comp (comp-first build path); do not generate code directly from Stitch without shortlisting local Design V2 atoms for components.
25
26
- Forbidden: `image_gen`, vendor `frontend-design`, or ungrounded model taste.
26
27
- World or page-level layout still routes to `found-this-design` first when no world is pinned.
0 commit comments