@adia-ai/adia-ui-forge 0.8.36 → 0.8.37
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/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +40 -18
- package/README.md +17 -17
- package/agents/{a2ui-builder.corpus.json → a2ui-maintenance-agent.corpus.json} +1 -1
- package/agents/{a2ui-builder.md → a2ui-maintenance-agent.md} +6 -6
- package/agents/framework-reviewer.md +6 -6
- package/agents/{release-builder.corpus.json → package-release-agent.corpus.json} +3 -3
- package/agents/{release-builder.md → package-release-agent.md} +7 -7
- package/agents/{component-author.corpus.json → primitive-authoring-agent.corpus.json} +2 -2
- package/agents/{component-author.md → primitive-authoring-agent.md} +7 -7
- package/agents/routing-corpus.json +40 -40
- package/commands/{dogfood.md → demo-audit.md} +2 -1
- package/commands/{gen-review.md → gen-ui-review.md} +3 -2
- package/commands/{release.md → package-release.md} +3 -2
- package/commands/{deploy.md → site-deployment.md} +2 -1
- package/package.json +1 -1
- package/references/contracts/a2ui-mcp-surface.md +16 -8
- package/references/contracts/migration-guide-format.md +4 -4
- package/scripts/demo-postwrite-pattern-gate +2 -2
- package/scripts/release-pretag-docs-gate +2 -2
- package/scripts/sidecar-prewrite-guard +3 -3
- package/skills/{adia-a2ui → a2ui-maintenance}/SKILL.md +6 -5
- package/skills/{adia-a2ui → a2ui-maintenance}/evals/evals.json +8 -8
- package/skills/{adia-a2ui → a2ui-maintenance}/evals/routing-corpus.json +51 -51
- package/skills/{adia-a2ui → a2ui-maintenance}/references/eval-diagnostics.md +2 -2
- package/skills/{adia-a2ui → a2ui-maintenance}/references/format-extension-decisions.md +2 -2
- package/skills/{adia-a2ui → a2ui-maintenance}/references/mcp-pipeline-ops.md +1 -1
- package/skills/{adia-a2ui → a2ui-maintenance}/references/mcp-tool-reference.md +5 -4
- package/skills/{adia-a2ui → a2ui-maintenance}/references/pipeline-overview.md +15 -15
- package/skills/{adia-a2ui → a2ui-maintenance}/references/semantic-fail-lifting.md +2 -2
- package/skills/{adia-dogfood → demo-audit}/SKILL.md +8 -8
- package/skills/{adia-dogfood → demo-audit}/evals/evals.json +7 -7
- package/skills/{adia-dogfood → demo-audit}/evals/routing-corpus.json +43 -43
- package/skills/{adia-dogfood → demo-audit}/references/visual-probe-triage.md +1 -1
- package/skills/{adia-dogfood → demo-audit}/scripts/analyze.mjs +2 -2
- package/skills/{adia-gen-review → gen-ui-review}/SKILL.md +13 -13
- package/skills/{adia-gen-review → gen-ui-review}/evals/evals.json +7 -7
- package/skills/{adia-gen-review → gen-ui-review}/evals/routing-corpus.json +43 -43
- package/skills/{adia-gen-review → gen-ui-review}/references/corpus-html-patterns.md +3 -3
- package/skills/{adia-gen-review → gen-ui-review}/references/loop-protocol.md +11 -11
- package/skills/{adia-gen-review → gen-ui-review}/references/scores.schema.json +1 -1
- package/skills/{adia-gen-review → gen-ui-review}/scripts/gen-review-coverage-audit.mjs +4 -4
- package/skills/{adia-gen-review → gen-ui-review}/scripts/gen-review-decompose.mjs +6 -6
- package/skills/{adia-gen-review → gen-ui-review}/scripts/gen-review-status.mjs +5 -5
- package/skills/{adia-gen-review → gen-ui-review}/scripts/validate-cycle-scores.mjs +5 -5
- package/skills/{adia-llm-internals → llm-client-maintenance}/SKILL.md +4 -4
- package/skills/{adia-llm-internals → llm-client-maintenance}/evals/evals.json +7 -7
- package/skills/{adia-llm-internals → llm-client-maintenance}/evals/routing-corpus.json +49 -49
- package/skills/{adia-release → package-release}/SKILL.md +16 -16
- package/skills/{adia-release → package-release}/evals/evals.json +7 -7
- package/skills/{adia-release → package-release}/evals/routing-corpus.json +45 -45
- package/skills/{adia-release → package-release}/references/changelog-discipline.md +4 -4
- package/skills/{adia-release → package-release}/references/cut-procedure.md +167 -28
- package/skills/{adia-release → package-release}/references/gates-catalog.md +4 -3
- package/skills/{adia-release → package-release}/references/independent-package-release.md +2 -2
- package/skills/{adia-release → package-release}/references/migration-guide-authoring.md +12 -3
- package/skills/{adia-release → package-release}/references/recovery-paths.md +5 -5
- package/skills/{adia-release → package-release}/scripts/bump.mjs +77 -30
- package/skills/{adia-release → package-release}/scripts/dispatch-publish.mjs +1 -1
- package/skills/{adia-release → package-release}/scripts/gate-roster.mjs +17 -6
- package/skills/{adia-release → package-release}/scripts/insert-stub.mjs +29 -7
- package/skills/{adia-release → package-release}/scripts/package-paths.mjs +51 -6
- package/skills/{adia-release → package-release}/scripts/pr-bridge.mjs +1 -1
- package/skills/{adia-release → package-release}/scripts/promote-unreleased.mjs +1 -1
- package/skills/{adia-release → package-release}/scripts/release-pack.mjs +18 -4
- package/skills/{adia-release → package-release}/scripts/tag-lockstep.mjs +2 -2
- package/skills/{adia-author → primitive-authoring}/SKILL.md +7 -7
- package/skills/{adia-author → primitive-authoring}/evals/evals.json +7 -7
- package/skills/{adia-author → primitive-authoring}/evals/routing-corpus.json +61 -61
- package/skills/{adia-author → primitive-authoring}/references/INDEX.md +2 -2
- package/skills/{adia-author → primitive-authoring}/references/authoring-cycle.md +1 -1
- package/skills/{adia-author → primitive-authoring}/references/code-style.md +5 -5
- package/skills/{adia-author → primitive-authoring}/references/common-gotchas.md +1 -1
- package/skills/{adia-author → primitive-authoring}/references/llm-bridge.md +7 -7
- package/skills/{adia-author → primitive-authoring}/references/module-promotion.md +3 -3
- package/skills/{adia-author → primitive-authoring}/references/shell-patterns.md +2 -2
- package/skills/{adia-author → primitive-authoring}/references/trait-pages.md +1 -1
- package/skills/{adia-author → primitive-authoring}/scripts/build-canonical-pattern-index.mjs +1 -1
- package/skills/{adia-deploy → site-deployment}/SKILL.md +4 -4
- package/skills/{adia-deploy → site-deployment}/evals/evals.json +8 -8
- package/skills/{adia-deploy → site-deployment}/evals/routing-corpus.json +49 -49
- package/skills/{adia-deploy → site-deployment}/references/deploy-playbooks.md +2 -2
- package/skills/{adia-site-docs → site-docs-authoring}/SKILL.md +4 -4
- package/skills/{adia-site-docs → site-docs-authoring}/evals/evals.json +7 -7
- package/skills/{adia-site-docs → site-docs-authoring}/evals/routing-corpus.json +51 -51
- package/skills/{adia-site-docs → site-docs-authoring}/intent.md +8 -8
- package/skills/{adia-ssr → ssr-compatibility}/SKILL.md +8 -8
- package/skills/{adia-ssr → ssr-compatibility}/evals/evals.json +7 -7
- package/skills/{adia-ssr → ssr-compatibility}/evals/routing-corpus.json +43 -43
- package/skills/{adia-ssr → ssr-compatibility}/references/failure-shapes.md +1 -1
- package/skills/{adia-ssr → ssr-compatibility}/references/guard-patterns.md +1 -1
- /package/skills/{adia-a2ui → a2ui-maintenance}/references/anti-patterns.md +0 -0
- /package/skills/{adia-a2ui → a2ui-maintenance}/references/chunk-authoring.md +0 -0
- /package/skills/{adia-a2ui → a2ui-maintenance}/references/corpus-discipline.md +0 -0
- /package/skills/{adia-a2ui → a2ui-maintenance}/references/leverage-rules.md +0 -0
- /package/skills/{adia-a2ui → a2ui-maintenance}/references/strategy-engines.md +0 -0
- /package/skills/{adia-a2ui → a2ui-maintenance}/references/zettel-calibration.md +0 -0
- /package/skills/{adia-dogfood → demo-audit}/references/admin-shell-anatomy.md +0 -0
- /package/skills/{adia-dogfood → demo-audit}/references/app-shell-pitfalls.md +0 -0
- /package/skills/{adia-dogfood → demo-audit}/references/card-anatomy-sweep.md +0 -0
- /package/skills/{adia-dogfood → demo-audit}/references/html-attr-sweep.md +0 -0
- /package/skills/{adia-dogfood → demo-audit}/references/native-leak-annotations.md +0 -0
- /package/skills/{adia-gen-review → gen-ui-review}/references/rubric-cosmetic.md +0 -0
- /package/skills/{adia-gen-review → gen-ui-review}/references/rubric-decompose.md +0 -0
- /package/skills/{adia-gen-review → gen-ui-review}/references/rubric-score.md +0 -0
- /package/skills/{adia-llm-internals → llm-client-maintenance}/references/adapter-contract.md +0 -0
- /package/skills/{adia-llm-internals → llm-client-maintenance}/references/add-a-provider.md +0 -0
- /package/skills/{adia-llm-internals → llm-client-maintenance}/references/bridge-facade.md +0 -0
- /package/skills/{adia-llm-internals → llm-client-maintenance}/references/browser-proxy-boundary.md +0 -0
- /package/skills/{adia-llm-internals → llm-client-maintenance}/references/model-registry.md +0 -0
- /package/skills/{adia-llm-internals → llm-client-maintenance}/references/streaming-sse.md +0 -0
- /package/skills/{adia-release → package-release}/references/notes-authoring.md +0 -0
- /package/skills/{adia-release → package-release}/scripts/assert-monorepo-root.mjs +0 -0
- /package/skills/{adia-author → primitive-authoring}/references/anti-patterns.md +0 -0
- /package/skills/{adia-author → primitive-authoring}/references/api-contract.md +0 -0
- /package/skills/{adia-author → primitive-authoring}/references/canonical-pattern-index.md +0 -0
- /package/skills/{adia-author → primitive-authoring}/references/composite-demo-protocol.md +0 -0
- /package/skills/{adia-author → primitive-authoring}/references/css-patterns.md +0 -0
- /package/skills/{adia-author → primitive-authoring}/references/lifecycle-patterns.md +0 -0
- /package/skills/{adia-author → primitive-authoring}/references/primitive-audit.md +0 -0
- /package/skills/{adia-author → primitive-authoring}/references/token-contract.md +0 -0
- /package/skills/{adia-author → primitive-authoring}/references/worked-example.md +0 -0
- /package/skills/{adia-author → primitive-authoring}/references/yaml-contract.md +0 -0
- /package/skills/{adia-ssr → ssr-compatibility}/references/consumer-workarounds.md +0 -0
- /package/skills/{adia-ssr → ssr-compatibility}/references/status-ledger.md +0 -0
- /package/skills/{adia-ssr → ssr-compatibility}/references/test-without-linkedom.md +0 -0
|
@@ -132,7 +132,7 @@ Static markup written by hand uses the components directly. UIs generated from i
|
|
|
132
132
|
|
|
133
133
|
The runtime handles `createSurface` / `updateComponents` / `wireComponents` messages and binds `FormController` / `DataStreamController` controllers automatically. Don't roll your own message handler — the wiring lives in `@adia-ai/a2ui-runtime`.
|
|
134
134
|
|
|
135
|
-
For multi-turn refinement, pass back `state_id` from prior responses so the engine can chain through `parent_state_id`. See the sibling **
|
|
135
|
+
For multi-turn refinement, pass back `state_id` from prior responses so the engine can chain through `parent_state_id`. See the sibling **a2ui-maintenance** skill for the operator playbook.
|
|
136
136
|
|
|
137
137
|
## Two-block `@scope` CSS
|
|
138
138
|
|
|
@@ -316,7 +316,7 @@ Other deprecated forms swept in an early cut:
|
|
|
316
316
|
- `'chat-submit'` event → `'submit'`
|
|
317
317
|
- `<field-ui error="…">` → message moves to the slotted control
|
|
318
318
|
|
|
319
|
-
For a wholesale consumer-side migration, use `
|
|
319
|
+
For a wholesale consumer-side migration, use `app-migration` (adia-factory plugin) — it reads the MIGRATION GUIDE and runs the mechanical sweeps.
|
|
320
320
|
|
|
321
321
|
## Validate, always
|
|
322
322
|
|
|
@@ -328,7 +328,7 @@ For consumer markup (HTML pages, exemplars, training data), the checks are manua
|
|
|
328
328
|
- Run the project's lint if applicable: `npx eslint <path>`.
|
|
329
329
|
- Smoke the rendered output via `npm run dev` and load the touched page.
|
|
330
330
|
|
|
331
|
-
For component source under `packages/web-components/components/**`, the gate is heavier — see [authoring-cycle.md](authoring-cycle.md) Step 5 + the full release-side gate roster in the sibling **
|
|
331
|
+
For component source under `packages/web-components/components/**`, the gate is heavier — see [authoring-cycle.md](authoring-cycle.md) Step 5 + the full release-side gate roster in the sibling **package-release** skill.
|
|
332
332
|
|
|
333
333
|
## Cross-references
|
|
334
334
|
|
|
@@ -339,6 +339,6 @@ For component source under `packages/web-components/components/**`, the gate is
|
|
|
339
339
|
- [token-contract.md](token-contract.md) — token audit procedure
|
|
340
340
|
- [module-promotion.md](module-promotion.md) — promote inline → module
|
|
341
341
|
- [anti-patterns.md](anti-patterns.md) — failure-mode catalogue with file:line refs
|
|
342
|
-
- **
|
|
343
|
-
- **
|
|
342
|
+
- **a2ui-maintenance** (sibling skill) — generator / corpus / MCP pipeline
|
|
343
|
+
- **demo-audit** (sibling skill) — cross-surface visual / static QA
|
|
344
344
|
- the **adia-factory** plugin — composition playbook for consumers building apps on the framework
|
|
@@ -125,7 +125,7 @@ async #loadContent(route) {
|
|
|
125
125
|
|
|
126
126
|
## 7. Minting a wrapper-shaped component before its registry.js entry lands — site-a2ui silently deletes the node, not just mis-types it
|
|
127
127
|
|
|
128
|
-
**Pattern**: a tag is gated first and only, for `*-ui` tags, by `packages/a2ui/
|
|
128
|
+
**Pattern**: a tag is gated first and only, for `*-ui` tags, by `packages/a2ui/registry.js`'s hand-maintained `registry` map — inverted into `reverseRegistry` at `transpiler-maps.js`'s module init, consulted first thing in `compose/transpiler/transpiler.js:149-150`. `registry.js` is hand-edited, not generated by `node scripts/build/components.mjs` (that script writes sidecars/prop-catalog data, consumed only for prop-extraction fidelity on tags the transpiler ALREADY resolved — `transpiler-maps.js:22-26`); a runtime `registerType()` call doesn't rescue a stale row either — `reverseRegistry` is a one-time init snapshot, not live. Regenerate a site-a2ui row for a demo using a component minted in the SAME change, before its `registry.js` line lands, and the tag falls through to `transpiler.js`'s "Unknown → Column" branch (line 180-183) — same mechanism as gh#535's toolbar-group breakage, which at least rendered visibly-wrong. A NEW component is usually wrapper-shaped (one child, author-defined attributes like `anchor="bottom"` the transpiler doesn't map to any real A2UI prop). That shape trips a SECOND, separate rule right after — "single-child container chains flatten" (`transpiler.js:282-285`): a retyped Column with exactly one child and zero recognized props is discarded outright, and its child is spliced directly into the PARENT's children in its place. The wrapper's own id and node are never pushed to the tree at all — not visible-but-wrong, just gone. The row is then internally self-consistent (content hash matches source) so `check:chunks-fresh`/`verify:site-a2ui` both report clean.
|
|
129
129
|
|
|
130
130
|
**Example**: minting `anchor-bar-ui` (gh#495, PR #569) and regenerating the `bulk-action-toolbar` pattern's site-a2ui row before the worktree's `registry.js` entry for it existed. Git-verified on the pre-fix commit (`ebf71832d`): `site-a2ui/pages/site__patterns__bulk-action-toolbar.a2ui.json` contains zero occurrences of `pat-bulk-float-bar` (the anchor-bar-ui's own authored id) anywhere — not retyped-and-visible, genuinely absent — while its single child (the toolbar content) survived, reparented one level up. `verify:site-a2ui` reported 321/321 clean.
|
|
131
131
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# LLM Bridge extension — @adia-ai/llm
|
|
2
2
|
|
|
3
|
-
**Superseded 2026-07-18 — `@adia-ai/llm` internals are `
|
|
4
|
-
`
|
|
3
|
+
**Superseded 2026-07-18 — `@adia-ai/llm` internals are `llm-client-maintenance`'s charter, not
|
|
4
|
+
`primitive-authoring`'s.** That skill's references (`adapter-contract.md`, `streaming-sse.md`,
|
|
5
5
|
`model-registry.md`, `bridge-facade.md`, `browser-proxy-boundary.md`, `add-a-provider.md`)
|
|
6
6
|
are the current, maintained source — this file is kept only as a historical pointer and is
|
|
7
|
-
no longer linked from `
|
|
8
|
-
streaming/bridge work to `
|
|
7
|
+
no longer linked from `primitive-authoring`'s task-shape table or `code-style.md`. Route provider/
|
|
8
|
+
streaming/bridge work to `llm-client-maintenance`.
|
|
9
9
|
|
|
10
10
|
Use when adding a 4th provider, modifying `createAdapter()`, changing the streaming chunk shape, or extending `packages/llm/server.js`.
|
|
11
11
|
|
|
@@ -216,13 +216,13 @@ const DEFAULT_MODELS = {
|
|
|
216
216
|
Run the smoke tests against the new provider:
|
|
217
217
|
|
|
218
218
|
```bash
|
|
219
|
-
MYPROVIDER_API_KEY=*** node packages/
|
|
219
|
+
MYPROVIDER_API_KEY=*** node packages/mcp/gen-ui/scripts/smoke-engine-registry.mjs
|
|
220
220
|
```
|
|
221
221
|
|
|
222
222
|
Then run real-LLM eval at low intent count:
|
|
223
223
|
|
|
224
224
|
```bash
|
|
225
|
-
LLM_PROVIDER=myprovider node packages/
|
|
225
|
+
LLM_PROVIDER=myprovider node packages/mcp/gen-ui/scripts/eval-diff.mjs --semantic
|
|
226
226
|
```
|
|
227
227
|
|
|
228
228
|
## Pitfalls
|
|
@@ -254,6 +254,6 @@ If you added a new SSE chunk type to the streaming protocol, verify all 7 consum
|
|
|
254
254
|
## Cross-references
|
|
255
255
|
|
|
256
256
|
- [code-style.md](code-style.md) — general AdiaUI conventions (this is a specialty path; start there if you need broader context)
|
|
257
|
-
- **
|
|
257
|
+
- **a2ui-maintenance** (sibling skill) — generator / MCP / zettel synthesis (consumes the bridge)
|
|
258
258
|
- Spec: `.claude/docs/specs/package-architecture.md` § 11 (Phase 5 — engine registry)
|
|
259
259
|
- README: `packages/llm/README.md` — consumer-facing docs
|
|
@@ -159,7 +159,7 @@ The harvested training-corpus chunk (`packages/a2ui/corpus/chunks/<name>.json`)
|
|
|
159
159
|
|
|
160
160
|
### Phase 5 — Release
|
|
161
161
|
|
|
162
|
-
Either ship as a standalone lockstep cut (per the sibling **
|
|
162
|
+
Either ship as a standalone lockstep cut (per the sibling **package-release** skill), OR ride a bundled cut that the user is already coordinating. Either way:
|
|
163
163
|
|
|
164
164
|
1. **CHANGELOGs** — `packages/web-modules/CHANGELOG.md` `[Unreleased]` (or the dated bump block if you're cutting now) + root `CHANGELOG.md`.
|
|
165
165
|
2. **README** — `packages/web-modules/README.md`: cluster table row, Layout tree entry, Quick start `import` line.
|
|
@@ -265,7 +265,7 @@ apps/playgrounds/catalog layout.
|
|
|
265
265
|
- [shell-patterns.md](shell-patterns.md) — bespoke shell-tier decomposition (ADR-0023; the _different_ activity)
|
|
266
266
|
- [authoring-cycle.md](authoring-cycle.md) — the standard 5-step authoring cycle
|
|
267
267
|
- [api-contract.md](api-contract.md) — prop naming, reflection, the legacy forms
|
|
268
|
-
- **
|
|
269
|
-
- **
|
|
268
|
+
- **package-release** (sibling skill) — lockstep release cycle (Phase 5)
|
|
269
|
+
- **a2ui-maintenance** (sibling skill) — chunk corpus harvest + smoke gates (Phase 4)
|
|
270
270
|
- Spec: `.claude/docs/specs/package-architecture.md` — three-tier package layout
|
|
271
271
|
- ADR-0012 / ADR-0023 — decision labels: primitives-vs-modules-vs-themes and the bespoke shell pattern (history lives in git + PR descriptions)
|
|
@@ -532,8 +532,8 @@ When you encounter a legacy reference in old documentation or commit history, th
|
|
|
532
532
|
## After implementation
|
|
533
533
|
|
|
534
534
|
1. Update this reference if you discover new pitfalls
|
|
535
|
-
2. Cut a lockstep release using the sibling **
|
|
536
|
-
3. **When all consumers have migrated**, author the breaking-change migration recipe (
|
|
535
|
+
2. Cut a lockstep release using the sibling **package-release** skill
|
|
536
|
+
3. **When all consumers have migrated**, author the breaking-change migration recipe (package-release owns the MIGRATION GUIDE) and cut a breaking release. Don't let the compat window outlive its usefulness.
|
|
537
537
|
|
|
538
538
|
## Anti-patterns specific to shells (deduplicated)
|
|
539
539
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Every trait detail page under `site/pages/traits/<name>/` follows one binding section template. The 41-page Phase B sweep proved what a loose contract produces: bimodal quality (portfolio-grade pages next to abstract-box demos) and zero pages teaching restraint. Navigate-by-template is the contract. Source: ADR-0019.
|
|
4
4
|
|
|
5
|
-
Trait pages are this skill's charter (traits live in `packages/web-components/traits/`); `
|
|
5
|
+
Trait pages are this skill's charter (traits live in `packages/web-components/traits/`); `site-docs-authoring` owns `site/pages/{architecture,getting-started,guides,patterns,reference}` — not `traits/`.
|
|
6
6
|
|
|
7
7
|
## Required sections, in order
|
|
8
8
|
|
package/skills/{adia-author → primitive-authoring}/scripts/build-canonical-pattern-index.mjs
RENAMED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* Run from the framework monorepo root (the dirs it scans — apps/, catalog/,
|
|
10
10
|
* playgrounds/ — are monorepo roots):
|
|
11
11
|
*
|
|
12
|
-
* node packages/plugins/adia-ui-forge/skills/
|
|
12
|
+
* node packages/plugins/adia-ui-forge/skills/primitive-authoring/scripts/build-canonical-pattern-index.mjs
|
|
13
13
|
*
|
|
14
14
|
* The output `references/canonical-pattern-index.md` is checked in so agents
|
|
15
15
|
* reading the skill always see the current state without running the script
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: site-deployment
|
|
3
3
|
description: >-
|
|
4
4
|
Deploys and operates the AdiaUI site + services on exe.dev VMs — pushing a
|
|
5
5
|
`site-v*` tag through the hardened rsync --delete deploy to ui-kit.exe.xyz
|
|
@@ -9,12 +9,12 @@ description: >-
|
|
|
9
9
|
rotation. Use for "deploy to exe.dev", "push a site-v* tag", "the site is
|
|
10
10
|
502ing / looks stale", "roll back the last deploy", "restart/diagnose the
|
|
11
11
|
exe service", "rotate keys on the VM". NOT for cutting the release itself
|
|
12
|
-
(
|
|
12
|
+
(package-release).
|
|
13
13
|
disable-model-invocation: false
|
|
14
14
|
user-invocable: true
|
|
15
15
|
---
|
|
16
16
|
|
|
17
|
-
#
|
|
17
|
+
# site-deployment
|
|
18
18
|
|
|
19
19
|
Operates AdiaUI services on **exe.dev** — shared Linux VMs reached via
|
|
20
20
|
`ssh <host>.exe.xyz`. Four playbooks: deploy an update, diagnose a down
|
|
@@ -47,7 +47,7 @@ Standard layout: `/srv/<app>/dist/` webroot (exedev-owned) ·
|
|
|
47
47
|
|
|
48
48
|
## Deploy-freshness cadence — a lockstep cut is not a site deploy
|
|
49
49
|
|
|
50
|
-
`
|
|
50
|
+
`package-release` cutting and publishing the lockstep version (the roster in
|
|
51
51
|
`scripts/package-paths.mjs` is the live count) does
|
|
52
52
|
**not** itself update `ui-kit.exe.xyz` — that only happens on a `site-v*` tag
|
|
53
53
|
push (see below). Any lockstep cut that changes a package the site actually
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"skill": "
|
|
2
|
+
"skill": "site-deployment",
|
|
3
3
|
"note": "Trigger-routing suite (gh#369). expect=trigger: the skill should fire on the prompt in a fresh session. expect=no-trigger: a near-miss owned elsewhere (owner named per case) or generic knowledge with no AdiaUI skill involved. Cases derived from evals/routing-corpus.json's phrases array (gh#355 vetted corpus) plus the SKILL.md description's own trigger/NOT-fence language.",
|
|
4
4
|
"cases": [
|
|
5
5
|
{ "id": "t01", "prompt": "Deploy the latest build to ui-kit.exe.xyz", "expect": "trigger" },
|
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
{ "id": "t07", "prompt": "Push a site-v* tag to deploy the current build, review the dry-run delete summary first", "expect": "trigger" },
|
|
12
12
|
{ "id": "t08", "prompt": "Did we deploy the site after the last lockstep cut, or is it behind npm?", "expect": "trigger" },
|
|
13
13
|
{ "id": "t09", "prompt": "Roll back the last site deploy, the new build is broken", "expect": "trigger" },
|
|
14
|
-
{ "id": "n01", "prompt": "Cut a release of the next version and publish the npm packages", "expect": "no-trigger", "owner": "
|
|
15
|
-
{ "id": "n02", "prompt": "Verify that this consumer app screen renders correctly before shipping", "expect": "no-trigger", "owner": "
|
|
16
|
-
{ "id": "n03", "prompt": "Add a new prop to button-ui", "expect": "no-trigger", "owner": "
|
|
17
|
-
{ "id": "n04", "prompt": "Run a dogfood sweep on the demo pages", "expect": "no-trigger", "owner": "
|
|
18
|
-
{ "id": "n05", "prompt": "Tune the zettel retrieval coverage, the eval dropped to 38%", "expect": "no-trigger", "owner": "
|
|
19
|
-
{ "id": "n06", "prompt": "Why does accordion-ui crash under SSR in Astro?", "expect": "no-trigger", "owner": "
|
|
20
|
-
{ "id": "n07", "prompt": "Fix the streaming adapter bug in the @adia-ai/llm package", "expect": "no-trigger", "owner": "
|
|
14
|
+
{ "id": "n01", "prompt": "Cut a release of the next version and publish the npm packages", "expect": "no-trigger", "owner": "package-release" },
|
|
15
|
+
{ "id": "n02", "prompt": "Verify that this consumer app screen renders correctly before shipping", "expect": "no-trigger", "owner": "surface-qa" },
|
|
16
|
+
{ "id": "n03", "prompt": "Add a new prop to button-ui", "expect": "no-trigger", "owner": "primitive-authoring" },
|
|
17
|
+
{ "id": "n04", "prompt": "Run a dogfood sweep on the demo pages", "expect": "no-trigger", "owner": "demo-audit" },
|
|
18
|
+
{ "id": "n05", "prompt": "Tune the zettel retrieval coverage, the eval dropped to 38%", "expect": "no-trigger", "owner": "a2ui-maintenance" },
|
|
19
|
+
{ "id": "n06", "prompt": "Why does accordion-ui crash under SSR in Astro?", "expect": "no-trigger", "owner": "ssr-compatibility" },
|
|
20
|
+
{ "id": "n07", "prompt": "Fix the streaming adapter bug in the @adia-ai/llm package", "expect": "no-trigger", "owner": "llm-client-maintenance" }
|
|
21
21
|
]
|
|
22
22
|
}
|
|
@@ -1,125 +1,125 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"name": "
|
|
3
|
+
"name": "site-deployment routing accuracy corpus",
|
|
4
4
|
"version": "2.1.0",
|
|
5
|
-
"purpose": "Routing-eval corpus for
|
|
5
|
+
"purpose": "Routing-eval corpus for site-deployment. Each phrase declares the skill (expected), a forbidden skill (expected_not, for phrases the source data only ever asserted as \"not this skill\"), or neither. Scored by scripts/skills/run-skill-evals.mjs (TF-IDF token overlap over per-skill description+triggers).",
|
|
6
6
|
"scoring_notes": "Heuristic signal, not ground truth. Treat misroutes as a prompt to tighten the skill description, never as a reason to keyword-stuff it. Real harness routing is LLM-driven.",
|
|
7
|
-
"scope": "
|
|
7
|
+
"scope": "site-deployment routing \u2014 does this phrase activate site-deployment?",
|
|
8
8
|
"phrases": [
|
|
9
9
|
{
|
|
10
|
-
"id": "
|
|
10
|
+
"id": "site-deployment-pos-01",
|
|
11
11
|
"phrase": "deploy the latest build to ui-kit.exe.xyz",
|
|
12
|
-
"expected": "
|
|
12
|
+
"expected": "site-deployment"
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
|
-
"id": "
|
|
15
|
+
"id": "site-deployment-pos-02",
|
|
16
16
|
"phrase": "push the dist folder to the VM",
|
|
17
|
-
"expected": "
|
|
17
|
+
"expected": "site-deployment"
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
|
-
"id": "
|
|
20
|
+
"id": "site-deployment-pos-03",
|
|
21
21
|
"phrase": "diagnose why the site returns Port 8000 unbound",
|
|
22
|
-
"expected": "
|
|
22
|
+
"expected": "site-deployment"
|
|
23
23
|
},
|
|
24
24
|
{
|
|
25
|
-
"id": "
|
|
25
|
+
"id": "site-deployment-pos-04",
|
|
26
26
|
"phrase": "the site is throwing a 502, check the VM service",
|
|
27
|
-
"expected": "
|
|
27
|
+
"expected": "site-deployment"
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
|
-
"id": "
|
|
30
|
+
"id": "site-deployment-pos-05",
|
|
31
31
|
"phrase": "restart the adia-ui service on the exe.dev VM",
|
|
32
|
-
"expected": "
|
|
32
|
+
"expected": "site-deployment"
|
|
33
33
|
},
|
|
34
34
|
{
|
|
35
|
-
"id": "
|
|
35
|
+
"id": "site-deployment-pos-06",
|
|
36
36
|
"phrase": "provision a fresh exe.dev VM for a new host",
|
|
37
|
-
"expected": "
|
|
37
|
+
"expected": "site-deployment"
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
|
-
"id": "
|
|
40
|
+
"id": "site-deployment-pos-07",
|
|
41
41
|
"phrase": "rotate the API keys on the production VM",
|
|
42
|
-
"expected": "
|
|
42
|
+
"expected": "site-deployment"
|
|
43
43
|
},
|
|
44
44
|
{
|
|
45
|
-
"id": "
|
|
45
|
+
"id": "site-deployment-pos-08",
|
|
46
46
|
"phrase": "push a site-v* tag to deploy the current build",
|
|
47
|
-
"expected": "
|
|
47
|
+
"expected": "site-deployment"
|
|
48
48
|
},
|
|
49
49
|
{
|
|
50
|
-
"id": "
|
|
50
|
+
"id": "site-deployment-pos-09",
|
|
51
51
|
"phrase": "the site looks stale, new fixtures are 404ing",
|
|
52
|
-
"expected": "
|
|
52
|
+
"expected": "site-deployment"
|
|
53
53
|
},
|
|
54
54
|
{
|
|
55
|
-
"id": "
|
|
55
|
+
"id": "site-deployment-pos-10",
|
|
56
56
|
"phrase": "check the dry-run delete summary before the deploy job runs",
|
|
57
|
-
"expected": "
|
|
57
|
+
"expected": "site-deployment"
|
|
58
58
|
},
|
|
59
59
|
{
|
|
60
|
-
"id": "
|
|
60
|
+
"id": "site-deployment-pos-11",
|
|
61
61
|
"phrase": "did we deploy the site after the last lockstep cut, or is it behind npm",
|
|
62
|
-
"expected": "
|
|
62
|
+
"expected": "site-deployment"
|
|
63
63
|
},
|
|
64
64
|
{
|
|
65
|
-
"id": "
|
|
65
|
+
"id": "site-deployment-pos-12",
|
|
66
66
|
"phrase": "roll back the last site deploy, the new build is broken",
|
|
67
|
-
"expected": "
|
|
67
|
+
"expected": "site-deployment"
|
|
68
68
|
},
|
|
69
69
|
{
|
|
70
|
-
"id": "
|
|
70
|
+
"id": "site-deployment-neg-01",
|
|
71
71
|
"phrase": "cut a release of the next version and publish the npm packages",
|
|
72
|
-
"expected_not": "
|
|
72
|
+
"expected_not": "site-deployment"
|
|
73
73
|
},
|
|
74
74
|
{
|
|
75
|
-
"id": "
|
|
75
|
+
"id": "site-deployment-neg-02",
|
|
76
76
|
"phrase": "verify that this consumer app screen renders correctly before shipping",
|
|
77
|
-
"expected_not": "
|
|
77
|
+
"expected_not": "site-deployment"
|
|
78
78
|
},
|
|
79
79
|
{
|
|
80
|
-
"id": "
|
|
80
|
+
"id": "site-deployment-neg-03",
|
|
81
81
|
"phrase": "add a new prop to button-ui",
|
|
82
|
-
"expected_not": "
|
|
82
|
+
"expected_not": "site-deployment"
|
|
83
83
|
},
|
|
84
84
|
{
|
|
85
|
-
"id": "
|
|
85
|
+
"id": "site-deployment-neg-04",
|
|
86
86
|
"phrase": "run a dogfood sweep on the demo pages",
|
|
87
|
-
"expected_not": "
|
|
87
|
+
"expected_not": "site-deployment"
|
|
88
88
|
},
|
|
89
89
|
{
|
|
90
|
-
"id": "
|
|
90
|
+
"id": "site-deployment-neg-05",
|
|
91
91
|
"phrase": "tune the zettel retrieval coverage, eval dropped to 38%",
|
|
92
|
-
"expected_not": "
|
|
92
|
+
"expected_not": "site-deployment"
|
|
93
93
|
},
|
|
94
94
|
{
|
|
95
|
-
"id": "
|
|
95
|
+
"id": "site-deployment-neg-06",
|
|
96
96
|
"phrase": "publish the npm packages for the next lockstep cut",
|
|
97
|
-
"expected_not": "
|
|
97
|
+
"expected_not": "site-deployment"
|
|
98
98
|
},
|
|
99
99
|
{
|
|
100
|
-
"id": "
|
|
100
|
+
"id": "site-deployment-neg-07",
|
|
101
101
|
"phrase": "author the release notes and the migration guide",
|
|
102
|
-
"expected_not": "
|
|
102
|
+
"expected_not": "site-deployment"
|
|
103
103
|
},
|
|
104
104
|
{
|
|
105
|
-
"id": "
|
|
105
|
+
"id": "site-deployment-neg-08",
|
|
106
106
|
"phrase": "why does accordion-ui crash under SSR in Astro",
|
|
107
|
-
"expected_not": "
|
|
107
|
+
"expected_not": "site-deployment"
|
|
108
108
|
},
|
|
109
109
|
{
|
|
110
|
-
"id": "
|
|
110
|
+
"id": "site-deployment-neg-09",
|
|
111
111
|
"phrase": "fix the streaming adapter bug in the llm package",
|
|
112
|
-
"expected_not": "
|
|
112
|
+
"expected_not": "site-deployment"
|
|
113
113
|
},
|
|
114
114
|
{
|
|
115
|
-
"id": "
|
|
115
|
+
"id": "site-deployment-neg-10",
|
|
116
116
|
"phrase": "review the getting-started docs page for consistency",
|
|
117
|
-
"expected_not": "
|
|
117
|
+
"expected_not": "site-deployment"
|
|
118
118
|
},
|
|
119
119
|
{
|
|
120
|
-
"id": "
|
|
120
|
+
"id": "site-deployment-neg-11",
|
|
121
121
|
"phrase": "score the gen-ui gallery outputs for this cycle",
|
|
122
|
-
"expected_not": "
|
|
122
|
+
"expected_not": "site-deployment"
|
|
123
123
|
}
|
|
124
124
|
],
|
|
125
125
|
"_measured_historical": {
|
|
@@ -270,7 +270,7 @@ Common failures:
|
|
|
270
270
|
|
|
271
271
|
Add new hosts here as they come online.
|
|
272
272
|
|
|
273
|
-
## Hand-off from
|
|
273
|
+
## Hand-off from package-release
|
|
274
274
|
|
|
275
|
-
Release engineering (`
|
|
275
|
+
Release engineering (`package-release`) builds and publishes artifacts; this
|
|
276
276
|
playbook owns the deploy step that pushes them to the VM.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: site-docs-authoring
|
|
3
3
|
description: >-
|
|
4
4
|
Review or author pages under site/pages/{architecture,getting-started,
|
|
5
5
|
guides,patterns,reference}/ — the docs site (count the pages on disk; it
|
|
@@ -7,14 +7,14 @@ description: >-
|
|
|
7
7
|
or edit a getting-started/architecture/guides/patterns/reference page,
|
|
8
8
|
review a site docs page for consistency, fix a callout that reads as plain
|
|
9
9
|
text, or explain why an inline-code chip or a demo gallery looks broken.
|
|
10
|
-
NOT for a component's own .examples.html demo (
|
|
10
|
+
NOT for a component's own .examples.html demo (primitive-authoring) or any
|
|
11
11
|
pure-primitive-composition training-harvest page (governed by
|
|
12
|
-
composition-and-examples.md's no-style-block rule; owner:
|
|
12
|
+
composition-and-examples.md's no-style-block rule; owner: a2ui-maintenance).
|
|
13
13
|
disable-model-invocation: false
|
|
14
14
|
user-invocable: true
|
|
15
15
|
---
|
|
16
16
|
|
|
17
|
-
#
|
|
17
|
+
# site-docs-authoring
|
|
18
18
|
|
|
19
19
|
Every page under `site/pages/{architecture,getting-started,guides,patterns,
|
|
20
20
|
reference}/` shares one skeleton: `<header><h1>` + a deck `<p>`, then numbered
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"skill": "
|
|
2
|
+
"skill": "site-docs-authoring",
|
|
3
3
|
"note": "Trigger-routing suite (gh#369). expect=trigger: the skill should fire on the prompt in a fresh session. expect=no-trigger: a near-miss owned elsewhere (owner named per case) or generic knowledge with no AdiaUI skill involved. Cases derived from evals/routing-corpus.json's phrases array (gh#355 vetted corpus) plus the SKILL.md description's own trigger/NOT-fence language.",
|
|
4
4
|
"cases": [
|
|
5
5
|
{ "id": "t01", "prompt": "Review this site docs page for consistency with the others", "expect": "trigger" },
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
{ "id": "t06", "prompt": "Create a reference page documenting the MCP tools", "expect": "trigger" },
|
|
11
11
|
{ "id": "t07", "prompt": "Audit site/pages/guides for the same callout bug we found elsewhere", "expect": "trigger" },
|
|
12
12
|
{ "id": "t08", "prompt": "What's the shared skeleton every site docs page should follow?", "expect": "trigger" },
|
|
13
|
-
{ "id": "n01", "prompt": "Review this component's own demo gallery in its .examples.html file", "expect": "no-trigger", "owner": "
|
|
14
|
-
{ "id": "n02", "prompt": "Fix this gen-ui training exemplar page under site/pages/examples", "expect": "no-trigger", "owner": "
|
|
15
|
-
{ "id": "n03", "prompt": "Tune the zettel retrieval threshold for the chunk corpus", "expect": "no-trigger", "owner": "
|
|
16
|
-
{ "id": "n04", "prompt": "Add a new prop to the button-ui primitive", "expect": "no-trigger", "owner": "
|
|
17
|
-
{ "id": "n05", "prompt": "Cut the next npm release for the 9 @adia-ai packages", "expect": "no-trigger", "owner": "
|
|
18
|
-
{ "id": "n06", "prompt": "Deploy the docs site to ui-kit.exe.xyz", "expect": "no-trigger", "owner": "
|
|
13
|
+
{ "id": "n01", "prompt": "Review this component's own demo gallery in its .examples.html file", "expect": "no-trigger", "owner": "primitive-authoring" },
|
|
14
|
+
{ "id": "n02", "prompt": "Fix this gen-ui training exemplar page under site/pages/examples", "expect": "no-trigger", "owner": "a2ui-maintenance" },
|
|
15
|
+
{ "id": "n03", "prompt": "Tune the zettel retrieval threshold for the chunk corpus", "expect": "no-trigger", "owner": "a2ui-maintenance" },
|
|
16
|
+
{ "id": "n04", "prompt": "Add a new prop to the button-ui primitive", "expect": "no-trigger", "owner": "primitive-authoring" },
|
|
17
|
+
{ "id": "n05", "prompt": "Cut the next npm release for the 9 @adia-ai packages", "expect": "no-trigger", "owner": "package-release" },
|
|
18
|
+
{ "id": "n06", "prompt": "Deploy the docs site to ui-kit.exe.xyz", "expect": "no-trigger", "owner": "site-deployment" }
|
|
19
19
|
]
|
|
20
20
|
}
|