@adia-ai/adia-ui-forge 0.1.3 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +4 -7
- package/CHANGELOG.md +35 -34
- package/README.md +35 -40
- package/agents/a2ui-engineer.md +22 -53
- package/agents/component-author.md +29 -0
- package/agents/framework-verifier.md +26 -0
- package/agents/release-engineer.md +21 -81
- package/agents/routing-corpus.json +293 -64
- package/bin/demo-postwrite-pattern-gate +94 -0
- package/bin/forge-lint +17 -2
- package/bin/sidecar-prewrite-guard +104 -0
- package/commands/deploy.md +9 -0
- package/commands/dogfood.md +10 -0
- package/commands/gen-review.md +9 -0
- package/commands/release.md +10 -0
- package/hooks/hooks.json +15 -0
- package/package.json +3 -6
- package/references/contracts/a2ui-mcp-surface.md +35 -0
- package/references/contracts/migration-guide-format.md +34 -0
- package/references/shared/content-trust.md +19 -74
- package/skills/adia-a2ui/SKILL.md +99 -0
- package/skills/{adia-ui-a2ui → adia-a2ui}/evals/routing-corpus.json +10 -10
- package/skills/adia-a2ui/references/anti-patterns.md +27 -0
- package/skills/adia-a2ui/references/chunk-authoring.md +71 -0
- package/skills/adia-a2ui/references/corpus-discipline.md +68 -0
- package/skills/adia-a2ui/references/eval-diagnostics.md +86 -0
- package/skills/adia-a2ui/references/format-extension-decisions.md +66 -0
- package/skills/adia-a2ui/references/leverage-rules.md +52 -0
- package/skills/adia-a2ui/references/mcp-pipeline-ops.md +83 -0
- package/skills/adia-a2ui/references/mcp-tool-reference.md +59 -0
- package/skills/adia-a2ui/references/pipeline-overview.md +115 -0
- package/skills/adia-a2ui/references/semantic-fail-lifting.md +74 -0
- package/skills/adia-a2ui/references/strategy-engines.md +109 -0
- package/skills/adia-a2ui/references/zettel-calibration.md +104 -0
- package/skills/adia-author/SKILL.md +112 -0
- package/skills/adia-author/evals/routing-corpus.json +222 -0
- package/skills/{adia-ui-authoring → adia-author}/references/anti-patterns.md +33 -4
- package/skills/{adia-ui-authoring → adia-author}/references/authoring-cycle.md +9 -11
- package/skills/adia-author/references/canonical-pattern-index.md +243 -0
- package/skills/{adia-ui-authoring → adia-author}/references/code-style.md +19 -21
- package/skills/adia-author/references/common-gotchas.md +129 -0
- package/skills/adia-author/references/composite-demo-protocol.md +271 -0
- package/skills/{adia-ui-authoring → adia-author}/references/css-patterns.md +19 -6
- package/skills/{adia-ui-authoring → adia-author}/references/lifecycle-patterns.md +1 -0
- package/skills/{adia-ui-authoring → adia-author}/references/llm-bridge.md +3 -5
- package/skills/{adia-ui-authoring → adia-author}/references/module-promotion.md +20 -38
- package/skills/{adia-ui-authoring → adia-author}/references/primitive-audit.md +2 -4
- package/skills/{adia-ui-authoring → adia-author}/references/shell-patterns.md +12 -18
- package/skills/{adia-ui-authoring → adia-author}/references/token-contract.md +5 -7
- package/skills/{adia-ui-authoring → adia-author}/references/worked-example.md +3 -3
- package/skills/{adia-ui-authoring → adia-author}/references/yaml-contract.md +3 -3
- package/skills/{adia-ui-authoring → adia-author}/scripts/build-canonical-pattern-index.mjs +3 -3
- package/skills/adia-deploy/SKILL.md +128 -0
- package/skills/{adia-ui-ops → adia-deploy}/references/deploy-playbooks.md +47 -30
- package/skills/adia-dogfood/SKILL.md +124 -0
- package/skills/adia-dogfood/references/admin-shell-anatomy.md +77 -0
- package/skills/adia-dogfood/references/app-shell-pitfalls.md +66 -0
- package/skills/adia-dogfood/references/card-anatomy-sweep.md +66 -0
- package/skills/adia-dogfood/references/html-attr-sweep.md +63 -0
- package/skills/adia-dogfood/references/native-leak-annotations.md +73 -0
- package/skills/adia-dogfood/references/visual-probe-triage.md +80 -0
- package/skills/{adia-ui-dogfood → adia-dogfood}/scripts/analyze.mjs +30 -14
- package/skills/adia-gen-review/SKILL.md +127 -0
- package/skills/adia-gen-review/references/corpus-html-patterns.md +279 -0
- package/skills/adia-gen-review/references/loop-protocol.md +216 -0
- package/skills/adia-gen-review/references/rubric-cosmetic.md +100 -0
- package/skills/adia-gen-review/references/rubric-decompose.md +101 -0
- package/skills/adia-gen-review/references/rubric-score.md +214 -0
- package/skills/{adia-ui-gen-review → adia-gen-review}/references/scores.schema.json +2 -2
- package/skills/{adia-ui-gen-review → adia-gen-review}/scripts/gen-review-coverage-audit.mjs +4 -4
- package/skills/{adia-ui-gen-review → adia-gen-review}/scripts/gen-review-decompose.mjs +10 -6
- package/skills/{adia-ui-gen-review → adia-gen-review}/scripts/gen-review-status.mjs +5 -5
- package/skills/{adia-ui-gen-review → adia-gen-review}/scripts/validate-cycle-scores.mjs +5 -5
- package/skills/adia-llm-internals/SKILL.md +77 -0
- package/skills/{adia-ui-llm → adia-llm-internals}/references/adapter-contract.md +4 -2
- package/skills/{adia-ui-llm → adia-llm-internals}/references/add-a-provider.md +4 -5
- package/skills/{adia-ui-llm → adia-llm-internals}/references/bridge-facade.md +10 -3
- package/skills/{adia-ui-llm → adia-llm-internals}/references/browser-proxy-boundary.md +1 -1
- package/skills/{adia-ui-llm → adia-llm-internals}/references/model-registry.md +5 -3
- package/skills/{adia-ui-llm → adia-llm-internals}/references/streaming-sse.md +2 -2
- package/skills/adia-release/SKILL.md +72 -0
- package/skills/adia-release/references/changelog-discipline.md +119 -0
- package/skills/adia-release/references/cut-procedure.md +247 -0
- package/skills/adia-release/references/gates-catalog.md +222 -0
- package/skills/adia-release/references/independent-package-release.md +52 -0
- package/skills/adia-release/references/migration-guide-authoring.md +86 -0
- package/skills/adia-release/references/notes-authoring.md +90 -0
- package/skills/adia-release/references/recovery-paths.md +106 -0
- package/skills/{adia-ui-release → adia-release}/scripts/bump.mjs +28 -3
- package/skills/{adia-ui-release → adia-release}/scripts/dispatch-publish.mjs +10 -7
- package/skills/{adia-ui-release → adia-release}/scripts/insert-stub.mjs +1 -1
- package/skills/{adia-ui-release → adia-release}/scripts/package-paths.mjs +6 -0
- package/skills/{adia-ui-release → adia-release}/scripts/promote-unreleased.mjs +1 -1
- package/skills/{adia-ui-release → adia-release}/scripts/release-pack.mjs +38 -31
- package/skills/{adia-ui-release → adia-release}/scripts/tag-lockstep.mjs +7 -3
- package/skills/adia-site-docs/SKILL.md +68 -0
- package/skills/adia-site-docs/evals/audit-report.md +30 -0
- package/skills/adia-site-docs/evals/routing-corpus.json +176 -0
- package/skills/adia-site-docs/intent.md +72 -0
- package/agents/README.md +0 -209
- package/agents/author.md +0 -56
- package/agents/repo-steward.md +0 -56
- package/agents/spec-architect.md +0 -53
- package/agents/tech-lead.md +0 -57
- package/agents/verifier.md +0 -55
- package/bin/lib/audit-axes.mjs +0 -555
- package/bin/lib/dry-run-irreversible.mjs +0 -236
- package/bin/lib/run-skill-evals.mjs +0 -487
- package/bin/lib/teach-router.mjs +0 -250
- package/commands/adia-forge-a2ui.md +0 -10
- package/commands/adia-forge-author.md +0 -10
- package/commands/adia-forge-dogfood.md +0 -8
- package/commands/adia-forge-llm.md +0 -8
- package/commands/adia-forge-orient.md +0 -10
- package/commands/adia-forge-release.md +0 -8
- package/commands/adia-forge-review.md +0 -10
- package/references/shared/pev-rationale.md +0 -64
- package/references/shared/skill-conventions.md +0 -133
- package/skills/adia-ui-a2ui/CHANGELOG.md +0 -32
- package/skills/adia-ui-a2ui/SKILL.md +0 -243
- package/skills/adia-ui-a2ui/evals/adversarial-corpus.json +0 -75
- package/skills/adia-ui-a2ui/evals/teach-routing-cases.json +0 -100
- package/skills/adia-ui-a2ui/references/anti-patterns.md +0 -24
- package/skills/adia-ui-a2ui/references/chunk-authoring.md +0 -88
- package/skills/adia-ui-a2ui/references/corpus-discipline.md +0 -56
- package/skills/adia-ui-a2ui/references/eval-diagnostics.md +0 -127
- package/skills/adia-ui-a2ui/references/fragment-graph.md +0 -91
- package/skills/adia-ui-a2ui/references/mcp-pipeline-ops.md +0 -106
- package/skills/adia-ui-a2ui/references/mcp-tool-reference.md +0 -398
- package/skills/adia-ui-a2ui/references/pipeline-overview.md +0 -175
- package/skills/adia-ui-a2ui/references/semantic-fail-lifting.md +0 -120
- package/skills/adia-ui-a2ui/references/strategy-engines.md +0 -111
- package/skills/adia-ui-a2ui/references/teach-protocol.md +0 -220
- package/skills/adia-ui-a2ui/references/zettel-calibration.md +0 -93
- package/skills/adia-ui-a2ui/scripts/audit-a2ui-roster.mjs +0 -96
- package/skills/adia-ui-a2ui/scripts/teach-route.mjs +0 -157
- package/skills/adia-ui-a2ui/skill.json +0 -38
- package/skills/adia-ui-authoring/CHANGELOG.md +0 -32
- package/skills/adia-ui-authoring/SKILL.md +0 -256
- package/skills/adia-ui-authoring/assets/case-studies/admin-shell-decomposition.md +0 -101
- package/skills/adia-ui-authoring/assets/case-studies/maxtokens-32768-discovery.md +0 -109
- package/skills/adia-ui-authoring/assets/case-studies/theme-panel-promotion.md +0 -113
- package/skills/adia-ui-authoring/evals/adversarial-design-plan-gates.json +0 -138
- package/skills/adia-ui-authoring/evals/routing-corpus.json +0 -245
- package/skills/adia-ui-authoring/references/canonical-pattern-index.md +0 -179
- package/skills/adia-ui-authoring/references/common-gotchas.md +0 -93
- package/skills/adia-ui-authoring/references/composite-demo-protocol.md +0 -1084
- package/skills/adia-ui-authoring/references/teach-protocol.md +0 -428
- package/skills/adia-ui-authoring/scripts/audit-authoring-roster.mjs +0 -148
- package/skills/adia-ui-authoring/skill.json +0 -45
- package/skills/adia-ui-dogfood/CHANGELOG.md +0 -17
- package/skills/adia-ui-dogfood/README.md +0 -62
- package/skills/adia-ui-dogfood/SKILL.md +0 -866
- package/skills/adia-ui-dogfood/skill.json +0 -40
- package/skills/adia-ui-forge/SKILL.md +0 -88
- package/skills/adia-ui-forge/evals/routing-corpus.json +0 -30
- package/skills/adia-ui-gen-review/CHANGELOG.md +0 -108
- package/skills/adia-ui-gen-review/SKILL.md +0 -266
- package/skills/adia-ui-gen-review/references/loop-protocol.md +0 -712
- package/skills/adia-ui-gen-review/references/rubric-cosmetic.md +0 -144
- package/skills/adia-ui-gen-review/references/rubric-decompose.md +0 -117
- package/skills/adia-ui-gen-review/references/rubric-score.md +0 -249
- package/skills/adia-ui-gen-review/references/teach-protocol.md +0 -214
- package/skills/adia-ui-gen-review/skill.json +0 -23
- package/skills/adia-ui-llm/CHANGELOG.md +0 -25
- package/skills/adia-ui-llm/SKILL.md +0 -165
- package/skills/adia-ui-llm/evals/adversarial-corpus.json +0 -75
- package/skills/adia-ui-llm/evals/routing-corpus.json +0 -30
- package/skills/adia-ui-llm/evals/teach-routing-cases.json +0 -73
- package/skills/adia-ui-llm/references/teach-protocol.md +0 -78
- package/skills/adia-ui-llm/scripts/audit-llm-roster.mjs +0 -93
- package/skills/adia-ui-llm/scripts/teach-route.mjs +0 -119
- package/skills/adia-ui-llm/skill.json +0 -33
- package/skills/adia-ui-ops/CHANGELOG.md +0 -291
- package/skills/adia-ui-ops/SKILL.md +0 -401
- package/skills/adia-ui-ops/references/INDEX.md +0 -158
- package/skills/adia-ui-ops/references/audit-cadence.md +0 -263
- package/skills/adia-ui-ops/references/audit-patterns/archive-link-sweep.md +0 -96
- package/skills/adia-ui-ops/references/audit-patterns/audit-history-ledger.md +0 -162
- package/skills/adia-ui-ops/references/audit-patterns/browser-bundle-node-imports.md +0 -154
- package/skills/adia-ui-ops/references/audit-patterns/changelog-unreleased-bloat.md +0 -75
- package/skills/adia-ui-ops/references/audit-patterns/coverage-gaps.md +0 -187
- package/skills/adia-ui-ops/references/audit-patterns/entry-file-coverage.md +0 -122
- package/skills/adia-ui-ops/references/audit-patterns/format-hygiene.md +0 -217
- package/skills/adia-ui-ops/references/audit-patterns/lockstep-versioning.md +0 -113
- package/skills/adia-ui-ops/references/audit-patterns/memory-fragmentation.md +0 -180
- package/skills/adia-ui-ops/references/audit-patterns/orphan-detection.md +0 -202
- package/skills/adia-ui-ops/references/audit-patterns/pointer-validation.md +0 -180
- package/skills/adia-ui-ops/references/audit-patterns/redundancy-detection.md +0 -210
- package/skills/adia-ui-ops/references/audit-patterns/spec-dating-sweep.md +0 -91
- package/skills/adia-ui-ops/references/audit-patterns/stale-content.md +0 -182
- package/skills/adia-ui-ops/references/audit-patterns/staleness-tooling.md +0 -156
- package/skills/adia-ui-ops/references/audit-patterns/token-waste-detection.md +0 -196
- package/skills/adia-ui-ops/references/doc-types/adr-pattern.md +0 -210
- package/skills/adia-ui-ops/references/doc-types/architecture-md.md +0 -190
- package/skills/adia-ui-ops/references/doc-types/changelog.md +0 -183
- package/skills/adia-ui-ops/references/doc-types/decisions-log.md +0 -146
- package/skills/adia-ui-ops/references/doc-types/plan-roadmap.md +0 -182
- package/skills/adia-ui-ops/references/doc-types/postmortem-pattern.md +0 -206
- package/skills/adia-ui-ops/references/genres/prose-and-writing.md +0 -149
- package/skills/adia-ui-ops/references/guidance/context-budget.md +0 -137
- package/skills/adia-ui-ops/references/guidance/llm-doc-writing.md +0 -116
- package/skills/adia-ui-ops/references/guidance/reliability-dial.md +0 -186
- package/skills/adia-ui-ops/references/recipes/adr-introduction.md +0 -211
- package/skills/adia-ui-ops/references/recipes/audit-existing-repo.md +0 -234
- package/skills/adia-ui-ops/references/recipes/cold-start-harvest.md +0 -263
- package/skills/adia-ui-ops/references/recipes/concurrent-learnings-merge.md +0 -158
- package/skills/adia-ui-ops/references/recipes/continuous-learning-loop.md +0 -169
- package/skills/adia-ui-ops/references/recipes/external-reference-verification.md +0 -158
- package/skills/adia-ui-ops/references/recipes/findings-index-readout.md +0 -126
- package/skills/adia-ui-ops/references/recipes/greenfield-setup.md +0 -252
- package/skills/adia-ui-ops/references/recipes/harvest-repo-brain.md +0 -169
- package/skills/adia-ui-ops/references/recipes/import-repo-brain-harvest.md +0 -153
- package/skills/adia-ui-ops/references/recipes/memory-organization.md +0 -182
- package/skills/adia-ui-ops/references/recipes/recommend-then-validate.md +0 -199
- package/skills/adia-ui-ops/references/recipes/self-healing-hooks.md +0 -366
- package/skills/adia-ui-ops/references/recipes/skill-stewardship-loop.md +0 -113
- package/skills/adia-ui-ops/references/standards/agents-md-spec.md +0 -138
- package/skills/adia-ui-ops/references/standards/claude-md-convention.md +0 -123
- package/skills/adia-ui-ops/references/standards/cross-tool-matrix.md +0 -85
- package/skills/adia-ui-ops/references/standards/readme-conventions.md +0 -232
- package/skills/adia-ui-ops/references/teach-protocol.md +0 -215
- package/skills/adia-ui-ops/scripts/audit-ops-roster.mjs +0 -104
- package/skills/adia-ui-ops/skill.json +0 -65
- package/skills/adia-ui-release/CHANGELOG.md +0 -66
- package/skills/adia-ui-release/SKILL.md +0 -323
- package/skills/adia-ui-release/assets/case-studies/2026-05-20-batch-push-v0.6.14-v0.6.15.md +0 -144
- package/skills/adia-ui-release/assets/case-studies/2026-05-20-corpus-drift-remediation-v0.6.15.md +0 -155
- package/skills/adia-ui-release/assets/case-studies/2026-05-20-version-skip-correction-v0.6.12.md +0 -114
- package/skills/adia-ui-release/assets/case-studies/2026-05-21-author-from-scratch-v0.6.18.md +0 -139
- package/skills/adia-ui-release/assets/case-studies/2026-05-21-feedback37-retraction-v0.6.21.md +0 -124
- package/skills/adia-ui-release/assets/case-studies/2026-05-21-fn1-enrichment-pass-v0.6.19.md +0 -125
- package/skills/adia-ui-release/assets/case-studies/2026-05-21-stale-test-detection-v0.6.20.md +0 -142
- package/skills/adia-ui-release/assets/case-studies/2026-05-23-freshness-gate-recovery-v0.6.32.md +0 -97
- package/skills/adia-ui-release/assets/case-studies/2026-05-26-catalog-drift-recurring-v0.6.40.md +0 -147
- package/skills/adia-ui-release/assets/templates/stub-changelog.template.md +0 -22
- package/skills/adia-ui-release/evals/evals.json +0 -164
- package/skills/adia-ui-release/references/changelog-discipline.md +0 -250
- package/skills/adia-ui-release/references/cycle-happy-path.md +0 -520
- package/skills/adia-ui-release/references/exe-deploy.md +0 -149
- package/skills/adia-ui-release/references/gates-catalog.md +0 -778
- package/skills/adia-ui-release/references/independent-package-release.md +0 -129
- package/skills/adia-ui-release/references/ledger-discipline.md +0 -232
- package/skills/adia-ui-release/references/migration-guide-authoring.md +0 -174
- package/skills/adia-ui-release/references/multi-agent-baseline.md +0 -207
- package/skills/adia-ui-release/references/notes-authoring.md +0 -212
- package/skills/adia-ui-release/references/recovery-paths.md +0 -262
- package/skills/adia-ui-release/references/rollup-notes.md +0 -208
- package/skills/adia-ui-release/references/teach-protocol.md +0 -468
- package/skills/adia-ui-release/scripts/audit-gate-roster.mjs +0 -196
- package/skills/adia-ui-release/scripts/make-ledger.mjs +0 -200
- package/skills/adia-ui-release/skill.json +0 -77
- package/skills/dogfood-sweep/CHANGELOG.md +0 -37
- package/skills/dogfood-sweep/README.md +0 -105
- package/skills/dogfood-sweep/SKILL.md +0 -1000
- package/skills/dogfood-sweep/analyze.mjs +0 -600
- package/skills/dogfood-sweep/skill.json +0 -31
- /package/skills/{adia-ui-authoring → adia-author}/references/api-contract.md +0 -0
- /package/skills/{adia-ui-release → adia-release}/scripts/assert-monorepo-root.mjs +0 -0
|
@@ -1,250 +0,0 @@
|
|
|
1
|
-
# `changelog-discipline.md` — Keep-a-Changelog mechanics + F-N1 enrichment
|
|
2
|
-
|
|
3
|
-
> Loaded by modes 1, 2 when a CHANGELOG touch is needed (Variant B author-from-scratch always; Variant A only if F-N1 enrichment warns).
|
|
4
|
-
|
|
5
|
-
The AdiaUI monorepo uses [Keep a Changelog](https://keepachangelog.com/) shape per-package, with the convention that the release-cut cycle **promotes** `## [Unreleased]` content into `## [vX.Y.Z] — YYYY-MM-DD` at cut time. This file documents that mechanic + the F-N1 diff-coverage path-keyword discipline that catches when a CHANGELOG entry describes a change but doesn't use the literal path token the release trip-wire expects.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## §The 4 CHANGELOG shapes
|
|
10
|
-
|
|
11
|
-
Across the 9 packages, every per-cycle CHANGELOG entry falls into one of these shapes:
|
|
12
|
-
|
|
13
|
-
| # | Shape | When |
|
|
14
|
-
| --- | --- | --- |
|
|
15
|
-
| 1 | **Substantive — promoted** | Package has `[Unreleased]` content; cut renames the heading |
|
|
16
|
-
| 2 | **Substantive — authored** | Package has source change but no `[Unreleased]` block (e.g. corpus regen reflected only by yaml→a2ui regeneration); cut writes a fresh block |
|
|
17
|
-
| 3 | **Stub** | Package has no source change at all; cut inserts the lockstep stub |
|
|
18
|
-
| 4 | **Cycle-aware enrichment** | Substantive entry exists but doesn't include a path keyword F-N1 wants — add the keyword inline |
|
|
19
|
-
|
|
20
|
-
The §Promotion mechanic, §Authoring mechanic, and §F-N1 enrichment sections below cover each.
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## §Promotion — `[Unreleased]` → `[vX.Y.Z] — YYYY-MM-DD`
|
|
25
|
-
|
|
26
|
-
When a peer has staged work under `## [Unreleased]` and the cycle is cutting that version, the heading swap is **all** that needs to happen. The content under it (`### Added`, `### Fixed`, etc.) becomes the new version block as-is.
|
|
27
|
-
|
|
28
|
-
**Pattern:**
|
|
29
|
-
|
|
30
|
-
```text
|
|
31
|
-
## [Unreleased]
|
|
32
|
-
|
|
33
|
-
### Added — <thing>
|
|
34
|
-
- <bullets>
|
|
35
|
-
|
|
36
|
-
## [0.6.X-1] — 2026-05-21
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
becomes
|
|
40
|
-
|
|
41
|
-
```text
|
|
42
|
-
## [0.6.X] — 2026-05-21
|
|
43
|
-
|
|
44
|
-
### Added — <thing>
|
|
45
|
-
- <bullets>
|
|
46
|
-
|
|
47
|
-
## [0.6.X-1] — 2026-05-21
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
The CLI helper `scripts/promote-unreleased.mjs` does this across N packages at once. Use it like:
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
node "${CLAUDE_PLUGIN_ROOT}/skills/adia-ui-release/scripts/promote-unreleased.mjs" \
|
|
54
|
-
--version 0.6.X \
|
|
55
|
-
--date 2026-05-21 \
|
|
56
|
-
--packages web-components,web-modules,a2ui/corpus
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
For the manual case (using `Edit`), the exact text-edit pattern:
|
|
60
|
-
|
|
61
|
-
```diff
|
|
62
|
-
- ## [Unreleased]
|
|
63
|
-
+ ## [0.6.X] — 2026-05-21
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
That's it. Nothing else changes. The blank line after the heading + the `### Added —` lines below are preserved.
|
|
67
|
-
|
|
68
|
-
### When promotion is NOT a clean swap
|
|
69
|
-
|
|
70
|
-
Three cases need extra care:
|
|
71
|
-
|
|
72
|
-
1. **The substantive package's existing `[vX.Y.Z]` block was already authored as a stub** (e.g. peer cut the release commit early with "no source changes" then continued working). **Promote by replacing** the stub block with the merged `[Unreleased]` content. The v0.6.18 case in `recovery-paths.md` § `[Unreleased]` promotion is the canonical example.
|
|
73
|
-
|
|
74
|
-
2. **There's no `[Unreleased]` heading but the package DID change** (typically corpus regen — `catalog-a2ui_0_9.json` updated to reflect a yaml change in another package). **Author a fresh `[vX.Y.Z]` block** with `### Changed` (or `### Fixed` if it's a correction) describing the regenerated artifact. See §Authoring below.
|
|
75
|
-
|
|
76
|
-
3. **`[Unreleased]` has content but it's stale / wrong** (rare — peer authored entries for a different release version, or wrote speculative entries that didn't ship). **Triage with the operator before promoting.**
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
## §Authoring — fresh `[vX.Y.Z]` from scratch
|
|
81
|
-
|
|
82
|
-
For the substantive-package-changed-but-no-`[Unreleased]` case, write the block above the latest version's heading:
|
|
83
|
-
|
|
84
|
-
```markdown
|
|
85
|
-
## [0.6.X] — 2026-05-21
|
|
86
|
-
|
|
87
|
-
### Changed
|
|
88
|
-
- **<short headline>.** <one-sentence summary of what changed>. <one
|
|
89
|
-
more sentence on why, with file paths if useful>. Closes <ticket /
|
|
90
|
-
symptom>.
|
|
91
|
-
|
|
92
|
-
### Note
|
|
93
|
-
- The headline v0.6.X work shipped in `<other-package>`. See
|
|
94
|
-
`<path-to-other-CHANGELOG>#0X--YYYY-MM-DD` for details.
|
|
95
|
-
|
|
96
|
-
## [0.6.X-1] — 2026-05-21
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
The `### Note` cross-reference is optional but standard practice when the package's role in the cycle is to be a generated-artifact follow-on of substantive work in another package (e.g. a2ui-corpus catalog regen following web-components yaml changes).
|
|
100
|
-
|
|
101
|
-
---
|
|
102
|
-
|
|
103
|
-
## §Stubs — ride-along lockstep
|
|
104
|
-
|
|
105
|
-
For the 6+ packages that are pure lockstep bumps (no source change), use the template at `assets/templates/stub-changelog.template.md`. The CLI helper `scripts/insert-stub.mjs` inserts this into all the named packages:
|
|
106
|
-
|
|
107
|
-
```bash
|
|
108
|
-
node "${CLAUDE_PLUGIN_ROOT}/skills/adia-ui-release/scripts/insert-stub.mjs" \
|
|
109
|
-
--version 0.6.X \
|
|
110
|
-
--date 2026-05-21 \
|
|
111
|
-
--substantive "<one-line summary> in @adia-ai/<pkg> and @adia-ai/<pkg2>" \
|
|
112
|
-
--xref "packages/web-modules/CHANGELOG.md#0X--YYYY-MM-DD" \
|
|
113
|
-
--packages llm,a2ui/compose,a2ui/mcp,a2ui/retrieval,a2ui/runtime,a2ui/validator
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
The stub block is intentionally short:
|
|
117
|
-
|
|
118
|
-
```markdown
|
|
119
|
-
## [0.6.X] — 2026-05-21
|
|
120
|
-
|
|
121
|
-
### Maintenance
|
|
122
|
-
- **Lockstep version bump only.** No source changes in this package; bumped to maintain the 9-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.6.X work shipped in <SUBSTANTIVE>. See `<XREF>` for details.
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
**Stale stubs are a F-N1 hazard.** A "no source changes" stub on a package that DID change (e.g. a2ui-corpus catalog regenerated but nobody updated its CHANGELOG) makes F-N1 warn for missing keywords. The fix is mode-2 authoring (§Authoring above), not stubbing.
|
|
126
|
-
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
## §F-N1 diff-coverage enrichment — the path-keyword discipline
|
|
130
|
-
|
|
131
|
-
F-N1 (`scripts/release/check-release.mjs --all-pending`) cross-checks the git diff between consecutive package-tags against the CHANGELOG `[VERSION]` block. Its heuristic: for every directory touched in the diff, the CHANGELOG body should mention that directory's keyword.
|
|
132
|
-
|
|
133
|
-
**Cosmetic warn shape:**
|
|
134
|
-
|
|
135
|
-
```text
|
|
136
|
-
⚠ [warn] diff 'packages/web-components/components/' touched between
|
|
137
|
-
web-components-v0.X.Y-1 → web-components-v0.X.Y but CHANGELOG [0.X.Y]
|
|
138
|
-
doesn't mention 'components'
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
The change IS documented — the entry says "table-ui body cells truncate by default" — but the literal keyword "components" doesn't appear in the body, so the heuristic flags it.
|
|
142
|
-
|
|
143
|
-
**Fix:** add the path keyword to a natural place in an existing entry. Examples:
|
|
144
|
-
|
|
145
|
-
- `\`table.yaml\``→`\`components/table/table.yaml\``
|
|
146
|
-
- `\`element.js\``→`\`core/element.js\``
|
|
147
|
-
- `\`235 chunk JSON files\``→`\`235 JSON files under \`chunks/\``
|
|
148
|
-
|
|
149
|
-
The keyword goes INSIDE the entry text, ideally inline with a file reference where the path makes the entry MORE accurate (not less). It should NOT be a sidecar parenthetical — that would read as inserted for the gate, not as natural prose.
|
|
150
|
-
|
|
151
|
-
**Cycle:**
|
|
152
|
-
|
|
153
|
-
1. Tag, run F-N1, see the warn.
|
|
154
|
-
2. Edit the offending CHANGELOG entry.
|
|
155
|
-
3. `git add` the CHANGELOG; `git commit --amend --no-edit` (or `--amend` with an updated message).
|
|
156
|
-
4. Delete the 10 tags (the SHA moved):
|
|
157
|
-
|
|
158
|
-
```bash
|
|
159
|
-
git tag -d v0.X.Y web-components-v0.X.Y web-modules-v0.X.Y ...
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
5. Re-tag at the new HEAD (loop over the 9 per-package + umbrella).
|
|
163
|
-
6. Re-run F-N1. Expect 9/9 clean.
|
|
164
|
-
|
|
165
|
-
**Worth fixing?** Yes for clarity, but the cycle isn't _blocked_ by a single cosmetic warn — F-N1's own message says "review and proceed if intentional." However: do it. The user's "up to standards" directive covers this. By v0.6.21 the peer was authoring entries with full paths from the start (`d8cbbd30c`'s "uses full path so F-N1 gate matches" commit) — that's the goal.
|
|
166
|
-
|
|
167
|
-
### Real failures vs cosmetic warns
|
|
168
|
-
|
|
169
|
-
A **real** F-N1 failure is "diff touched `packages/<pkg>/...` and the CHANGELOG `[VERSION]` block doesn't mention the change at all." That means the cycle missed documenting a change — author a CHANGELOG entry, don't just enrich.
|
|
170
|
-
|
|
171
|
-
A **cosmetic** F-N1 warn is "the change IS documented but the regex didn't match the path keyword." That's the enrichment case above.
|
|
172
|
-
|
|
173
|
-
Tell them apart by **reading the CHANGELOG entry**: does any bullet describe the touched files (by component name, by what the change does)? If yes → cosmetic → enrich. If no → real → author.
|
|
174
|
-
|
|
175
|
-
---
|
|
176
|
-
|
|
177
|
-
## §Dating — local-time vs UTC
|
|
178
|
-
|
|
179
|
-
The AdiaUI repo's CHANGELOG dates are written in YYYY-MM-DD format without timezone. Today's date is what the operator considers "today" — typically local-time Pacific.
|
|
180
|
-
|
|
181
|
-
The repo has historically mixed dates (v0.6.10 was 2026-05-21 due to UTC rollover at cut time; v0.6.11 came back to 2026-05-20). Don't try to enforce strict consistency retroactively — too much churn for a cosmetic alignment. **For NEW cycles**, use the local date the cycle ships in.
|
|
182
|
-
|
|
183
|
-
If the operator and the runtime disagree on date (e.g. a `<system-reminder>` says today is 2026-05-21 but local clock says 2026-05-20), use the system reminder's date. It's the authoritative current date.
|
|
184
|
-
|
|
185
|
-
---
|
|
186
|
-
|
|
187
|
-
## §Markdown anchor convention
|
|
188
|
-
|
|
189
|
-
GitHub auto-generates anchors from headings. The convention `[X.Y.Z] — YYYY-MM-DD` slugifies to `XYZ--YYYY-MM-DD` (brackets/dots stripped; em-dash + spaces → double hyphen).
|
|
190
|
-
|
|
191
|
-
When a stub references another package's `[VERSION]` block:
|
|
192
|
-
|
|
193
|
-
```markdown
|
|
194
|
-
See `packages/web-modules/CHANGELOG.md#0621--2026-05-21` for details.
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
The anchor `#0621--2026-05-21` corresponds to `## [0.6.21] — 2026-05-21`. The `insert-stub.mjs` helper computes this automatically; for manual authoring, the formula is:
|
|
198
|
-
|
|
199
|
-
- Strip `[`, `]`, `.` from the version
|
|
200
|
-
- Replace `—` (em-dash + space) with `-` (en-hyphen)
|
|
201
|
-
- Lowercase
|
|
202
|
-
|
|
203
|
-
So `[0.6.21] — 2026-05-21` → `0621--2026-05-21` (the leading `--` comes from the em-dash being replaced by one hyphen + the space being replaced by another).
|
|
204
|
-
|
|
205
|
-
---
|
|
206
|
-
|
|
207
|
-
## §What to put in `### Added` / `### Changed` / `### Fixed` / etc
|
|
208
|
-
|
|
209
|
-
Keep a Changelog defines 6 categories:
|
|
210
|
-
|
|
211
|
-
- **Added** — for new features
|
|
212
|
-
- **Changed** — for changes in existing functionality
|
|
213
|
-
- **Deprecated** — for soon-to-be-removed features (deprecation notices; the feature still works)
|
|
214
|
-
- **Removed** — for now-removed features (the feature is gone; was deprecated previously)
|
|
215
|
-
- **Fixed** — for any bug fixes
|
|
216
|
-
- **Security** — in case of vulnerabilities
|
|
217
|
-
|
|
218
|
-
In the AdiaUI repo, **Added** and **Fixed** dominate. **Changed** is used for behavior changes that aren't fixes (e.g. default-value changes like the v0.6.13 `<admin-shell>` default-mode change to `"rounded borderless"`). **Removed** is rare in the 0.6.x line — v0.6.21's FEEDBACK-37 retraction was documented as `### Fixed` (spurious warn removed) rather than `### Removed` because the removal fixed a defect.
|
|
219
|
-
|
|
220
|
-
Two custom AdiaUI conventions worth knowing:
|
|
221
|
-
|
|
222
|
-
- **`### Maintenance`** — used for pure lockstep stubs (no source change). The Keep-a-Changelog spec doesn't have this; it's an AdiaUI extension that makes "this is just a bump" obvious to readers.
|
|
223
|
-
- **`### Docs`** — used for documentation-only changes. Standard practice in some Keep-a-Changelog dialects.
|
|
224
|
-
|
|
225
|
-
---
|
|
226
|
-
|
|
227
|
-
## §Entry style — what makes a good bullet
|
|
228
|
-
|
|
229
|
-
Across 20+ cycles, the entries that age well share these traits:
|
|
230
|
-
|
|
231
|
-
1. **Bold-prefix one-line headline** — the title-cased headline of the change. The reader sees this even when scrolling fast.
|
|
232
|
-
2. **Why → what → file paths** — explain the motivation (1 sentence), the mechanism (1 sentence), and the files touched (inline backtick).
|
|
233
|
-
3. **`Closes/Fixes <ticket>`** — when a feedback ticket is closed, name the ticket ID (FEEDBACK-NN). This is what `release-notes` cross-references later.
|
|
234
|
-
4. **Pre/post code block** — when the change has a consumer-facing API or markup difference, show before/after. The v0.6.13 `<admin-shell>` default-mode entry's "Opt-out matrix" code block is the canonical example.
|
|
235
|
-
5. **Inline file path** — `\`components/table/table.yaml\``(not just`\`table.yaml\``). F-N1 likes it; readers like it too.
|
|
236
|
-
|
|
237
|
-
Avoid:
|
|
238
|
-
|
|
239
|
-
- Vague verbs ("improved", "tweaked") without specifics.
|
|
240
|
-
- Reference-by-ticket-only — always describe what the code does, not just "fixes FB-NN".
|
|
241
|
-
- Future tense ("will support") — entries are written about shipped work.
|
|
242
|
-
|
|
243
|
-
---
|
|
244
|
-
|
|
245
|
-
## §When this reference is "done v1"
|
|
246
|
-
|
|
247
|
-
- Every cycle's `[Unreleased]` → `[VERSION]` promotion completes with no operator improvisation beyond `promote-unreleased.mjs`.
|
|
248
|
-
- F-N1 warns are categorized cosmetic vs real on first inspection with no false positives.
|
|
249
|
-
- Stale stubs are zero in the next 3 cycles.
|
|
250
|
-
- The path-keyword discipline holds at authoring time — no enrichment pass needed (peer adopted it by v0.6.21; this skill codifies the same).
|