@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,215 +0,0 @@
|
|
|
1
|
-
# Reference: Teach Protocol — Absorbing new knowledge into the adia-ui-ops skill
|
|
2
|
-
|
|
3
|
-
**Authored:** 2026-05-22 (Phase 4 of skills-rollup-roadmap; instantiation N=5 of the extensibility pattern).
|
|
4
|
-
**Why authored:** As the AdiaUI substrate accumulates new audit patterns, doc-type conventions, deploy quirks, and recipe workflows, each absorption was previously a one-off improvisation. This protocol gives every future "make sure `adia-ui-ops` knows about [pattern]" request a deterministic landing path.
|
|
5
|
-
|
|
6
|
-
**Ecosystem context:** This reference is the 5th instantiation of the extensibility pattern documented in the family's `VISION-extensibility` memo. The vision separates universal components (the trigger cluster, the 7 anti-patterns, the 5-step landing procedure, the citation-vs-knowledge principle, the negative case) from skill-specific components (the decision tree's branches, the worked examples). When editing this file, preserve the universal sections verbatim where possible. The canonical N=1 instance is the `adia-ui-kit` skill's `references/teach-protocol.md`; this file is N=5.
|
|
7
|
-
|
|
8
|
-
**Used by:** the `adia-ui-ops` skill, when an agent receives one of these triggers:
|
|
9
|
-
|
|
10
|
-
- "make sure `adia-ui-ops` knows about [the new audit pattern / doc-type / deploy step]"
|
|
11
|
-
- "train `adia-ui-ops` on [the new exe.dev quirk / lockfile drift class / staleness signal]"
|
|
12
|
-
- "the skill should know about [the post-§N pattern]"
|
|
13
|
-
- "absorb this lesson into adia-ui-ops"
|
|
14
|
-
- "teach the skill about [the new doc-type convention]"
|
|
15
|
-
|
|
16
|
-
**Companion:** `references/audit-cadence.md` (the 3-phase invocation contract that every audit-class landing must satisfy), `references/deploy-playbooks.md` (when the new knowledge is exe.dev-level), and `scripts/audit-ops-roster.mjs` (run after any §Teach landing).
|
|
17
|
-
|
|
18
|
-
**Anti-companion:** `docs/journal/YYYY/MM/<date>.md` (arc-specific stories belong in the journal, not the skill — see decision tree Branch G).
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## When to Use
|
|
23
|
-
|
|
24
|
-
Trigger phrases (from the §Teach section in SKILL.md):
|
|
25
|
-
|
|
26
|
-
- "make sure `adia-ui-ops` knows about X"
|
|
27
|
-
- "train the skill on X"
|
|
28
|
-
- "teach the skill about Y"
|
|
29
|
-
- "the skill should be aware of Z"
|
|
30
|
-
- "absorb [pattern/lesson/feedback] into adia-ui-ops"
|
|
31
|
-
- "update the skill to reflect [the new audit pattern / the new doc-type / the new playbook step]"
|
|
32
|
-
|
|
33
|
-
The phrases are universal across all extensible skills; the **landing target** is what's specific to this skill.
|
|
34
|
-
|
|
35
|
-
## Core Principles
|
|
36
|
-
|
|
37
|
-
### 1. The skill is a CITATION layer, not a KNOWLEDGE layer
|
|
38
|
-
|
|
39
|
-
Per-pattern facts live in `references/audit-patterns/<name>.md`. Per-doc-type conventions live in `references/doc-types/<type>.md`. Per-host deploy quirks live in `references/deploy-playbooks.md`. The skill cites by path; it does NOT duplicate the rule body in SKILL.md prose.
|
|
40
|
-
|
|
41
|
-
**Rule of thumb:** if you catch yourself writing "the orphan-detection audit checks X" in SKILL.md, stop. Is that fact in `references/audit-patterns/orphan-detection.md` already? If yes, cite the path. If no, the fact should land in the reference file first, THEN SKILL.md cites it via §ColdStartTriage table.
|
|
42
|
-
|
|
43
|
-
### 2. Trigger surface is universal; landing targets are skill-specific
|
|
44
|
-
|
|
45
|
-
The activation phrases — "train X on Y", "make sure X knows about Z", "absorb this into X" — are the same regardless of which skill X is. The **landing targets** vary per this skill's references/ topology (`audit-patterns/`, `doc-types/`, `recipes/`, `guidance/`, `standards/`, `deploy-playbooks.md`).
|
|
46
|
-
|
|
47
|
-
### 3. The negative case (Branch G) is load-bearing
|
|
48
|
-
|
|
49
|
-
Arc-specific stories ("how I diagnosed the 2026-05-19 ui-kit.exe.xyz outage") belong in `docs/journal/`, not in the skill. The skill is procedural knowledge that will be true tomorrow; arc stories are history that's already finished. Skip the §Teach landing entirely when the lesson is one-off.
|
|
50
|
-
|
|
51
|
-
### 4. Preserve subdirectory taxonomy
|
|
52
|
-
|
|
53
|
-
ops-repo's references/ taxonomy (`audit-patterns/` vs `doc-types/` vs `recipes/` vs `guidance/` vs `standards/`) was preserved verbatim during the v1.0.0 absorption because it's well-organized. New knowledge should fit one of these buckets; only invent a new top-level subdirectory when no existing one fits and you have ≥3 sibling files to seed it.
|
|
54
|
-
|
|
55
|
-
---
|
|
56
|
-
|
|
57
|
-
## The 7-branch decision tree
|
|
58
|
-
|
|
59
|
-
Match the incoming knowledge to one of the seven branches. Most lands in `references/`; one lands inline in SKILL.md; one lands OUT of the skill entirely.
|
|
60
|
-
|
|
61
|
-
### Branch A — New audit pattern → `references/audit-patterns/<name>.md`
|
|
62
|
-
|
|
63
|
-
**When:** A new class of repo-state drift, staleness signal, or hygiene check that isn't covered by the 16 existing patterns.
|
|
64
|
-
|
|
65
|
-
**Examples:**
|
|
66
|
-
- "Audits should catch yaml description-length drift" → `audit-patterns/yaml-description-length.md`
|
|
67
|
-
- "We need a check for components missing `.examples.html`" → `audit-patterns/missing-examples-page.md`
|
|
68
|
-
|
|
69
|
-
**Landing procedure:**
|
|
70
|
-
1. Author the pattern file with sections: Trigger / What it catches / Detection script / Apply-mode fix / Trip-wire CI gate / Cross-references.
|
|
71
|
-
2. Add a row to `references/audit-cadence.md` §Route table (with the Promise number(s) it satisfies).
|
|
72
|
-
3. Add a row to `references/audit-cadence.md` §Audit categories table.
|
|
73
|
-
4. If the pattern needs a script, add it to `scripts/` of this skill or `scripts/skills/` (ecosystem-wide).
|
|
74
|
-
5. Add a trigger keyword to SKILL.md frontmatter `trigger:` cluster.
|
|
75
|
-
|
|
76
|
-
### Branch B — New doc-type convention → `references/doc-types/<type>.md`
|
|
77
|
-
|
|
78
|
-
**When:** The substrate adopts a new canonical doc shape (ADR template variant, postmortem section, new runbook format, etc.).
|
|
79
|
-
|
|
80
|
-
**Examples:**
|
|
81
|
-
- "ADRs now require a `Trade-offs Considered:` section" → patch `doc-types/adr-pattern.md`
|
|
82
|
-
- "We're adopting `INVESTIGATION.md` for cross-incident analysis" → new `doc-types/investigation-md.md`
|
|
83
|
-
|
|
84
|
-
**Landing procedure:**
|
|
85
|
-
1. Author or patch the doc-type file with sections: Purpose / Required fields / Optional fields / Example skeleton / Tooling support / Cross-references.
|
|
86
|
-
2. If new doc-type, add a row to `references/audit-cadence.md` §Route table.
|
|
87
|
-
3. If the convention is codified in an ADR, link the ADR.
|
|
88
|
-
|
|
89
|
-
### Branch C — New recipe / multi-step workflow → `references/recipes/<name>.md`
|
|
90
|
-
|
|
91
|
-
**When:** A reproducible multi-step procedure (provisioning, cold-start harvest, two-agent fix pattern, etc.) that isn't a single audit or deploy step.
|
|
92
|
-
|
|
93
|
-
**Examples:**
|
|
94
|
-
- "Document the 'migrate `docs/` to `.brain/`' procedure" → new `recipes/migrate-to-brain.md`
|
|
95
|
-
- "The 'recommend-then-validate' pattern needs a written-down version" → already in `recipes/recommend-then-validate.md`
|
|
96
|
-
|
|
97
|
-
**Landing procedure:**
|
|
98
|
-
1. Author the recipe with sections: When to use / Prerequisites / Step-by-step (numbered with exact commands) / Verification / Common pitfalls / Cross-references.
|
|
99
|
-
2. Add a row to `references/audit-cadence.md` §Route table.
|
|
100
|
-
|
|
101
|
-
### Branch D — New deploy playbook step → patch `references/deploy-playbooks.md`
|
|
102
|
-
|
|
103
|
-
**When:** exe.dev platform quirk, new VM state to handle, new service archetype, secret-rotation variant.
|
|
104
|
-
|
|
105
|
-
**Examples:**
|
|
106
|
-
- "Caddy v3 changed the reload behavior" → patch `deploy-playbooks.md` §Playbook-deploy + §Common failures
|
|
107
|
-
- "New service `chat-ui.exe.xyz` came online" → patch §Current deployments
|
|
108
|
-
|
|
109
|
-
**Landing procedure:**
|
|
110
|
-
1. Patch the relevant §Playbook section (don't author a new file unless the procedure is entirely new).
|
|
111
|
-
2. Update §Current deployments if a new host is on the matrix.
|
|
112
|
-
3. Update §Common failures if a new symptom→cause→fix triple is known.
|
|
113
|
-
|
|
114
|
-
### Branch E — New invariant / posture → inline SKILL.md §Posture or §FirstPrinciples
|
|
115
|
-
|
|
116
|
-
**When:** A cross-cutting rule that affects how the skill is invoked (not a per-pattern fact).
|
|
117
|
-
|
|
118
|
-
**Examples:**
|
|
119
|
-
- "Apply-mode is the default; analysis-only is opt-in" → already inline as §Posture bullet
|
|
120
|
-
- "AGENTS.md ceiling is now 250 lines" → patch SKILL.md §FirstPrinciples (and `audit-cadence.md` §Verification)
|
|
121
|
-
|
|
122
|
-
**Landing procedure:**
|
|
123
|
-
1. Inline patch to SKILL.md §Posture (small) or §FirstPrinciples (large).
|
|
124
|
-
2. Add the corresponding trip-wire to `audit-cadence.md` §Verification.
|
|
125
|
-
|
|
126
|
-
### Branch F — New guidance / cross-cut → `references/guidance/<name>.md`
|
|
127
|
-
|
|
128
|
-
**When:** Doc-writing advice, context-budget heuristics, reliability-dial tuning, prose-vs-code authorial guidance.
|
|
129
|
-
|
|
130
|
-
**Examples:**
|
|
131
|
-
- "How to write good ADR titles" → patch `guidance/llm-doc-writing.md`
|
|
132
|
-
- "Reliability dial settings for a SOC2-bound repo" → patch `guidance/reliability-dial.md`
|
|
133
|
-
|
|
134
|
-
**Landing procedure:**
|
|
135
|
-
1. Patch the relevant guidance file.
|
|
136
|
-
2. Cross-reference from `audit-cadence.md` §Route if it's user-facing advice.
|
|
137
|
-
|
|
138
|
-
### Branch G (NEGATIVE) — Arc-specific story → `docs/journal/YYYY/MM/<date>.md`
|
|
139
|
-
|
|
140
|
-
**When:** A one-off audit-arc story, a specific incident postmortem, "how I fixed the ui-kit.exe.xyz outage on 2026-05-19" — anything tied to a specific moment in time.
|
|
141
|
-
|
|
142
|
-
**Examples:**
|
|
143
|
-
- "Yesterday's audit caught 47 broken links" → journal §N, not skill
|
|
144
|
-
- "How we recovered from the §76 git-add-A absorption trap" → journal + Hermes skill, not adia-ui-ops
|
|
145
|
-
|
|
146
|
-
**Landing procedure:**
|
|
147
|
-
1. Write the journal §N entry. Done — do NOT modify the skill.
|
|
148
|
-
2. If the arc surfaces a *durable* pattern, follow up with a Branch A landing AFTER the journal entry.
|
|
149
|
-
|
|
150
|
-
**Why this matters:** the skill is what's true tomorrow. Arc stories age out; patterns persist. Conflating them bloats the skill with stale prose.
|
|
151
|
-
|
|
152
|
-
---
|
|
153
|
-
|
|
154
|
-
## The 5-step landing procedure (universal)
|
|
155
|
-
|
|
156
|
-
Regardless of which branch matches, follow these 5 steps:
|
|
157
|
-
|
|
158
|
-
1. **Classify the branch** — pick A-G from the tree above. If two could fit, pick the more specific (Branch A over Branch E for an audit-specific thing).
|
|
159
|
-
2. **Author the content** — write the reference file or inline patch. Use existing siblings as templates for shape.
|
|
160
|
-
3. **Wire the citations** — add the row to `audit-cadence.md` §Route + §Audit categories (if A); add trigger keyword to SKILL.md frontmatter; cross-link from sibling references where relevant.
|
|
161
|
-
4. **Run the gates** — `node .agents/skills/adia-ui-ops/scripts/audit-ops-roster.mjs` must pass 4 axes; `node scripts/skills/audit-skill-hygiene.mjs` 0 findings; `node scripts/check-links.mjs` on staged files clean.
|
|
162
|
-
5. **Bump version + CHANGELOG** — PATCH for content additions; MINOR for new branches or new top-level subdirectories; document the landing in CHANGELOG.md with branch letter.
|
|
163
|
-
|
|
164
|
-
## 7 anti-patterns (the negative space)
|
|
165
|
-
|
|
166
|
-
Things to NOT do during §Teach landings:
|
|
167
|
-
|
|
168
|
-
1. **Don't duplicate audit-pattern body into SKILL.md.** The skill cites by path; the body lives in `audit-patterns/<name>.md`. Inline prose in SKILL.md bloats cold-start and creates two-places-to-update drift.
|
|
169
|
-
2. **Don't author a "miscellaneous patterns" reference file.** If a pattern doesn't fit `audit-patterns/`, `doc-types/`, `recipes/`, `guidance/`, or `standards/`, the classification is wrong — re-read the tree.
|
|
170
|
-
3. **Don't add to `audit-cadence.md` §Route without a destination file.** Every row must point at a real file. Future-promise rows ("coming soon") are zombie entries.
|
|
171
|
-
4. **Don't author new top-level subdirectories under references/ for single-file additions.** Six top-level dirs are enough; seed a new one only when you have ≥3 sibling files.
|
|
172
|
-
5. **Don't conflate ops with release.** Cutting versions, tagging, npm publish → `adia-ui-release`. Deploying built artifacts to VMs → `adia-ui-ops` mode 1. The hand-off boundary is the build artifact.
|
|
173
|
-
6. **Don't conflate ops with authoring.** Audit work is curatorial (find drift, propose fixes); authoring work is generative (write new ADRs, new RFCs). When in doubt, separate the cycle.
|
|
174
|
-
7. **Don't skip the §Teach trigger keyword in frontmatter.** New landing branches need the trigger keyword wired so future activations work.
|
|
175
|
-
|
|
176
|
-
## Worked examples (calibration)
|
|
177
|
-
|
|
178
|
-
### Example 1 — "Make sure adia-ui-ops knows about the EXE deploy CI gate"
|
|
179
|
-
|
|
180
|
-
**Branch:** D (deploy playbook step) — patch `deploy-playbooks.md` §Playbook-deploy with the new CI gate command, and patch §Common failures with the gate's failure modes. Add `EXE deploy CI gate` to SKILL.md frontmatter trigger cluster. CHANGELOG entry "Branch D landing — EXE deploy CI gate awareness".
|
|
181
|
-
|
|
182
|
-
### Example 2 — "Train adia-ui-ops on the new audit-history-ledger semantic"
|
|
183
|
-
|
|
184
|
-
**Branch:** A (audit pattern) — `audit-patterns/audit-history-ledger.md` exists already; patch it. Update `audit-cadence.md` §Route + §Audit categories rows if the semantic changed. CHANGELOG entry "Branch A landing — audit-history-ledger v2 semantic".
|
|
185
|
-
|
|
186
|
-
### Example 3 — "Absorb the recommend-then-validate two-agent pattern"
|
|
187
|
-
|
|
188
|
-
**Branch:** C (recipe) — `recipes/recommend-then-validate.md` exists already. If the pattern evolves, patch the recipe and cross-link any peer skill. CHANGELOG entry "Branch C landing — recommend-then-validate v2".
|
|
189
|
-
|
|
190
|
-
### Example 4 — "Teach the skill that ADRs now require a Trade-offs section"
|
|
191
|
-
|
|
192
|
-
**Branch:** B (doc-type) — patch `doc-types/adr-pattern.md` Required fields. If the convention is codified in an ADR (e.g., ADR-0035), link it. CHANGELOG entry "Branch B landing — adr-pattern Required-fields update".
|
|
193
|
-
|
|
194
|
-
### Example 5 — "The skill should know the chat-ui repo's AGENTS.md ceiling moved to 300 lines"
|
|
195
|
-
|
|
196
|
-
**Branch:** E (invariant) — patch SKILL.md §FirstPrinciples + `audit-cadence.md` §Verification (Token-optimized row). CHANGELOG entry "Branch E landing — AGENTS.md ceiling 200→300 for chat-ui scope".
|
|
197
|
-
|
|
198
|
-
### Example 6 — "Document the cold-start harvest workflow"
|
|
199
|
-
|
|
200
|
-
**Branch:** C (recipe) — `recipes/cold-start-harvest.md` exists already. If the workflow has new steps (e.g., now uses `audit-skill-hygiene.mjs`), patch the recipe. CHANGELOG entry "Branch C landing — cold-start-harvest v2 with audit-skill-hygiene step".
|
|
201
|
-
|
|
202
|
-
### Example 7 (NEGATIVE) — "How I recovered from the 2026-05-22 §76 git-add-A absorption trap"
|
|
203
|
-
|
|
204
|
-
**Branch:** G (negative) — `docs/journal/2026/05/2026-05-22.md` §N. Do NOT modify adia-ui-ops. The Hermes skill `multi-agent-git-staging-discipline` already captures the procedural lesson at the right home. No CHANGELOG entry on adia-ui-ops.
|
|
205
|
-
|
|
206
|
-
---
|
|
207
|
-
|
|
208
|
-
## Cross-references
|
|
209
|
-
|
|
210
|
-
- The family's `VISION-extensibility` memo — the universal pattern this file instantiates.
|
|
211
|
-
- The `adia-ui-kit` skill's `references/teach-protocol.md` is the canonical N=1 instance.
|
|
212
|
-
- Sibling forge skills with the same §Teach binding: [`adia-ui-release`](../../adia-ui-release/references/teach-protocol.md) (N=2), [`adia-ui-authoring`](../../adia-ui-authoring/references/teach-protocol.md) (N=3), [`adia-ui-a2ui`](../../adia-ui-a2ui/references/teach-protocol.md) (N=4). This is N=5.
|
|
213
|
-
- `references/audit-cadence.md` — the 3-phase contract every audit-class landing must satisfy
|
|
214
|
-
- `references/deploy-playbooks.md` — the destination for Branch D landings
|
|
215
|
-
- `scripts/audit-ops-roster.mjs` — run after every §Teach landing
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
// audit-ops-roster.mjs — §SelfAudit enforcement for adia-ui-ops.
|
|
3
|
-
// Axes 1–8 via the forge plugin's shared audit-axes.mjs (bin/lib/);
|
|
4
|
-
// Axis 9 = absorbed-skill roster currency.
|
|
5
|
-
//
|
|
6
|
-
// SoT: packages/plugins/adia-ui-forge/skills/adia-ui-ops/scripts/ (ADR-0040);
|
|
7
|
-
// the .agents/skills/adia-ui-ops path is a symlink into the plugin.
|
|
8
|
-
//
|
|
9
|
-
// Usage (from monorepo root):
|
|
10
|
-
// node "${CLAUDE_PLUGIN_ROOT}/skills/adia-ui-ops/scripts/audit-ops-roster.mjs"
|
|
11
|
-
// …--json (machine-readable)
|
|
12
|
-
// …--strict (non-zero exit on drift)
|
|
13
|
-
|
|
14
|
-
import fs from 'node:fs';
|
|
15
|
-
import path from 'node:path';
|
|
16
|
-
import process from 'node:process';
|
|
17
|
-
import {
|
|
18
|
-
runUniversalAxes,
|
|
19
|
-
formatResults,
|
|
20
|
-
} from '../../../bin/lib/audit-axes.mjs';
|
|
21
|
-
|
|
22
|
-
const REPO = process.cwd();
|
|
23
|
-
const SKILL_DIR = path.join(REPO, '.agents/skills/adia-ui-ops');
|
|
24
|
-
const SKILL_MD = path.join(SKILL_DIR, 'SKILL.md');
|
|
25
|
-
const SKILL_JSON = path.join(SKILL_DIR, 'skill.json');
|
|
26
|
-
const SKILLS_ROOT = path.join(REPO, '.agents/skills');
|
|
27
|
-
|
|
28
|
-
// [name, expected-redirect-path or null if already-gone]
|
|
29
|
-
const ABSORBED = [
|
|
30
|
-
['exe-dev-ops', '.agents/skills/exe-dev-ops/SKILL.md'],
|
|
31
|
-
['ops-repo', '.agents/skills/ops-repo/SKILL.md'],
|
|
32
|
-
['github-release', null],
|
|
33
|
-
['lockstep-release', null],
|
|
34
|
-
['stale-audit', null],
|
|
35
|
-
];
|
|
36
|
-
|
|
37
|
-
const CLEAN_STATUSES = ['absorbed-clean', 'absorbed-clean-deleted', 'redirect-ok'];
|
|
38
|
-
|
|
39
|
-
function parseArgs(argv) {
|
|
40
|
-
return { json: argv.includes('--json'), strict: argv.includes('--strict') };
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
function axis9_opsRosterCurrency() {
|
|
44
|
-
const findings = [];
|
|
45
|
-
for (const [name, redirectPath] of ABSORBED) {
|
|
46
|
-
if (redirectPath === null) {
|
|
47
|
-
const dir = path.join(SKILLS_ROOT, name);
|
|
48
|
-
if (fs.existsSync(dir)) {
|
|
49
|
-
findings.push({ type: 'unexpected-directory', message: `${name}/ exists but was claimed absorbed-and-gone`, name });
|
|
50
|
-
} else {
|
|
51
|
-
findings.push({ type: 'absorbed-clean', message: `${name}: no directory — correct`, name });
|
|
52
|
-
}
|
|
53
|
-
} else {
|
|
54
|
-
const full = path.join(REPO, redirectPath);
|
|
55
|
-
if (!fs.existsSync(full)) {
|
|
56
|
-
const dir = path.dirname(full);
|
|
57
|
-
findings.push({
|
|
58
|
-
type: fs.existsSync(dir) ? 'redirect-missing' : 'absorbed-clean-deleted',
|
|
59
|
-
message: fs.existsSync(dir)
|
|
60
|
-
? `${name}: expected redirect at ${redirectPath} — not found`
|
|
61
|
-
: `${name}: fully deleted post-soak`,
|
|
62
|
-
name,
|
|
63
|
-
});
|
|
64
|
-
} else {
|
|
65
|
-
const txt = fs.readFileSync(full, 'utf8');
|
|
66
|
-
findings.push(
|
|
67
|
-
/status:\s*redirect/m.test(txt)
|
|
68
|
-
? { type: 'redirect-ok', message: `${name}: redirect ok`, name }
|
|
69
|
-
: { type: 'redirect-not-tagged', message: `${name}: ${redirectPath} lacks 'status: redirect'`, name }
|
|
70
|
-
);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
const driftCount = findings.filter(f => !CLEAN_STATUSES.includes(f.type)).length;
|
|
75
|
-
return {
|
|
76
|
-
axis: 'opsRosterCurrency',
|
|
77
|
-
axis_num: 9,
|
|
78
|
-
status: driftCount > 0 ? 'drift' : 'ok',
|
|
79
|
-
findings,
|
|
80
|
-
summary: driftCount > 0 ? `${driftCount} absorbed-skill issue(s)` : 'all absorbed-skill entries clean',
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
function main() {
|
|
85
|
-
const args = parseArgs(process.argv.slice(2));
|
|
86
|
-
const ctx = { skillDir: SKILL_DIR, skillMd: SKILL_MD, skillJson: SKILL_JSON, repoRoot: REPO };
|
|
87
|
-
const { results: universal } = runUniversalAxes(ctx);
|
|
88
|
-
const axis9 = axis9_opsRosterCurrency();
|
|
89
|
-
const allResults = [...universal, axis9];
|
|
90
|
-
const driftCount = allResults.filter(r => r.status === 'drift').length;
|
|
91
|
-
|
|
92
|
-
if (args.json) {
|
|
93
|
-
console.log(JSON.stringify({ results: allResults, driftCount }, null, 2));
|
|
94
|
-
if (args.strict && driftCount > 0) process.exit(1);
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
console.log(`[audit-ops-roster] adia-ui-ops §SelfAudit — ${driftCount} drifting axis/axes`);
|
|
99
|
-
console.log(formatResults(allResults));
|
|
100
|
-
if (driftCount === 0) console.log('\n✓ All clean.');
|
|
101
|
-
if (args.strict && driftCount > 0) process.exit(1);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
main();
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "adia-ui-ops",
|
|
3
|
-
"version": "1.2.4",
|
|
4
|
-
"description": "Operator skill for the AdiaUI substrate — exe.dev VM deployment + service ops AND repo memory-layer audit + curation. Use whenever the user wants to DEPLOY TO EXE.DEV / DIAGNOSE A *.exe.xyz HOST / ROTATE KEYS / PROVISION A NEW VM / AUDIT THE REPO BRAIN / SWEEP STALE CONTENT IN .brain/ / SET UP AGENTS.md / HARVEST MEMORY ENTRIES / RUN DOCS-CURRENCY AUDIT. Triggers on \"deploy to ui-kit.exe.xyz\", \"rotate SSH keys on exe.dev\", \"port 8000 unbound\", \"provision a new VM at <host>.exe.xyz\", \"set up AGENTS.md\", \"audit the .brain folder\", \"harvest a memory entry\", \"exe.dev deploy workflow\", \"memory layer needs a dedup pass\", \"run the docs-currency audit\", \"audit our docs\". Does NOT trigger for: bare \"deploy this\" without exe.dev context, cutting releases (use adia-ui-release), authoring code (use adia-ui-authoring). Absorbs exe-dev-ops + ops-repo + github-release + lockstep-release + stale-audit.",
|
|
5
|
-
"status": "stable",
|
|
6
|
-
"authors": ["kim.granlund@gmail.com"],
|
|
7
|
-
"codeowners": [],
|
|
8
|
-
"tags": ["adiaui", "ops", "infrastructure", "exe.dev", "deployment", "vm-service", "repo-brain", "memory-layer", "audit", "stale-audit", "AGENTS.md", "ADR", "postmortem", "runbook", "doc-curation", "harness-discipline"],
|
|
9
|
-
"depends_on": [],
|
|
10
|
-
"peer_skills": ["adia-ui-kit", "adia-ui-authoring", "adia-ui-release", "adia-ui-a2ui", "dogfood-sweep"],
|
|
11
|
-
"files": [
|
|
12
|
-
"SKILL.md",
|
|
13
|
-
"CHANGELOG.md",
|
|
14
|
-
"skill.json",
|
|
15
|
-
"references/INDEX.md",
|
|
16
|
-
"references/audit-cadence.md",
|
|
17
|
-
"references/deploy-playbooks.md",
|
|
18
|
-
"references/teach-protocol.md",
|
|
19
|
-
"references/audit-patterns/archive-link-sweep.md",
|
|
20
|
-
"references/audit-patterns/audit-history-ledger.md",
|
|
21
|
-
"references/audit-patterns/browser-bundle-node-imports.md",
|
|
22
|
-
"references/audit-patterns/changelog-unreleased-bloat.md",
|
|
23
|
-
"references/audit-patterns/coverage-gaps.md",
|
|
24
|
-
"references/audit-patterns/entry-file-coverage.md",
|
|
25
|
-
"references/audit-patterns/format-hygiene.md",
|
|
26
|
-
"references/audit-patterns/lockstep-versioning.md",
|
|
27
|
-
"references/audit-patterns/memory-fragmentation.md",
|
|
28
|
-
"references/audit-patterns/orphan-detection.md",
|
|
29
|
-
"references/audit-patterns/pointer-validation.md",
|
|
30
|
-
"references/audit-patterns/redundancy-detection.md",
|
|
31
|
-
"references/audit-patterns/spec-dating-sweep.md",
|
|
32
|
-
"references/audit-patterns/stale-content.md",
|
|
33
|
-
"references/audit-patterns/staleness-tooling.md",
|
|
34
|
-
"references/audit-patterns/token-waste-detection.md",
|
|
35
|
-
"references/doc-types/adr-pattern.md",
|
|
36
|
-
"references/doc-types/architecture-md.md",
|
|
37
|
-
"references/doc-types/changelog.md",
|
|
38
|
-
"references/doc-types/decisions-log.md",
|
|
39
|
-
"references/doc-types/plan-roadmap.md",
|
|
40
|
-
"references/doc-types/postmortem-pattern.md",
|
|
41
|
-
"references/genres/prose-and-writing.md",
|
|
42
|
-
"references/guidance/context-budget.md",
|
|
43
|
-
"references/guidance/llm-doc-writing.md",
|
|
44
|
-
"references/guidance/reliability-dial.md",
|
|
45
|
-
"references/recipes/adr-introduction.md",
|
|
46
|
-
"references/recipes/audit-existing-repo.md",
|
|
47
|
-
"references/recipes/cold-start-harvest.md",
|
|
48
|
-
"references/recipes/concurrent-learnings-merge.md",
|
|
49
|
-
"references/recipes/continuous-learning-loop.md",
|
|
50
|
-
"references/recipes/external-reference-verification.md",
|
|
51
|
-
"references/recipes/findings-index-readout.md",
|
|
52
|
-
"references/recipes/greenfield-setup.md",
|
|
53
|
-
"references/recipes/harvest-repo-brain.md",
|
|
54
|
-
"references/recipes/import-repo-brain-harvest.md",
|
|
55
|
-
"references/recipes/memory-organization.md",
|
|
56
|
-
"references/recipes/recommend-then-validate.md",
|
|
57
|
-
"references/recipes/self-healing-hooks.md",
|
|
58
|
-
"references/recipes/skill-stewardship-loop.md",
|
|
59
|
-
"references/standards/agents-md-spec.md",
|
|
60
|
-
"references/standards/claude-md-convention.md",
|
|
61
|
-
"references/standards/cross-tool-matrix.md",
|
|
62
|
-
"references/standards/readme-conventions.md",
|
|
63
|
-
"scripts/audit-ops-roster.mjs"
|
|
64
|
-
]
|
|
65
|
-
}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
# Changelog — `adia-ui-release` skill
|
|
2
|
-
|
|
3
|
-
## [0.2.2] — 2026-06-10
|
|
4
|
-
|
|
5
|
-
### Fixed
|
|
6
|
-
- **`make-ledger.mjs` no longer ships placeholders.** Auto-fill `repoSlug` from `git remote get-url origin` (was the literal `<org>/<repo>` — CodeRabbit-flagged on the v0.7.17 ledger); dropped the angle-bracket placeholder in the `dispatched` default; warn on real-write when TODO fields (`verification` / `notes` / `dispatched`) would ship. Substrate fix (branch A of the §Teach tree); root-cause fix for the nit point-patched in the v0.7.17 ledger (gen-ui-kit #102).
|
|
7
|
-
|
|
8
|
-
## [0.2.1] — 2026-06-08
|
|
9
|
-
|
|
10
|
-
**Two release-tooling fixes that bit the v0.7.14 lockstep cut.** Both are substrate fixes to the bundled scripts (branch A of the §Teach decision tree); no mode/capability change.
|
|
11
|
-
|
|
12
|
-
### Fixed
|
|
13
|
-
|
|
14
|
-
- **Package name-vs-path-form inconsistency in the standalone CHANGELOG helpers.** The 6 a2ui packages live on disk under `packages/a2ui/<x>/` but carry the flat npm-name `a2ui-<x>` everywhere else in the tooling (`release-pack.mjs` / `dispatch-publish.mjs` / `tag-lockstep.mjs` all use the NAME form). `promote-unreleased.mjs` + `insert-stub.mjs` joined `packages/<arg>/CHANGELOG.md` with the raw arg, so calling them with the name form silently 404'd (`CHANGELOG.md not found at packages/a2ui-corpus/`) — it failed for all 6 a2ui packages at the v0.7.14 cut. **Both helpers now accept BOTH forms** via a new shared `scripts/package-paths.mjs` (`resolvePackageChangelog` / `resolvePackageDir`): try `packages/<arg>` first (path form, backward-compatible), and when that directory is absent fall back to `packages/a2ui/<x>` for an `a2ui-<x>` arg. Verified: name-form `a2ui-corpus` and path-form `a2ui/corpus` now resolve identically; non-a2ui packages unchanged; unknown packages still give a legible not-found.
|
|
15
|
-
- **Batch tag-push triggered ZERO publish workflows.** Pushing all 10 tags in one `git push origin <10 tags>` fires a single `create` event for the whole ref-set, which GitHub Actions routinely drops — so no `publish-<pkg>.yml` ran at the v0.7.14 cut (recovered by hand via `gh workflow run`). **`release-pack.mjs` Step 8 now pushes per-package tags one-at-a-time** (umbrella last), and **Step 9 runs `dispatch-publish.mjs --verify-triggered`** — a new mode that checks whether each `publish-<pkg>.yml` already ran for its `<pkg>-vX.Y.Z` tag and re-dispatches ONLY the misses (idempotent; safe after a partial trigger; `--dry` previews without calling `gh`). The `tag-lockstep.mjs` push hint now prints the per-tag loop + the verify-triggered recovery command instead of the batch push.
|
|
16
|
-
|
|
17
|
-
### Added
|
|
18
|
-
|
|
19
|
-
- **`scripts/package-paths.mjs`** (new) — shared name↔path-form package resolution for the CHANGELOG helpers. Pure Node, stdlib only.
|
|
20
|
-
- **`references/recovery-paths.md` §Scenario 7 — "Tags pushed but ZERO publish workflows triggered (the batch-tag-push skip)"** — shape, root cause (the GitHub batched-create-event drop), the v0.7.14 canonical case, the `--verify-triggered` recovery, the per-tag-push prevention, and the ledger fragment. Added to the §Decision flowchart; scenario count 6 → 7.
|
|
21
|
-
|
|
22
|
-
### Wiring
|
|
23
|
-
|
|
24
|
-
- `skill.json` — `version` 0.2.0 → 0.2.1 (PATCH — bug fixes); `scripts/package-paths.mjs` added to `files`.
|
|
25
|
-
- `SKILL.md` frontmatter `version` 0.2.0 → 0.2.1 (lockstep with `skill.json`); `package-paths.mjs` added to §FileMap.
|
|
26
|
-
|
|
27
|
-
## [0.2.0] — 2026-06-07
|
|
28
|
-
|
|
29
|
-
**New capability — the two release CLASSES (class-A lockstep cut + class-B independent-package release).** Folds in the "two release classes" training (ADR-0040 Phase 1b), adapted to forge's portable voice. The skill now distinguishes the **class-A lockstep cut** (the whole set bumps together — modes 1–4) from a **class-B independent-package release** (a package versioned independently of the lockstep set, excluded from the lockstep gate, no umbrella tag, no demo-site deploy — new **mode 12**). The @adia-ai monorepo's `packages/plugins/*` plugins (`adia-ui-factory` / `adia-ui-forge`) are the clearly-labeled worked example throughout; the framing stays portable (an independently-versioned package *outside* the lockstep).
|
|
30
|
-
|
|
31
|
-
### Added
|
|
32
|
-
|
|
33
|
-
- **`references/independent-package-release.md`** (new) — the class-B procedure: the two-class comparison table, the three new-package onboarding trip-wires (lockfile · release-trip-wire package registry · CHANGELOG bracket form — all **substrate** fixes, branch A of the §Teach decision tree), the step-by-step cut, the verify-against-npm target, and the marketplace cut-over. `@adia-ai` specifics labeled as the worked example; no hard `@adia-ai`-only / absolute-path / `.brain`-runtime assumptions in executable content.
|
|
34
|
-
- **SKILL.md** — **mode 12 (Independent-package release)** in the mode menu + the §Where-are-you-starting-from table; a §IndependentPackageRelease section mirroring §MigrationGuideAuthoring (the class-A vs class-B split + the three trip-wires + marketplace cut-over, with the plugins as the worked example); a class-A/class-B framing note atop §ReleaseInvariants; the mode-12 real-product verify-target row in the §PEV table (verify each package's **independent** version on the npm registry — NOT "all 9 + demo site"); §Recon classification step 10 + the mode-12 classify bullet; the `independent-package-release.md` destination added to the §Teach decision-tree branch list and to §FileMap.
|
|
35
|
-
|
|
36
|
-
### Coordination notes carried in (portable voice)
|
|
37
|
-
|
|
38
|
-
- **PR-merge gate** — land the package(s) on `main` via PR; resolve **every** review thread before an admin merge (an admin merge over unresolved threads is the failure this guards against).
|
|
39
|
-
- **Push tags from a clean worktree** — if the shared working tree is on a peer's branch, push the per-package tags from a throwaway worktree on `origin/main`.
|
|
40
|
-
|
|
41
|
-
### Wiring
|
|
42
|
-
|
|
43
|
-
- `skill.json` — `version` 0.1.0 → 0.2.0 (MINOR — new capability); `independent-package-release.md` added to `files`; `description` extended with the independent-package / plugin trigger surface.
|
|
44
|
-
- SKILL.md frontmatter `version` 0.1.0 → 0.2.0 (kept in lockstep with `skill.json`).
|
|
45
|
-
|
|
46
|
-
## [0.1.0] stable — 2026-06-03
|
|
47
|
-
|
|
48
|
-
**Initial cut in the `adia-ui-forge` plugin.** Faithful, de-repo'd, self-contained port of the @adia-ai monorepo's maintainer `adia-ui-release` skill, with the former `adia-ui-migration` skill folded in as the producer-side migration-guide-authoring section. Preserves the release-engineering depth (the gate roster, recovery paths, peer-in-flight discipline, ledger schema, notes craft) — this is a port, not a rewrite.
|
|
49
|
-
|
|
50
|
-
### Ported
|
|
51
|
-
|
|
52
|
-
- **SKILL.md** — the mode menu (now 11 modes), §Mission, §Posture (load-on- demand + content-trust citing `${CLAUDE_PLUGIN_ROOT}/references/shared/`), §Plan-Execute-Verify (per-mode real-product verify table), §ReleaseInvariants, §LoadingProtocol, §Recon, §Teach (stub → `teach-protocol.md`), §SelfAudit, §FileMap, §Status.
|
|
53
|
-
- **11 references** — `cycle-happy-path.md`, `multi-agent-baseline.md`, `gates-catalog.md`, `recovery-paths.md`, `changelog-discipline.md`, `notes-authoring.md`, `rollup-notes.md`, `exe-deploy.md`, `ledger-discipline.md`, `teach-protocol.md`, plus the new `migration-guide-authoring.md` (the fold-in).
|
|
54
|
-
- **8 scripts** (pure Node, stdlib only, `node --check` clean) — `bump.mjs`, `promote-unreleased.mjs`, `insert-stub.mjs`, `tag-lockstep.mjs`, `dispatch-publish.mjs`, `make-ledger.mjs`, `release-pack.mjs`, `audit-gate-roster.mjs`.
|
|
55
|
-
- **9 case studies** (worked-example cycles) + the lockstep stub template + `evals/evals.json`.
|
|
56
|
-
|
|
57
|
-
### Folded in — `adia-ui-migration` (producer side)
|
|
58
|
-
|
|
59
|
-
The release skill now owns **producer-side** migration: mode 11 + §MigrationGuideAuthoring + `references/migration-guide-authoring.md` — authoring the `MIGRATION GUIDE.md` section when a cut breaks an API (before→after + audit grep + sweep recipe per item, manual-review classes for semantic flips, the version-coverage table, the in-repo sweep-verification audit) and sweeping the framework's own demo / playground / catalog surfaces. The **consumer** side (sweeping a downstream app against a published guide) deliberately stays in the separate consumer/app-author plugin; mode 11 declines + redirects for "migrate our app" requests.
|
|
60
|
-
|
|
61
|
-
### Scope discipline (de-repo)
|
|
62
|
-
|
|
63
|
-
- The portable release DISCIPLINE is the core. The @adia-ai monorepo's concrete **9-package lockstep**, **`check:*` gate roster**, and **`ui-kit.exe.xyz` demo-site deploy** are kept as the clearly-labeled **worked example** (header notes in `cycle-happy-path.md`, `gates-catalog.md`, `exe-deploy.md`; package/tag counts marked as the example in §ReleaseInvariants), NOT presented as universal gates.
|
|
64
|
-
- Absolute paths (`/Users/...`) stripped; `$REPO` / `${CLAUDE_PLUGIN_ROOT}` used instead. Shared-infra references point at `${CLAUDE_PLUGIN_ROOT}/references/shared/` (content-trust, pev-rationale, skill-conventions). Skill-owned script invocations point at `${CLAUDE_PLUGIN_ROOT}/skills/adia-ui-release/scripts/`.
|
|
65
|
-
- Instance data dropped: hardcoded repo slug → `--repo-slug <org>/<repo>` flag in `make-ledger.mjs` + `<org>/<repo>` placeholder in `ledger-discipline.md`; dated version-by-version skill history from the source's 1.x CHANGELOG dropped (durable knowledge + templates kept; the 9 case studies are retained as worked examples with absolute paths stripped).
|
|
66
|
-
- Excluded-skill cross-references rewritten: `adia-ui-kit` → "the consumer/app-author plugin"; `adia-ui-ops` / `exe-dev-ops` → "a long-running-ops concern (separate; not in this plugin)"; `dogfood-sweep` → the present sibling `adia-ui-dogfood`; `a2ui-pipeline` → the present sibling `adia-ui-a2ui`; monorepo-only docs (`VISION-extensibility.md`, `trainable-skill-ecosystem-design`) → the shared `skill-conventions.md` / `pev-rationale.md`.
|