@adia-ai/adia-ui-forge 0.8.62 → 0.8.64
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 +2 -2
- package/.codex-plugin/plugin.json +3 -3
- package/CHANGELOG.md +317 -275
- package/README.md +54 -18
- package/__init__.py +8 -8
- package/agents/a2ui-maintenance-agent.corpus.json +7 -7
- package/agents/a2ui-maintenance-agent.md +6 -6
- package/agents/a2ui-planner-agent.md +11 -11
- package/agents/demo-audit-agent.corpus.json +4 -4
- package/agents/demo-audit-agent.md +8 -9
- package/agents/framework-checker.md +10 -11
- package/agents/framework-planner-agent.md +9 -10
- package/agents/gen-ui-review-agent.corpus.json +4 -4
- package/agents/gen-ui-review-agent.md +8 -8
- package/agents/package-release-agent.corpus.json +4 -4
- package/agents/package-release-agent.md +9 -10
- package/agents/primitive-authoring-agent.corpus.json +1 -1
- package/agents/primitive-authoring-agent.md +5 -5
- package/agents/routing-corpus.json +46 -46
- package/codex.interface.json +1 -1
- package/commands/gen-ui-review.md +1 -1
- package/commands/package-release.md +2 -2
- package/package.json +1 -1
- package/plugin.yaml +2 -2
- package/prompts/gen-ui-review.md +1 -1
- package/prompts/package-release.md +2 -2
- package/references/contracts/a2ui-mcp-surface.md +7 -7
- package/references/contracts/migration-guide-format.md +6 -7
- package/references/shared/content-trust.md +3 -5
- package/skills/a2ui-maintenance/SKILL.md +13 -16
- package/skills/a2ui-maintenance/evals/evals.json +2 -2
- package/skills/a2ui-maintenance/evals/routing-corpus.json +1 -1
- package/skills/a2ui-maintenance/references/anti-patterns.md +10 -10
- package/skills/a2ui-maintenance/references/chunk-authoring.md +11 -12
- package/skills/a2ui-maintenance/references/corpus-discipline.md +13 -14
- package/skills/a2ui-maintenance/references/data-model-reactivity.md +22 -25
- package/skills/a2ui-maintenance/references/eval-diagnostics.md +21 -21
- package/skills/a2ui-maintenance/references/format-extension-decisions.md +12 -13
- package/skills/a2ui-maintenance/references/leverage-rules.md +6 -6
- package/skills/a2ui-maintenance/references/mcp-pipeline-ops.md +9 -10
- package/skills/a2ui-maintenance/references/mcp-tool-reference.md +11 -12
- package/skills/a2ui-maintenance/references/pipeline-overview.md +33 -38
- package/skills/a2ui-maintenance/references/semantic-fail-lifting.md +13 -14
- package/skills/a2ui-maintenance/references/strategy-engines.md +14 -16
- package/skills/a2ui-maintenance/references/surface-lifecycle.md +10 -11
- package/skills/a2ui-maintenance/references/zettel-calibration.md +14 -16
- package/skills/component-md-authoring/SKILL.md +22 -22
- package/skills/component-md-authoring/agents/openai.yaml +1 -1
- package/skills/cross-harness-authoring-standards/SKILL.md +19 -21
- package/skills/cross-harness-authoring-standards/agents/openai.yaml +1 -1
- package/skills/cross-harness-compatibility-standards/SKILL.md +35 -34
- package/skills/cross-harness-compatibility-standards/agents/openai.yaml +1 -1
- package/skills/demo-audit/SKILL.md +38 -38
- package/skills/demo-audit/evals/routing-corpus.json +1 -1
- package/skills/demo-audit/references/admin-shell-anatomy.md +21 -25
- package/skills/demo-audit/references/app-shell-pitfalls.md +11 -13
- package/skills/demo-audit/references/auto-fix-allowlist.md +3 -3
- package/skills/demo-audit/references/card-anatomy-sweep.md +10 -11
- package/skills/demo-audit/references/chat-shell-anatomy.md +25 -26
- package/skills/demo-audit/references/editor-shell-anatomy.md +25 -28
- package/skills/demo-audit/references/html-attr-sweep.md +12 -13
- package/skills/demo-audit/references/mode7-status-battery.md +4 -4
- package/skills/demo-audit/references/native-leak-annotations.md +8 -8
- package/skills/demo-audit/references/output-contract-worked-example.md +8 -8
- package/skills/demo-audit/references/probe-discipline-and-escalation.md +2 -2
- package/skills/demo-audit/references/visual-probe-triage.md +21 -23
- package/skills/gen-ui-review/SKILL.md +28 -28
- package/skills/gen-ui-review/agents/openai.yaml +1 -1
- package/skills/gen-ui-review/evals/evals.json +1 -1
- package/skills/gen-ui-review/evals/routing-corpus.json +1 -1
- package/skills/gen-ui-review/references/corpus-html-patterns.md +28 -29
- package/skills/gen-ui-review/references/exit-gate-mechanics.md +5 -5
- package/skills/gen-ui-review/references/lookup-maintenance.md +2 -2
- package/skills/gen-ui-review/references/loop-protocol.md +25 -25
- package/skills/gen-ui-review/references/rubric-cosmetic.md +10 -10
- package/skills/gen-ui-review/references/rubric-decompose.md +15 -16
- package/skills/gen-ui-review/references/rubric-score.md +23 -24
- package/skills/gen-ui-review/references/scorecard-worked-examples.md +12 -12
- package/skills/gen-ui-review/references/scores.schema.json +2 -2
- package/skills/llm-client-maintenance/SKILL.md +12 -12
- package/skills/llm-client-maintenance/evals/routing-corpus.json +1 -1
- package/skills/llm-client-maintenance/references/adapter-contract.md +27 -27
- package/skills/llm-client-maintenance/references/add-a-provider.md +25 -25
- package/skills/llm-client-maintenance/references/bridge-facade.md +31 -31
- package/skills/llm-client-maintenance/references/browser-proxy-boundary.md +17 -17
- package/skills/llm-client-maintenance/references/model-registry.md +14 -14
- package/skills/llm-client-maintenance/references/streaming-sse.md +21 -21
- package/skills/package-release/SKILL.md +21 -23
- package/skills/package-release/evals/evals.json +2 -2
- package/skills/package-release/evals/routing-corpus.json +2 -2
- package/skills/package-release/references/authorization-model.md +6 -8
- package/skills/package-release/references/changelog-discipline.md +25 -27
- package/skills/package-release/references/cut-procedure.md +129 -136
- package/skills/package-release/references/gates-catalog.md +42 -43
- package/skills/package-release/references/independent-package-release.md +14 -15
- package/skills/package-release/references/invariants-detail.md +9 -9
- package/skills/package-release/references/mechanization.md +11 -12
- package/skills/package-release/references/migration-guide-authoring.md +20 -20
- package/skills/package-release/references/notes-authoring.md +20 -20
- package/skills/package-release/references/recovery-paths.md +28 -28
- package/skills/primitive-authoring/SKILL.md +19 -19
- package/skills/primitive-authoring/agents/openai.yaml +1 -1
- package/skills/primitive-authoring/evals/evals.json +2 -2
- package/skills/primitive-authoring/evals/routing-corpus.json +2 -2
- package/skills/primitive-authoring/references/INDEX.md +22 -22
- package/skills/primitive-authoring/references/anti-patterns.md +76 -77
- package/skills/primitive-authoring/references/api-contract.md +63 -65
- package/skills/primitive-authoring/references/authoring-cycle.md +47 -50
- package/skills/primitive-authoring/references/canonical-pattern-index.md +118 -118
- package/skills/primitive-authoring/references/code-style.md +50 -52
- package/skills/primitive-authoring/references/common-gotchas.md +23 -23
- package/skills/primitive-authoring/references/composite-demo-protocol.md +42 -45
- package/skills/primitive-authoring/references/css-patterns.md +97 -97
- package/skills/primitive-authoring/references/for-attribute-event-contract.md +12 -12
- package/skills/primitive-authoring/references/form-control-sizing.md +16 -18
- package/skills/primitive-authoring/references/lifecycle-patterns.md +42 -42
- package/skills/primitive-authoring/references/llm-bridge.md +21 -21
- package/skills/primitive-authoring/references/module-promotion.md +51 -51
- package/skills/primitive-authoring/references/primitive-audit.md +16 -16
- package/skills/primitive-authoring/references/shell-patterns.md +81 -81
- package/skills/primitive-authoring/references/svg-authoring.md +62 -66
- package/skills/primitive-authoring/references/token-contract.md +45 -49
- package/skills/primitive-authoring/references/trait-pages.md +8 -8
- package/skills/primitive-authoring/references/worked-example.md +39 -39
- package/skills/primitive-authoring/references/yaml-contract.md +139 -143
- package/skills/site-deployment/SKILL.md +25 -26
- package/skills/site-deployment/agents/openai.yaml +1 -1
- package/skills/site-deployment/evals/routing-corpus.json +1 -1
- package/skills/site-deployment/references/deploy-playbooks.md +51 -53
- package/skills/site-docs-authoring/SKILL.md +14 -14
- package/skills/site-docs-authoring/agents/openai.yaml +1 -1
- package/skills/site-docs-authoring/evals/evals.json +1 -1
- package/skills/site-docs-authoring/evals/routing-corpus.json +1 -1
- package/skills/site-docs-authoring/intent.md +18 -18
- package/skills/ssr-compatibility/SKILL.md +24 -25
- package/skills/ssr-compatibility/agents/openai.yaml +1 -1
- package/skills/ssr-compatibility/evals/evals.json +1 -1
- package/skills/ssr-compatibility/evals/routing-corpus.json +1 -1
- package/skills/ssr-compatibility/references/consumer-workarounds.md +22 -23
- package/skills/ssr-compatibility/references/failure-shapes.md +84 -91
- package/skills/ssr-compatibility/references/guard-patterns.md +54 -58
- package/skills/ssr-compatibility/references/status-ledger.md +17 -17
- package/skills/ssr-compatibility/references/test-without-linkedom.md +26 -27
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
# `changelog-discipline.md
|
|
1
|
+
# `changelog-discipline.md`, Keep-a-Changelog mechanics + F-N1 enrichment
|
|
2
2
|
|
|
3
3
|
`<plugin-root>` below is `$CLAUDE_PLUGIN_ROOT` in Claude Code; the plugin's installed directory
|
|
4
4
|
in Codex.
|
|
5
5
|
|
|
6
6
|
> Load whenever a cut touches CHANGELOGs (always for author-from-scratch; for a
|
|
7
7
|
> handoff only if F-N1 warns). The monorepo uses Keep-a-Changelog per package;
|
|
8
|
-
> the cut **promotes** `## [Unreleased]` into `## [vX.Y.Z]
|
|
8
|
+
> the cut **promotes** `## [Unreleased]` into `## [vX.Y.Z], YYYY-MM-DD`.
|
|
9
9
|
|
|
10
10
|
## §The 4 entry shapes
|
|
11
11
|
|
|
12
12
|
| # | Shape | When |
|
|
13
13
|
| --- | --- | --- |
|
|
14
|
-
| 1 | Substantive
|
|
15
|
-
| 2 | Substantive
|
|
14
|
+
| 1 | Substantive, promoted | package has `[Unreleased]` content; cut renames the heading |
|
|
15
|
+
| 2 | Substantive, authored | package changed but has no `[Unreleased]` block (e.g. corpus regen); cut writes a fresh block |
|
|
16
16
|
| 3 | Stub | no source change; cut inserts the lockstep stub |
|
|
17
17
|
| 4 | Enrichment | entry exists but lacks the path keyword F-N1 wants |
|
|
18
18
|
|
|
19
|
-
## §Promotion
|
|
19
|
+
## §Promotion, `[Unreleased]` → `[vX.Y.Z], YYYY-MM-DD`
|
|
20
20
|
|
|
21
21
|
The heading swap is all that happens; content under it stays:
|
|
22
22
|
|
|
@@ -25,22 +25,22 @@ node "<plugin-root>/skills/package-release/scripts/promote-unreleased.mjs" \
|
|
|
25
25
|
--version 0.X.Y --date YYYY-MM-DD --packages web-components,web-modules,a2ui/corpus
|
|
26
26
|
```
|
|
27
27
|
|
|
28
|
-
(Package args take both name and path form
|
|
28
|
+
(Package args take both name and path form, `a2ui-corpus` and `a2ui/corpus` both resolve, via `package-paths.mjs`. The special target `root` is the repo-root CHANGELOG.md; release-pack adds it automatically whenever that file's `[Unreleased]` carries content, so it never needs listing in `--substantive-packages`.)
|
|
29
29
|
|
|
30
30
|
Non-clean cases:
|
|
31
31
|
|
|
32
|
-
1. **The `[vX.Y.Z]` block already exists as a stub** (peer cut early, then kept working)
|
|
33
|
-
2. **No `[Unreleased]` but the package DID change
|
|
34
|
-
3. **`[Unreleased]` content is stale/speculative
|
|
32
|
+
1. **The `[vX.Y.Z]` block already exists as a stub** (peer cut early, then kept working), replace the stub with the merged `[Unreleased]` content.
|
|
33
|
+
2. **No `[Unreleased]` but the package DID change**, author a fresh block (§Authoring).
|
|
34
|
+
3. **`[Unreleased]` content is stale/speculative**, triage with the operator before promoting.
|
|
35
35
|
|
|
36
|
-
**`[Unreleased]` hygiene:** it is the accumulation buffer between cuts
|
|
36
|
+
**`[Unreleased]` hygiene:** it is the accumulation buffer between cuts, after a cut it should be empty; a duplicate of the just-promoted entry is a grep hazard. **Cut cadence:** accumulate; cut when 2–3 packages have meaningful changes, or immediately for a live shipping bug, a lockstep cut carries coordination cost even mechanized.
|
|
37
37
|
|
|
38
|
-
## §Authoring
|
|
38
|
+
## §Authoring, fresh `[vX.Y.Z]` from scratch
|
|
39
39
|
|
|
40
40
|
Write above the latest version heading:
|
|
41
41
|
|
|
42
42
|
```markdown
|
|
43
|
-
## [0.X.Y]
|
|
43
|
+
## [0.X.Y], YYYY-MM-DD
|
|
44
44
|
|
|
45
45
|
### Changed
|
|
46
46
|
- **<headline>.** <what changed>. <why, with file paths>. Closes <ticket>.
|
|
@@ -52,7 +52,7 @@ Write above the latest version heading:
|
|
|
52
52
|
|
|
53
53
|
The `### Note` cross-reference is standard when the package is a generated-artifact follow-on (a2ui-corpus regen after web-components yaml changes).
|
|
54
54
|
|
|
55
|
-
## §Detecting source-changing packages
|
|
55
|
+
## §Detecting source-changing packages, classify by the diff, not the block
|
|
56
56
|
|
|
57
57
|
A package's entry shape follows its **source diff against the prior tag**, not whether `[Unreleased]` has content. Run before the bump:
|
|
58
58
|
|
|
@@ -65,12 +65,12 @@ done
|
|
|
65
65
|
```
|
|
66
66
|
|
|
67
67
|
- `count == 0` → ride-along; stub it.
|
|
68
|
-
- `count > 0` and `[Unreleased]` empty → **coverage gap, not a ride-along
|
|
68
|
+
- `count > 0` and `[Unreleased]` empty → **coverage gap, not a ride-along**, author an entry from the commit subjects now; stubbing it papers over the gap and F-N1 hard-fails at tag time, costing a new-commit-and-re-tag iteration (§F-N1 diff-coverage enrichment, below).
|
|
69
69
|
- `count > 0` and `[Unreleased]` populated → promote normally.
|
|
70
70
|
|
|
71
71
|
Why this recurs: cross-package sweeps leave 1–3 incidental touches (a docstring path, a comment, a README export list) in packages that *look* like ride-alongs; the author files the entry under the arc's main package only. The enumeration is mechanical and caught three consecutive cuts where `_No pending changes._` stubs hid real source touches.
|
|
72
72
|
|
|
73
|
-
## §Stubs
|
|
73
|
+
## §Stubs, ride-along lockstep
|
|
74
74
|
|
|
75
75
|
```bash
|
|
76
76
|
node "<plugin-root>/skills/package-release/scripts/insert-stub.mjs" \
|
|
@@ -84,7 +84,7 @@ node "<plugin-root>/skills/package-release/scripts/insert-stub.mjs" \
|
|
|
84
84
|
The inserted block:
|
|
85
85
|
|
|
86
86
|
```markdown
|
|
87
|
-
## [0.X.Y]
|
|
87
|
+
## [0.X.Y], YYYY-MM-DD
|
|
88
88
|
|
|
89
89
|
### Maintenance
|
|
90
90
|
- **Lockstep version bump only.** No source changes in this package; bumped to
|
|
@@ -93,34 +93,32 @@ The inserted block:
|
|
|
93
93
|
<SUBSTANTIVE>. See `<XREF>` for details.
|
|
94
94
|
```
|
|
95
95
|
|
|
96
|
-
- **Make the PATCH-cut asymmetry visible** when an entry mentions a dependency: version bumps to `X.Y.Z` while internal ranges hold at `^X.Y.0
|
|
96
|
+
- **Make the PATCH-cut asymmetry visible** when an entry mentions a dependency: version bumps to `X.Y.Z` while internal ranges hold at `^X.Y.0`, spell it as `dependencies["@adia-ai/<x>"]: ^X.Y.0 (covers X.Y.Z)` so it doesn't read as a bug.
|
|
97
97
|
- **Stale stubs are an F-N1 hazard.** A "no source changes" stub on a package that DID change earns a warn; the fix is authoring (§Authoring), not stubbing.
|
|
98
|
-
- **The tool owns stub packages
|
|
98
|
+
- **The tool owns stub packages, never hand-write their `[Unreleased]`.** `insert-stub.mjs` INSERTS a fresh dated block at the top; it does not promote or replace existing content. A hand-authored `[Unreleased]` stub in a `--stub-packages` target survives the insert as a second, orphaned block below it, and the orchestrator's loud guard then fails the whole run ("N packages still have non-empty [Unreleased]"), the v0.8.10 cut lost a full cycle to exactly this across 6 packages. Ride-along packages get NO hand-written entry at cut time: leave them untouched and list them in `--stub-packages`. (A package that deserves hand-written content isn't a stub, it belongs in `--substantive-packages`.)
|
|
99
99
|
|
|
100
|
-
## §F-N1 diff-coverage
|
|
100
|
+
## §F-N1 diff-coverage, mechanized at cut time (Step 4f)
|
|
101
101
|
|
|
102
102
|
F-N1 (`node scripts/release/check-release.mjs --all-pending`) cross-checks the git diff between consecutive package tags against the `[VERSION]` block: every touched directory should have its keyword mentioned.
|
|
103
103
|
|
|
104
|
-
**The coverage pass is mechanized
|
|
104
|
+
**The coverage pass is mechanized, run it BEFORE the release PR, never discover gaps after tagging:**
|
|
105
105
|
|
|
106
106
|
```bash
|
|
107
107
|
node scripts/release/check-release.mjs --pending-version X.Y.Z --fix
|
|
108
108
|
```
|
|
109
109
|
|
|
110
|
-
This is cut-procedure §Step 4f: the SAME matcher F-N1 uses at tag time (every roster package, the `changelogMentions` pattern set including the `.claude-plugin` leading-dot case), run against the working tree, auto-appending a verified `### Maintenance` bullet per uncovered directory. It re-checks its own output before writing
|
|
110
|
+
This is cut-procedure §Step 4f: the SAME matcher F-N1 uses at tag time (every roster package, the `changelogMentions` pattern set including the `.claude-plugin` leading-dot case), run against the working tree, auto-appending a verified `### Maintenance` bullet per uncovered directory. It re-checks its own output before writing, the v0.8.5 cut hand-authored "enrichment" three times that read correctly but didn't contain the literal substrings the checker matches, costing 3 PRs and 3 tag rewrites. `release-pack.mjs` cut modes run this automatically.
|
|
111
111
|
|
|
112
|
-
**Hand-enrichment (better prose than the auto-bullet):** add the path keyword inline where it makes the entry *more* accurate
|
|
112
|
+
**Hand-enrichment (better prose than the auto-bullet):** add the path keyword inline where it makes the entry *more* accurate, `` `table.yaml` `` → `` `components/table/table.yaml` ``, never as a bolted-on parenthetical. Verify with `--pending-version` (no `--fix`) before committing; never assume prose satisfies the matcher.
|
|
113
113
|
|
|
114
|
-
**Recovery
|
|
115
|
-
|
|
116
|
-
1. Run `--pending-version X.Y.Z --fix`; `git add` the CHANGELOGs; `git commit -m "fix(release): F-N1 enrichment — vX.Y.Z"`; push the branch → PR → CI → merge.
|
|
114
|
+
**Recovery, a warn AFTER tagging** (Step 4f skipped, or an interleaved merge added uncovered changes): the release commit is already merged via PR, so `--amend` is not possible, 1. Run `--pending-version X.Y.Z --fix`; `git add` the CHANGELOGs; `git commit -m "fix(release): F-N1 enrichment, vX.Y.Z"`; push the branch → PR → CI → merge.
|
|
117
115
|
2. The SHA moved: `node "<plugin-root>/skills/package-release/scripts/tag-lockstep.mjs" --version X.Y.Z --delete`, then re-tag at `main`'s new post-merge HEAD.
|
|
118
|
-
3. Re-run F-N1; expect per-package clean (umbrella error stays, ignored). ONE recovery round
|
|
116
|
+
3. Re-run F-N1; expect per-package clean (umbrella error stays, ignored). ONE recovery round, if a second warn appears, the cause is upstream (find what keeps merging into the window), not another enrichment.
|
|
119
117
|
|
|
120
118
|
## §Dating and anchors
|
|
121
119
|
|
|
122
120
|
- Dates are `YYYY-MM-DD`, no timezone; use the runtime's authoritative current date. Don't retro-fix historical UTC-rollover inconsistencies.
|
|
123
|
-
- GitHub anchor for `## [0.6.21]
|
|
121
|
+
- GitHub anchor for `## [0.6.21], 2026-05-21` is `#0621--2026-05-21`: strip `[`,`]`,`.` from the version; em-dash+spaces → `--`; lowercase. `insert-stub.mjs` computes it.
|
|
124
122
|
|
|
125
123
|
## §Categories + entry style
|
|
126
124
|
|