@adia-ai/adia-ui-forge 0.8.35 → 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 +47 -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 +17 -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 +170 -27
- package/skills/{adia-release → package-release}/references/gates-catalog.md +4 -3
- package/skills/{adia-release → package-release}/references/independent-package-release.md +12 -8
- 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
|
@@ -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
|
}
|
|
@@ -1,130 +1,130 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"name": "
|
|
3
|
+
"name": "site-docs-authoring routing accuracy corpus",
|
|
4
4
|
"version": "2.1.0",
|
|
5
|
-
"purpose": "Routing-eval corpus for
|
|
5
|
+
"purpose": "Routing-eval corpus for site-docs-authoring. 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-docs-authoring routing \u2014 does this phrase activate site-docs-authoring?",
|
|
8
8
|
"phrases": [
|
|
9
9
|
{
|
|
10
|
-
"id": "
|
|
10
|
+
"id": "site-docs-authoring-pos-01",
|
|
11
11
|
"phrase": "review this site docs page for consistency",
|
|
12
|
-
"expected": "
|
|
12
|
+
"expected": "site-docs-authoring"
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
|
-
"id": "
|
|
15
|
+
"id": "site-docs-authoring-pos-02",
|
|
16
16
|
"phrase": "does this callout look like plain text to you",
|
|
17
|
-
"expected": "
|
|
17
|
+
"expected": "site-docs-authoring"
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
|
-
"id": "
|
|
20
|
+
"id": "site-docs-authoring-pos-03",
|
|
21
21
|
"phrase": "why is the code background not visible on this page",
|
|
22
|
-
"expected": "
|
|
22
|
+
"expected": "site-docs-authoring"
|
|
23
23
|
},
|
|
24
24
|
{
|
|
25
|
-
"id": "
|
|
25
|
+
"id": "site-docs-authoring-pos-04",
|
|
26
26
|
"phrase": "add a new pattern page under site/pages/patterns",
|
|
27
|
-
"expected": "
|
|
27
|
+
"expected": "site-docs-authoring"
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
|
-
"id": "
|
|
30
|
+
"id": "site-docs-authoring-pos-05",
|
|
31
31
|
"phrase": "author a new getting-started guide page",
|
|
32
|
-
"expected": "
|
|
32
|
+
"expected": "site-docs-authoring"
|
|
33
33
|
},
|
|
34
34
|
{
|
|
35
|
-
"id": "
|
|
35
|
+
"id": "site-docs-authoring-pos-06",
|
|
36
36
|
"phrase": "write a new architecture explainer page for the docs site",
|
|
37
|
-
"expected": "
|
|
37
|
+
"expected": "site-docs-authoring"
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
|
-
"id": "
|
|
40
|
+
"id": "site-docs-authoring-pos-07",
|
|
41
41
|
"phrase": "create a reference page documenting the MCP tools",
|
|
42
|
-
"expected": "
|
|
42
|
+
"expected": "site-docs-authoring"
|
|
43
43
|
},
|
|
44
44
|
{
|
|
45
|
-
"id": "
|
|
45
|
+
"id": "site-docs-authoring-pos-08",
|
|
46
46
|
"phrase": "this demo page needs a tamed static frame like the other pattern pages",
|
|
47
|
-
"expected": "
|
|
47
|
+
"expected": "site-docs-authoring"
|
|
48
48
|
},
|
|
49
49
|
{
|
|
50
|
-
"id": "
|
|
50
|
+
"id": "site-docs-authoring-pos-09",
|
|
51
51
|
"phrase": "add a new admin-shell demo to this patterns page without duplicating the taming CSS",
|
|
52
|
-
"expected": "
|
|
52
|
+
"expected": "site-docs-authoring"
|
|
53
53
|
},
|
|
54
54
|
{
|
|
55
|
-
"id": "
|
|
55
|
+
"id": "site-docs-authoring-pos-10",
|
|
56
56
|
"phrase": "is this site page consistent with our authoring conventions",
|
|
57
|
-
"expected": "
|
|
57
|
+
"expected": "site-docs-authoring"
|
|
58
58
|
},
|
|
59
59
|
{
|
|
60
|
-
"id": "
|
|
60
|
+
"id": "site-docs-authoring-pos-11",
|
|
61
61
|
"phrase": "audit site/pages/guides for the same callout bug we found elsewhere",
|
|
62
|
-
"expected": "
|
|
62
|
+
"expected": "site-docs-authoring"
|
|
63
63
|
},
|
|
64
64
|
{
|
|
65
|
-
"id": "
|
|
65
|
+
"id": "site-docs-authoring-pos-12",
|
|
66
66
|
"phrase": "this warning box on the docs page has no background at all",
|
|
67
|
-
"expected": "
|
|
67
|
+
"expected": "site-docs-authoring"
|
|
68
68
|
},
|
|
69
69
|
{
|
|
70
|
-
"id": "
|
|
70
|
+
"id": "site-docs-authoring-pos-13",
|
|
71
71
|
"phrase": "what's the shared skeleton every site docs page should follow",
|
|
72
|
-
"expected": "
|
|
72
|
+
"expected": "site-docs-authoring"
|
|
73
73
|
},
|
|
74
74
|
{
|
|
75
|
-
"id": "
|
|
75
|
+
"id": "site-docs-authoring-pos-14",
|
|
76
76
|
"phrase": "what token should a new chip-like surface use to stay readable against the page background",
|
|
77
|
-
"expected": "
|
|
77
|
+
"expected": "site-docs-authoring"
|
|
78
78
|
},
|
|
79
79
|
{
|
|
80
|
-
"id": "
|
|
80
|
+
"id": "site-docs-authoring-pos-15",
|
|
81
81
|
"phrase": "check the patterns pages for any other unstyled data attributes like data-alert",
|
|
82
|
-
"expected": "
|
|
82
|
+
"expected": "site-docs-authoring"
|
|
83
83
|
},
|
|
84
84
|
{
|
|
85
|
-
"id": "
|
|
85
|
+
"id": "site-docs-authoring-pos-16",
|
|
86
86
|
"phrase": "scaffold a new getting-started/theming-dark-mode.html page",
|
|
87
|
-
"expected": "
|
|
87
|
+
"expected": "site-docs-authoring"
|
|
88
88
|
},
|
|
89
89
|
{
|
|
90
|
-
"id": "
|
|
90
|
+
"id": "site-docs-authoring-neg-01",
|
|
91
91
|
"phrase": "review this component's own demo gallery in its .examples.html file",
|
|
92
|
-
"expected_not": "
|
|
92
|
+
"expected_not": "site-docs-authoring"
|
|
93
93
|
},
|
|
94
94
|
{
|
|
95
|
-
"id": "
|
|
95
|
+
"id": "site-docs-authoring-neg-02",
|
|
96
96
|
"phrase": "fix this gen-ui training exemplar page under site/pages/examples",
|
|
97
|
-
"expected_not": "
|
|
97
|
+
"expected_not": "site-docs-authoring"
|
|
98
98
|
},
|
|
99
99
|
{
|
|
100
|
-
"id": "
|
|
100
|
+
"id": "site-docs-authoring-neg-03",
|
|
101
101
|
"phrase": "tune the zettel retrieval threshold for the chunk corpus",
|
|
102
|
-
"expected_not": "
|
|
102
|
+
"expected_not": "site-docs-authoring"
|
|
103
103
|
},
|
|
104
104
|
{
|
|
105
|
-
"id": "
|
|
105
|
+
"id": "site-docs-authoring-neg-04",
|
|
106
106
|
"phrase": "add a new prop to the button-ui primitive",
|
|
107
|
-
"expected_not": "
|
|
107
|
+
"expected_not": "site-docs-authoring"
|
|
108
108
|
},
|
|
109
109
|
{
|
|
110
|
-
"id": "
|
|
110
|
+
"id": "site-docs-authoring-neg-05",
|
|
111
111
|
"phrase": "cut the next npm release for the 9 @adia-ai packages",
|
|
112
|
-
"expected_not": "
|
|
112
|
+
"expected_not": "site-docs-authoring"
|
|
113
113
|
},
|
|
114
114
|
{
|
|
115
|
-
"id": "
|
|
115
|
+
"id": "site-docs-authoring-neg-06",
|
|
116
116
|
"phrase": "deploy the docs site to ui-kit.exe.xyz",
|
|
117
|
-
"expected_not": "
|
|
117
|
+
"expected_not": "site-docs-authoring"
|
|
118
118
|
},
|
|
119
119
|
{
|
|
120
|
-
"id": "
|
|
120
|
+
"id": "site-docs-authoring-neg-07",
|
|
121
121
|
"phrase": "fix this gen-ui training exemplar page",
|
|
122
|
-
"expected_not": "
|
|
122
|
+
"expected_not": "site-docs-authoring"
|
|
123
123
|
},
|
|
124
124
|
{
|
|
125
|
-
"id": "
|
|
125
|
+
"id": "site-docs-authoring-neg-08",
|
|
126
126
|
"phrase": "add a demo to the patterns page for card-ui",
|
|
127
|
-
"expected_not": "
|
|
127
|
+
"expected_not": "site-docs-authoring"
|
|
128
128
|
}
|
|
129
129
|
],
|
|
130
130
|
"_measured_historical": {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# intent —
|
|
1
|
+
# intent — site-docs-authoring
|
|
2
2
|
status: shipped
|
|
3
3
|
species: procedural
|
|
4
4
|
dials: { disable-model-invocation: false, user-invocable: true }
|
|
@@ -23,8 +23,8 @@ should:
|
|
|
23
23
|
- "author a new page under site/pages/getting-started"
|
|
24
24
|
- "is this site page consistent with our conventions"
|
|
25
25
|
should_not:
|
|
26
|
-
- "review this component demo gallery" (packages/web-components/components/*/*.examples.html —
|
|
27
|
-
- "fix this gen-ui training exemplar page" (site/pages/examples/**, site/pages/gen-ui/** — composition-and-examples.md's no-style-block rule +
|
|
26
|
+
- "review this component demo gallery" (packages/web-components/components/*/*.examples.html — primitive-authoring)
|
|
27
|
+
- "fix this gen-ui training exemplar page" (site/pages/examples/**, site/pages/gen-ui/** — composition-and-examples.md's no-style-block rule + a2ui-maintenance)
|
|
28
28
|
|
|
29
29
|
## delta
|
|
30
30
|
Without this skill, Claude (or a human author) reaches for whatever
|
|
@@ -48,9 +48,9 @@ block, because nothing routes them to `alert-ui` or `.demo-frame`
|
|
|
48
48
|
before they start typing.
|
|
49
49
|
|
|
50
50
|
## fences
|
|
51
|
-
- NOT for `packages/web-components/components/*/*.examples.html` component demo pages (
|
|
52
|
-
- NOT for `site/pages/examples/**`, `site/pages/gen-ui/**`, `packages/a2ui/corpus/exemplars/**` — pure primitive-composition training-harvest surfaces with their own no-style-block rule (`composition-and-examples.md`,
|
|
53
|
-
- NOT for the A2UI generation pipeline itself, chunk corpus, or MCP tools (
|
|
51
|
+
- NOT for `packages/web-components/components/*/*.examples.html` component demo pages (primitive-authoring)
|
|
52
|
+
- NOT for `site/pages/examples/**`, `site/pages/gen-ui/**`, `packages/a2ui/corpus/exemplars/**` — pure primitive-composition training-harvest surfaces with their own no-style-block rule (`composition-and-examples.md`, a2ui-maintenance)
|
|
53
|
+
- NOT for the A2UI generation pipeline itself, chunk corpus, or MCP tools (a2ui-maintenance)
|
|
54
54
|
|
|
55
55
|
## assertions
|
|
56
56
|
1. A new callout block the skill produces uses `<alert-ui variant="...">` with a `[slot="content"]` wrapper for rich text — never a bare `data-*` attribute with no matching CSS.
|
|
@@ -61,10 +61,10 @@ before they start typing.
|
|
|
61
61
|
## gates
|
|
62
62
|
P0 route: PASS — 2026-07-14 — knowledge/procedure needed on demand (author or review a site/pages doc), not mechanically checkable (hook), not always-true-every-turn (entry file), no tool-wall/parallelism need (agent). Skill.
|
|
63
63
|
P1 intent: PASS — 2026-07-14 — slots filled from the approved plan + this session's research; operator confirmed the plan's Phase 4 scope (doc + dedicated skill) via AskUserQuestion before forging began.
|
|
64
|
-
P2 evals: PASS — 2026-07-14 — see evals/routing-corpus.json (trigger cases, matching this repo's
|
|
64
|
+
P2 evals: PASS — 2026-07-14 — see evals/routing-corpus.json (trigger cases, matching this repo's primitive-authoring sibling's own eval-file convention) and assertions above (behavioral). No literal fresh-session baseline captured (this is a same-session, plan-driven forge, not an interactive intent interview) — the delta section above records the concrete "without this skill" failure mode from direct evidence (the 3 defect classes this session found and fixed) in place of a baseline transcript.
|
|
65
65
|
P3 draft: PASS — 2026-07-14 — SKILL.md + evals/routing-corpus.json exist; both dials explicit; body 61 lines, well under the 500-line budget.
|
|
66
66
|
P4 language: PASS — 2026-07-14 — self-audited against the 5 instantiation checks: task-shape rows commit to concrete actions (not descriptions); ~3 hard-gate ceiling held (never restate demo-frame properties, never a bare data-* callout, don't reach for a raw ramp step without color-verify); numeric anchors present (>=3:1, 34-page, 4 rules); contracts (task-shape table) precede the verify-steps tail; the labeled good/bad alert-ui pair lives in the referenced convention doc rather than duplicated here (reference, never restate).
|
|
67
|
-
P5 validate: PASS — 2026-07-14 — skill_lint.py clean; skill-auditor FLOOR audit verdict PASS (report at evals/audit-report.md), 3 minor non-blocking findings, all fixed same-change (phantom fence trimmed to reference composition-and-examples.md by name rather than specific paths; 2 negative imperatives demoted to positive form; intent.md's routing-corpus.json citation corrected). No fence-reciprocity step run against
|
|
67
|
+
P5 validate: PASS — 2026-07-14 — skill_lint.py clean; skill-auditor FLOOR audit verdict PASS (report at evals/audit-report.md), 3 minor non-blocking findings, all fixed same-change (phantom fence trimmed to reference composition-and-examples.md by name rather than specific paths; 2 negative imperatives demoted to positive form; intent.md's routing-corpus.json citation corrected). No fence-reciprocity step run against primitive-authoring's own evals — primitive-authoring's corpus already covers "primitive authoring" as should_route_to_author:true, which is the correct answer for those phrases; no reciprocal edit needed there.
|
|
68
68
|
|
|
69
69
|
## rulings
|
|
70
70
|
- Accepted with note: no literal fresh-session baseline transcript (P2) — this forge ran from an already-approved plan's research rather than a live interview; the delta section's direct evidence substitutes. Not re-litigated.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: ssr-compatibility
|
|
3
3
|
description: >-
|
|
4
4
|
Answers why an AdiaUI component crashes, drops content, or renders wrong
|
|
5
5
|
under SSR (linkedom/Astro consumers) — the four known failure shapes,
|
|
@@ -10,13 +10,13 @@ description: >-
|
|
|
10
10
|
nested children when server-rendered, whether it's safe to call
|
|
11
11
|
getBoundingClientRect() synchronously in connectedCallback, or whether a
|
|
12
12
|
browser-API shim/workaround can finally be deleted after a fix ships.
|
|
13
|
-
ANSWERS only. NOT for implementing a fix (
|
|
14
|
-
host/hydration wiring (
|
|
13
|
+
ANSWERS only. NOT for implementing a fix (primitive-authoring) or consumer
|
|
14
|
+
host/hydration wiring (host-wiring, adia-ui-factory plugin).
|
|
15
15
|
disable-model-invocation: false
|
|
16
16
|
user-invocable: false
|
|
17
17
|
---
|
|
18
18
|
|
|
19
|
-
#
|
|
19
|
+
# ssr-compatibility — does it work under SSR, and why not if it doesn't
|
|
20
20
|
|
|
21
21
|
Two real consumers (adiav2's `admin-portal-fe` and `factory-dashboard`) server-render
|
|
22
22
|
AdiaUI's light-DOM components via Astro 5 + `custom-elements-ssr`, which runs on
|
|
@@ -78,20 +78,20 @@ carries the reasoning for why it looks the way it does — the no-op `ElementInt
|
|
|
78
78
|
shim exists because leaving the field `undefined` would relocate a crash, not remove
|
|
79
79
|
it; deletion-based testing exists because this repo has no `linkedom` devDependency.
|
|
80
80
|
If a new case doesn't fit an existing pattern's reasoning, that's a signal to design a
|
|
81
|
-
new pattern. Route it through `
|
|
81
|
+
new pattern. Route it through `primitive-authoring` — don't force-fit the nearest existing
|
|
82
82
|
shape.
|
|
83
83
|
|
|
84
84
|
## Boundaries
|
|
85
85
|
|
|
86
86
|
- **Implementing any fix — new or matching an existing pattern.** Route to
|
|
87
|
-
`
|
|
87
|
+
`primitive-authoring`. This pack orients and cites; it never edits
|
|
88
88
|
`packages/web-components/core/` or any component source.
|
|
89
89
|
- **Consumer-side SSR/hydration host wiring** (an app's own Astro/Next config, which
|
|
90
90
|
rendering mode to pick, how to structure the hydration boundary). Route to
|
|
91
|
-
`
|
|
91
|
+
`host-wiring` (adia-ui-factory plugin) — this pack answers whether the FRAMEWORK's own
|
|
92
92
|
components are SSR-safe, not how a consumer app should be structured around them.
|
|
93
93
|
- **A2UI runtime/generation-pipeline SSR concerns** (if any surface later). Route to
|
|
94
|
-
`
|
|
94
|
+
`a2ui-maintenance` — this pack is scoped to `UIElement`'s own lifecycle and the
|
|
95
95
|
component/trait/module layer, not the generative pipeline.
|
|
96
96
|
- **Not a general web-components-SSR tutorial.** Every claim here is cited to this
|
|
97
97
|
specific framework's actual code, issues, and PRs — general SSR/custom-elements
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"skill": "
|
|
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.
|
|
2
|
+
"skill": "ssr-compatibility",
|
|
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. ssr-compatibility is user-invocable:false but disable-model-invocation:false, so it remains model-invocable and is in G7's scope.",
|
|
4
4
|
"cases": [
|
|
5
5
|
{ "id": "t01", "prompt": "Why does text-ui render empty when we server-render it with Astro?", "expect": "trigger" },
|
|
6
6
|
{ "id": "t02", "prompt": "Our SSR pass crashes because attachInternals isn't a function under linkedom", "expect": "trigger" },
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
{ "id": "t06", "prompt": "document.adoptedStyleSheets is undefined and our component library crashes on import under SSR", "expect": "trigger" },
|
|
11
11
|
{ "id": "t07", "prompt": "What's the actual root cause of the SSR content-loss bug — container CEs losing their nested children?", "expect": "trigger" },
|
|
12
12
|
{ "id": "t08", "prompt": "Can our app finally delete the 110-line browser-API SSR shim now that 0.8.5 is out?", "expect": "trigger" },
|
|
13
|
-
{ "id": "n01", "prompt": "Add hydration-aware stamping so connectedCallback stops overwriting existing children", "expect": "no-trigger", "owner": "
|
|
14
|
-
{ "id": "n02", "prompt": "Set up Astro's rendering mode and hydration boundaries for our admin app", "expect": "no-trigger", "owner": "
|
|
13
|
+
{ "id": "n01", "prompt": "Add hydration-aware stamping so connectedCallback stops overwriting existing children", "expect": "no-trigger", "owner": "primitive-authoring" },
|
|
14
|
+
{ "id": "n02", "prompt": "Set up Astro's rendering mode and hydration boundaries for our admin app", "expect": "no-trigger", "owner": "host-wiring" },
|
|
15
15
|
{ "id": "n03", "prompt": "Explain how custom element hydration works in general, independent of any specific framework", "expect": "no-trigger" },
|
|
16
|
-
{ "id": "n04", "prompt": "Wire up the a2ui generation pipeline to run inside a server-rendered page", "expect": "no-trigger", "owner": "
|
|
17
|
-
{ "id": "n05", "prompt": "Add a new primitive to the component catalog", "expect": "no-trigger", "owner": "
|
|
18
|
-
{ "id": "n06", "prompt": "Deploy the latest build to ui-kit.exe.xyz", "expect": "no-trigger", "owner": "
|
|
16
|
+
{ "id": "n04", "prompt": "Wire up the a2ui generation pipeline to run inside a server-rendered page", "expect": "no-trigger", "owner": "a2ui-maintenance" },
|
|
17
|
+
{ "id": "n05", "prompt": "Add a new primitive to the component catalog", "expect": "no-trigger", "owner": "primitive-authoring" },
|
|
18
|
+
{ "id": "n06", "prompt": "Deploy the latest build to ui-kit.exe.xyz", "expect": "no-trigger", "owner": "site-deployment" }
|
|
19
19
|
]
|
|
20
20
|
}
|