@adia-ai/adia-ui-forge 0.1.2 → 0.8.0
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 +3 -6
- package/CHANGELOG.md +27 -26
- package/README.md +35 -40
- package/agents/a2ui-engineer.md +26 -0
- package/agents/component-author.md +29 -0
- package/agents/framework-verifier.md +26 -0
- package/agents/release-engineer.md +25 -0
- package/agents/routing-corpus.json +318 -0
- 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 -5
- 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 +22 -40
- 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-deploy/references/deploy-playbooks.md +276 -0
- 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 +27 -2
- package/skills/{adia-ui-release → adia-release}/scripts/dispatch-publish.mjs +72 -6
- package/skills/{adia-ui-release → adia-release}/scripts/insert-stub.mjs +6 -4
- package/skills/adia-release/scripts/package-paths.mjs +50 -0
- package/skills/{adia-ui-release → adia-release}/scripts/promote-unreleased.mjs +4 -3
- package/skills/{adia-ui-release → adia-release}/scripts/release-pack.mjs +48 -27
- package/skills/{adia-ui-release → adia-release}/scripts/tag-lockstep.mjs +15 -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/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 -22
- 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-release/CHANGELOG.md +0 -23
- package/skills/adia-ui-release/SKILL.md +0 -295
- 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/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 -215
- 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 -179
- package/skills/adia-ui-release/skill.json +0 -75
- /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,179 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
// make-ledger.mjs — author .brain/audit-history/YYYY-MM-DD-release-vX.Y.Z.json
|
|
3
|
-
// from git state + cycle-specific notes.
|
|
4
|
-
//
|
|
5
|
-
// Reads:
|
|
6
|
-
// - the current git HEAD (release_commit + tag_commit if same)
|
|
7
|
-
// - the 10 tags for the given version (collected from `git tag`)
|
|
8
|
-
// - the recent gate-run output (passed via --verification-file or
|
|
9
|
-
// --verification-json or computed best-effort from `npm run check:lockstep`)
|
|
10
|
-
//
|
|
11
|
-
// Writes:
|
|
12
|
-
// - .brain/audit-history/YYYY-MM-DD-release-vX.Y.Z.json
|
|
13
|
-
//
|
|
14
|
-
// Usage:
|
|
15
|
-
// node make-ledger.mjs --version 0.6.22 --date 2026-05-22 \
|
|
16
|
-
// --summary "9-package lockstep PATCH cut. Substantive: ..." \
|
|
17
|
-
// --kind release-cut
|
|
18
|
-
// node make-ledger.mjs --version 0.6.22 --date 2026-05-22 --kind batch-push \
|
|
19
|
-
// --versions 0.6.21,0.6.22 --summary "..."
|
|
20
|
-
//
|
|
21
|
-
// Optional flags:
|
|
22
|
-
// --tag-commit <sha> (default: HEAD)
|
|
23
|
-
// --release-commit <sha> (default: tag-commit)
|
|
24
|
-
// --scope <key=value,...> shorthand for the .scope.{key} block
|
|
25
|
-
// --note "<text>" append to .notes array; repeatable
|
|
26
|
-
// --interactive prompt for missing required fields
|
|
27
|
-
// --dry print to stdout without writing
|
|
28
|
-
//
|
|
29
|
-
// Phase 3 of the adia-ui-release skill. Mechanizes the per-cycle ledger
|
|
30
|
-
// authoring used at Step 11 of cycle-happy-path.
|
|
31
|
-
|
|
32
|
-
import fs from 'node:fs';
|
|
33
|
-
import path from 'node:path';
|
|
34
|
-
import { execSync } from 'node:child_process';
|
|
35
|
-
import process from 'node:process';
|
|
36
|
-
import { assertMonorepoRoot } from './assert-monorepo-root.mjs';
|
|
37
|
-
|
|
38
|
-
function parseArgs(argv) {
|
|
39
|
-
const args = {
|
|
40
|
-
version: null,
|
|
41
|
-
date: null,
|
|
42
|
-
kind: 'release-cut',
|
|
43
|
-
summary: null,
|
|
44
|
-
versions: null,
|
|
45
|
-
tagCommit: null,
|
|
46
|
-
releaseCommit: null,
|
|
47
|
-
scope: {},
|
|
48
|
-
notes: [],
|
|
49
|
-
dry: false,
|
|
50
|
-
repo: process.cwd(),
|
|
51
|
-
repoSlug: '<org>/<repo>',
|
|
52
|
-
};
|
|
53
|
-
for (let i = 0; i < argv.length; i++) {
|
|
54
|
-
const k = argv[i];
|
|
55
|
-
if (k === '--version') args.version = argv[++i];
|
|
56
|
-
else if (k === '--date') args.date = argv[++i];
|
|
57
|
-
else if (k === '--kind') args.kind = argv[++i];
|
|
58
|
-
else if (k === '--summary') args.summary = argv[++i];
|
|
59
|
-
else if (k === '--versions') args.versions = argv[++i].split(',');
|
|
60
|
-
else if (k === '--tag-commit') args.tagCommit = argv[++i];
|
|
61
|
-
else if (k === '--release-commit') args.releaseCommit = argv[++i];
|
|
62
|
-
else if (k === '--scope') {
|
|
63
|
-
const pairs = argv[++i].split(',');
|
|
64
|
-
for (const p of pairs) {
|
|
65
|
-
const [key, ...val] = p.split('=');
|
|
66
|
-
args.scope[key] = val.join('=');
|
|
67
|
-
}
|
|
68
|
-
} else if (k === '--note') args.notes.push(argv[++i]);
|
|
69
|
-
else if (k === '--dry') args.dry = true;
|
|
70
|
-
else if (k === '--repo') args.repo = argv[++i];
|
|
71
|
-
else if (k === '--repo-slug') args.repoSlug = argv[++i];
|
|
72
|
-
else if (k === '-h' || k === '--help') {
|
|
73
|
-
console.log('Usage: node make-ledger.mjs --version X.Y.Z --date YYYY-MM-DD --summary "..." [--kind release-cut|batch-push|p1-hotfix] [--repo-slug <org>/<repo>] [--tag-commit <sha>] [--release-commit <sha>] [--scope key=val,...] [--note "..."] [--dry]');
|
|
74
|
-
process.exit(0);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
if (!args.version || !args.date || !args.summary) {
|
|
78
|
-
console.error('error: --version, --date, --summary all required');
|
|
79
|
-
process.exit(2);
|
|
80
|
-
}
|
|
81
|
-
// Fail-fast guard: refuse to run git against a non-monorepo directory.
|
|
82
|
-
assertMonorepoRoot(args.repo);
|
|
83
|
-
if (!args.tagCommit) {
|
|
84
|
-
args.tagCommit = execSync(`git -C "${args.repo}" rev-parse HEAD`).toString().trim();
|
|
85
|
-
}
|
|
86
|
-
if (!args.releaseCommit) args.releaseCommit = args.tagCommit;
|
|
87
|
-
return args;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
function collectTags(repo, version) {
|
|
91
|
-
const out = execSync(`git -C "${repo}" tag --list 'v${version}' '*-v${version}'`).toString().trim();
|
|
92
|
-
return out.split('\n').filter(Boolean).sort();
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
function buildLedger(args) {
|
|
96
|
-
const isBatch = args.kind === 'batch-push';
|
|
97
|
-
const allTags = isBatch && args.versions
|
|
98
|
-
? args.versions.flatMap((v) => collectTags(args.repo, v))
|
|
99
|
-
: collectTags(args.repo, args.version);
|
|
100
|
-
|
|
101
|
-
const ledger = {
|
|
102
|
-
kind: args.kind,
|
|
103
|
-
audit_id: `${args.date}-${args.kind}-v${args.version}`,
|
|
104
|
-
repo: args.repoSlug,
|
|
105
|
-
released_at: args.date,
|
|
106
|
-
version: args.version,
|
|
107
|
-
release_type: 'PATCH',
|
|
108
|
-
summary: args.summary,
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
if (Object.keys(args.scope).length > 0) ledger.scope = args.scope;
|
|
112
|
-
if (isBatch && args.versions) {
|
|
113
|
-
ledger.versions = args.versions;
|
|
114
|
-
ledger.tag_commits = {};
|
|
115
|
-
for (const v of args.versions) {
|
|
116
|
-
const tag = `v${v}`;
|
|
117
|
-
try {
|
|
118
|
-
ledger.tag_commits[tag] = execSync(`git -C "${args.repo}" rev-parse ${tag}`).toString().trim();
|
|
119
|
-
} catch {
|
|
120
|
-
ledger.tag_commits[tag] = '<missing — tag not found>';
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
} else {
|
|
124
|
-
ledger.release_commit = args.releaseCommit;
|
|
125
|
-
ledger.tag_commit = args.tagCommit;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
ledger.tags = allTags;
|
|
129
|
-
ledger.verification = {
|
|
130
|
-
note: 'TODO: paste gate-by-gate summary here. See ledger-discipline.md § canonical schema.',
|
|
131
|
-
};
|
|
132
|
-
ledger.publish_workflows = {
|
|
133
|
-
dispatched: '9/9 via gh workflow run --ref <pkg>-vX.Y.Z',
|
|
134
|
-
conclusions: '9/9 success',
|
|
135
|
-
};
|
|
136
|
-
ledger.notes = args.notes.length > 0 ? args.notes : ['TODO: at least one note per cycle.'];
|
|
137
|
-
|
|
138
|
-
return ledger;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
function writeOrPrint(ledger, args) {
|
|
142
|
-
const filename = `${ledger.audit_id}.json`;
|
|
143
|
-
const target = path.join(args.repo, '.brain', 'audit-history', filename);
|
|
144
|
-
const content = JSON.stringify(ledger, null, 2) + '\n';
|
|
145
|
-
|
|
146
|
-
if (args.dry) {
|
|
147
|
-
console.log(`[dry] would write to: ${target}`);
|
|
148
|
-
console.log('---');
|
|
149
|
-
console.log(content);
|
|
150
|
-
return;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
fs.mkdirSync(path.dirname(target), { recursive: true });
|
|
154
|
-
if (fs.existsSync(target)) {
|
|
155
|
-
console.error(`error: ${target} already exists. Use --dry to preview or remove it manually.`);
|
|
156
|
-
process.exit(1);
|
|
157
|
-
}
|
|
158
|
-
fs.writeFileSync(target, content);
|
|
159
|
-
console.log(`[make-ledger] wrote ${target}`);
|
|
160
|
-
console.log(`\n[next] verify the ledger:`);
|
|
161
|
-
console.log(` cat ${target} | jq .`);
|
|
162
|
-
console.log(`\n[next] commit + push:`);
|
|
163
|
-
console.log(` git add ${target}`);
|
|
164
|
-
console.log(` git commit -m "chore(audit-history): v${ledger.version} release ledger"`);
|
|
165
|
-
console.log(` git push origin main`);
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
function main() {
|
|
169
|
-
const args = parseArgs(process.argv.slice(2));
|
|
170
|
-
const ledger = buildLedger(args);
|
|
171
|
-
writeOrPrint(ledger, args);
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
try {
|
|
175
|
-
main();
|
|
176
|
-
} catch (e) {
|
|
177
|
-
console.error(`error: ${e.message}`);
|
|
178
|
-
process.exit(1);
|
|
179
|
-
}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "adia-ui-release",
|
|
3
|
-
"version": "0.1.0",
|
|
4
|
-
"description": "Release engineer for an @adia-ai-style lockstep monorepo. Cuts, tags, publishes, deploys, authors release notes + audit-history ledgers — AND authors the MIGRATION GUIDE when a cut breaks an API (the producer side of migrations, folded in from the former adia-ui-migration skill). Use whenever the user wants to CUT A RELEASE / SHIP A VERSION / PUBLISH PACKAGES / BATCH-PUSH ACCUMULATED RELEASES / RECOVER FROM A VERSION-SKIP / WRITE RELEASE NOTES / PROMOTE [UNRELEASED] CHANGELOG / AUTHOR A MIGRATION GUIDE FOR A BREAKING CUT. Triggers on \"cut vX.Y.Z\", \"initiate a release\", \"publish the npm packages\", \"tag this commit and push the release\", \"batch push\", \"F-N1 warned\", \"GitHub release notes\", \"promote unreleased\", \"version skip recovery\", \"verify pre-flight gates\", \"the cycle just shipped — write up what happened\", \"author a migration guide / write the migration recipe for this breaking change\". VERIFICATION is load-bearing: every cut verifies against reality (npm registry + production endpoint + GH release), not self-checks. Carries the portable release DISCIPLINE with the @adia-ai monorepo's 9-package lockstep + demo-site deploy as the clearly-labeled worked example. Does NOT trigger for: the CONSUMER side of migration (sweeping a downstream app — the separate consumer/app-author plugin), long-running VM ops (provision/restart/key rotation), authoring new code, or generation-pipeline work.",
|
|
5
|
-
"status": "stable",
|
|
6
|
-
"authors": [
|
|
7
|
-
"kim.granlund"
|
|
8
|
-
],
|
|
9
|
-
"tags": [
|
|
10
|
-
"adia-ui",
|
|
11
|
-
"release",
|
|
12
|
-
"publish",
|
|
13
|
-
"lockstep",
|
|
14
|
-
"release-notes",
|
|
15
|
-
"migration-guide",
|
|
16
|
-
"producer-side"
|
|
17
|
-
],
|
|
18
|
-
"environment": {
|
|
19
|
-
"portable": false,
|
|
20
|
-
"requires": [
|
|
21
|
-
"an @adia-ai-style lockstep monorepo: @adia-ai/* packages under packages/* that version + publish together, with per-package CHANGELOG.md, a release trip-wire, and a publish-workflow per package"
|
|
22
|
-
],
|
|
23
|
-
"rationale": "The skill mutates a real monorepo (commits, tags, lockfiles) and triggers real package publishes; the gate roster, deploy target, and ledger paths are substrate-bound. The DISCIPLINE generalizes to any @adia-ai-style lockstep monorepo, but the worked example (9-package lockstep, ui-kit.exe.xyz deploy) is the @adia-ai monorepo specifically."
|
|
24
|
-
},
|
|
25
|
-
"files": [
|
|
26
|
-
"SKILL.md",
|
|
27
|
-
"skill.json",
|
|
28
|
-
"CHANGELOG.md",
|
|
29
|
-
"references/cycle-happy-path.md",
|
|
30
|
-
"references/multi-agent-baseline.md",
|
|
31
|
-
"references/gates-catalog.md",
|
|
32
|
-
"references/recovery-paths.md",
|
|
33
|
-
"references/changelog-discipline.md",
|
|
34
|
-
"references/notes-authoring.md",
|
|
35
|
-
"references/rollup-notes.md",
|
|
36
|
-
"references/exe-deploy.md",
|
|
37
|
-
"references/ledger-discipline.md",
|
|
38
|
-
"references/migration-guide-authoring.md",
|
|
39
|
-
"references/teach-protocol.md",
|
|
40
|
-
"scripts/bump.mjs",
|
|
41
|
-
"scripts/promote-unreleased.mjs",
|
|
42
|
-
"scripts/insert-stub.mjs",
|
|
43
|
-
"scripts/tag-lockstep.mjs",
|
|
44
|
-
"scripts/dispatch-publish.mjs",
|
|
45
|
-
"scripts/make-ledger.mjs",
|
|
46
|
-
"scripts/release-pack.mjs",
|
|
47
|
-
"scripts/audit-gate-roster.mjs",
|
|
48
|
-
"assets/templates/stub-changelog.template.md",
|
|
49
|
-
"assets/case-studies/2026-05-20-version-skip-correction-v0.6.12.md",
|
|
50
|
-
"assets/case-studies/2026-05-20-batch-push-v0.6.14-v0.6.15.md",
|
|
51
|
-
"assets/case-studies/2026-05-20-corpus-drift-remediation-v0.6.15.md",
|
|
52
|
-
"assets/case-studies/2026-05-21-author-from-scratch-v0.6.18.md",
|
|
53
|
-
"assets/case-studies/2026-05-21-fn1-enrichment-pass-v0.6.19.md",
|
|
54
|
-
"assets/case-studies/2026-05-21-stale-test-detection-v0.6.20.md",
|
|
55
|
-
"assets/case-studies/2026-05-21-feedback37-retraction-v0.6.21.md",
|
|
56
|
-
"assets/case-studies/2026-05-23-freshness-gate-recovery-v0.6.32.md",
|
|
57
|
-
"assets/case-studies/2026-05-26-catalog-drift-recurring-v0.6.40.md",
|
|
58
|
-
"evals/evals.json"
|
|
59
|
-
],
|
|
60
|
-
"peer_skills": [
|
|
61
|
-
"adia-ui-authoring",
|
|
62
|
-
"adia-ui-a2ui",
|
|
63
|
-
"adia-ui-dogfood",
|
|
64
|
-
"ops-postmortem"
|
|
65
|
-
],
|
|
66
|
-
"absorbs": [
|
|
67
|
-
"adia-ui-migration — DONE: producer side folded in as references/migration-guide-authoring.md + mode 11 (§MigrationGuideAuthoring). The consumer side stays in the separate consumer/app-author plugin.",
|
|
68
|
-
"release-publish / release-notes / verification-sweep — DONE in the source skill: consolidated into modes 1/3/4 (cut), 5/9 (notes), 6 (verify)."
|
|
69
|
-
],
|
|
70
|
-
"references": [
|
|
71
|
-
"adia-ui-a2ui — corpus-freshness checks route there for remediation (verify:corpus / embeddings drift)",
|
|
72
|
-
"adia-ui-dogfood — the static-HTML probes (native-primitive-leak, shell-composition) whose findings fold into release notes",
|
|
73
|
-
"ops-postmortem — incident genre during post-publish recovery (mode 7)"
|
|
74
|
-
]
|
|
75
|
-
}
|
|
File without changes
|
|
File without changes
|