musubix3 0.1.19 → 0.1.21

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.
Files changed (80) hide show
  1. package/.github/plugin/marketplace.json +2 -2
  2. package/.github/skills/sdd-change/SKILL.md +28 -45
  3. package/CHANGELOG.md +126 -0
  4. package/README-ja.md +171 -5
  5. package/README.md +185 -8
  6. package/dist/packages/analysis/src/adapters.d.ts +2 -2
  7. package/dist/packages/analysis/src/adapters.js +33 -3
  8. package/dist/packages/analysis/src/adapters.js.map +1 -1
  9. package/dist/packages/analysis/src/approval-record.js +4 -0
  10. package/dist/packages/analysis/src/approval-record.js.map +1 -1
  11. package/dist/packages/analysis/src/approval.d.ts +51 -0
  12. package/dist/packages/analysis/src/approval.js +341 -2
  13. package/dist/packages/analysis/src/approval.js.map +1 -1
  14. package/dist/packages/analysis/src/attestation.js +4 -0
  15. package/dist/packages/analysis/src/attestation.js.map +1 -1
  16. package/dist/packages/analysis/src/change-evidence.d.ts +65 -8
  17. package/dist/packages/analysis/src/change-evidence.js +173 -46
  18. package/dist/packages/analysis/src/change-evidence.js.map +1 -1
  19. package/dist/packages/analysis/src/change-waiver.d.ts +46 -13
  20. package/dist/packages/analysis/src/change-waiver.js +481 -152
  21. package/dist/packages/analysis/src/change-waiver.js.map +1 -1
  22. package/dist/packages/analysis/src/change.d.ts +1 -0
  23. package/dist/packages/analysis/src/change.js +194 -66
  24. package/dist/packages/analysis/src/change.js.map +1 -1
  25. package/dist/packages/analysis/src/evidence-merge-guard.d.ts +9 -0
  26. package/dist/packages/analysis/src/evidence-merge-guard.js +62 -0
  27. package/dist/packages/analysis/src/evidence-merge-guard.js.map +1 -0
  28. package/dist/packages/analysis/src/evidence-merge.d.ts +55 -0
  29. package/dist/packages/analysis/src/evidence-merge.js +1182 -0
  30. package/dist/packages/analysis/src/evidence-merge.js.map +1 -0
  31. package/dist/packages/analysis/src/evidence-writer-lock.d.ts +189 -0
  32. package/dist/packages/analysis/src/evidence-writer-lock.js +843 -0
  33. package/dist/packages/analysis/src/evidence-writer-lock.js.map +1 -0
  34. package/dist/packages/analysis/src/files.js +11 -0
  35. package/dist/packages/analysis/src/files.js.map +1 -1
  36. package/dist/packages/analysis/src/formal.js +7 -0
  37. package/dist/packages/analysis/src/formal.js.map +1 -1
  38. package/dist/packages/analysis/src/gate.d.ts +1 -1
  39. package/dist/packages/analysis/src/gate.js +23 -6
  40. package/dist/packages/analysis/src/gate.js.map +1 -1
  41. package/dist/packages/analysis/src/graph.js +6 -0
  42. package/dist/packages/analysis/src/graph.js.map +1 -1
  43. package/dist/packages/analysis/src/index.d.ts +3 -0
  44. package/dist/packages/analysis/src/index.js +3 -0
  45. package/dist/packages/analysis/src/index.js.map +1 -1
  46. package/dist/packages/analysis/src/knowledge.js +4 -0
  47. package/dist/packages/analysis/src/knowledge.js.map +1 -1
  48. package/dist/packages/analysis/src/model-correspondence.js +5 -1
  49. package/dist/packages/analysis/src/model-correspondence.js.map +1 -1
  50. package/dist/packages/analysis/src/mutation.js +4 -0
  51. package/dist/packages/analysis/src/mutation.js.map +1 -1
  52. package/dist/packages/analysis/src/order.d.ts +16 -1
  53. package/dist/packages/analysis/src/order.js +10 -0
  54. package/dist/packages/analysis/src/order.js.map +1 -1
  55. package/dist/packages/analysis/src/performance.js +5 -1
  56. package/dist/packages/analysis/src/performance.js.map +1 -1
  57. package/dist/packages/analysis/src/quality-refresh.d.ts +18 -0
  58. package/dist/packages/analysis/src/quality-refresh.js +312 -0
  59. package/dist/packages/analysis/src/quality-refresh.js.map +1 -0
  60. package/dist/packages/analysis/src/tdd.d.ts +86 -3
  61. package/dist/packages/analysis/src/tdd.js +604 -52
  62. package/dist/packages/analysis/src/tdd.js.map +1 -1
  63. package/dist/packages/analysis/src/trace.d.ts +24 -0
  64. package/dist/packages/analysis/src/trace.js +101 -3
  65. package/dist/packages/analysis/src/trace.js.map +1 -1
  66. package/dist/packages/analysis/src/workflow-waiver.d.ts +6 -2
  67. package/dist/packages/analysis/src/workflow-waiver.js +9 -5
  68. package/dist/packages/analysis/src/workflow-waiver.js.map +1 -1
  69. package/dist/packages/analysis/src/workflow.d.ts +1 -1
  70. package/dist/packages/analysis/src/workflow.js +103 -21
  71. package/dist/packages/analysis/src/workflow.js.map +1 -1
  72. package/dist/packages/cli/src/install.js +51 -6
  73. package/dist/packages/cli/src/install.js.map +1 -1
  74. package/dist/packages/cli/src/main.js +252 -79
  75. package/dist/packages/cli/src/main.js.map +1 -1
  76. package/dist/packages/domain/src/design.js +8 -1
  77. package/dist/packages/domain/src/design.js.map +1 -1
  78. package/dist/packages/domain/src/types.d.ts +1 -0
  79. package/package.json +7 -2
  80. package/plugin.json +1 -1
@@ -1,14 +1,49 @@
1
- import { basename } from 'node:path';
1
+ import { lstat } from 'node:fs/promises';
2
+ import { basename, dirname, resolve } from 'node:path';
2
3
  import { error, validateConstitution, validateDesign, validateRequirements, } from '../../domain/src/index.js';
3
4
  import { digest, exists, files, readText, snapshot, within } from './files.js';
5
+ import { runProcess } from './process.js';
4
6
  import { domainOwning, domainsConfigured, featureOwningDesignFile, featureOwningRequirement, resolveDomains, } from './approval-domains.js';
5
7
  export { domainsConfigured, domainOwning, featureOwningDesignFile, featureOwningRequirement, resolveDomains, } from './approval-domains.js';
6
8
  export const approvalStages = ['requirements', 'design', 'release'];
9
+ export class ReleaseApprovalPreconditionError extends Error {
10
+ code;
11
+ constructor(code, message) {
12
+ super(message);
13
+ this.code = code;
14
+ this.name = 'ReleaseApprovalPreconditionError';
15
+ }
16
+ }
17
+ export class ReleaseApprovalSchemaError extends Error {
18
+ code = 'RELEASE_APPROVAL_SCHEMA';
19
+ constructor(message) {
20
+ super(message);
21
+ this.name = 'ReleaseApprovalSchemaError';
22
+ }
23
+ }
7
24
  export function approvalPath(stage, domain) {
8
25
  return domain ? `.musubix/evidence/approvals/domains/${domain}/${stage}.json` : `.musubix/evidence/approvals/${stage}.json`;
9
26
  }
10
27
  const featureRequirementsPattern = /^\.musubix\/features\/([^/]+)\/requirements\.md$/;
11
28
  const featureDesignPattern = /^\.musubix\/features\/([^/]+)\/design\.md$/;
29
+ // CHANGE-0038: regression-guard coverage for REQ-SCOPED-FEATURE-TRACE-ARTIFACTS-005
30
+ // (no behavior change: requirements/design stage filters below never match any
31
+ // trace.json path, which is exactly the invariant that requirement asserts).
32
+ // CHANGE-0038 (corrective Red-Implementation-Green batch): re-proved TDD evidence
33
+ // inside the change's valid order window; no behavior change.
34
+ // CHANGE-0038 (2nd corrective batch): confirmed by expanded design-stage manifest
35
+ // acceptance-clause test coverage; no behavior change.
36
+ // CHANGE-0038 (4th corrective batch): confirmed by a genuine multi-domain
37
+ // (`approval.domains`) per-domain manifest scoping assertion, proved via
38
+ // temporary regression injection into `owns()`; no behavior change.
39
+ // CHANGE-0038 (5th corrective batch): re-bounded the REQ-002 TDD evidence
40
+ // window after an earlier batch's order sequencing mistake; no behavior change.
41
+ // CHANGE-0038 (6th corrective batch): re-bounded REQ-005's TDD evidence window
42
+ // after pairing it with REQ-004's own window fix; no behavior change.
43
+ /** @id CODE-SCOPED-FEATURE-TRACE-ARTIFACTS-007
44
+ * @implements REQ-SCOPED-FEATURE-TRACE-ARTIFACTS-005
45
+ * @design DES-SCOPED-FEATURE-TRACE-ARTIFACTS-005
46
+ */
12
47
  function stagePaths(paths, stage) {
13
48
  const requirements = (path) => path === '.musubix/constitution.md' || featureRequirementsPattern.test(path);
14
49
  if (stage === 'requirements')
@@ -22,6 +57,193 @@ function stagePaths(paths, stage) {
22
57
  && !path.endsWith('.tgz')
23
58
  && !/(?:^|\/)(?:logs?|session-logs)\//.test(path)).sort();
24
59
  }
60
+ const projectExcludedDirectories = new Set([
61
+ '.git', 'node_modules', 'dist', 'build', 'coverage', '.test-work', '.next', 'vendor', '__pycache__',
62
+ ]);
63
+ const pythonVirtualEnvironmentRoots = new Set(['.venv', 'venv']);
64
+ function codePointOrder(left, right) {
65
+ const leftPoints = [...left];
66
+ const rightPoints = [...right];
67
+ const length = Math.min(leftPoints.length, rightPoints.length);
68
+ for (let index = 0; index < length; index++) {
69
+ const difference = leftPoints[index].codePointAt(0) - rightPoints[index].codePointAt(0);
70
+ if (difference !== 0)
71
+ return difference;
72
+ }
73
+ return leftPoints.length - rightPoints.length;
74
+ }
75
+ function markerPath(directory, name) {
76
+ return directory === '.' ? name : `${directory}/${name}`;
77
+ }
78
+ // CHANGE-0048: fixed, source-hardcoded scratch-file convention (Issue #66).
79
+ // Never configurable via `.musubix/config.json`, environment, or CLI flags;
80
+ // widening it requires a reviewed source change through the same
81
+ // requirements/design/TDD/quality gate as any other change to the release
82
+ // manifest. Applied only as a post-filter, gated on untracked origin, inside
83
+ // `releaseCandidateInventory` — see DES-RELEASE-APPROVAL-ORDERING-004 /
84
+ // ADR-0041 for why this must never run before structural marker derivation.
85
+ const scratchFileNamePattern = /^[^/]+\.scratch\.[^/.]+$/;
86
+ /** @id CODE-RELEASE-APPROVAL-ORDERING-004
87
+ * @implements REQ-RELEASE-APPROVAL-ORDERING-005
88
+ * @design DES-RELEASE-APPROVAL-ORDERING-004
89
+ */
90
+ function isScratchCandidate(path) {
91
+ return path === '.musubix/scratch' || path.startsWith('.musubix/scratch/')
92
+ || scratchFileNamePattern.test(basename(path));
93
+ }
94
+ function releaseProjectPaths(entries, includeSpecialModes) {
95
+ const candidates = new Set(entries.map((entry) => entry.path));
96
+ const nestedWorkspaces = new Set();
97
+ const dotnetDirectories = new Set();
98
+ for (const path of candidates) {
99
+ const marker = '/.musubix/';
100
+ const index = path.indexOf(marker);
101
+ if (index > 0)
102
+ nestedWorkspaces.add(path.slice(0, index));
103
+ if (/\.sln$/i.test(path) || /\.(?:cs|fs|vb)proj$/i.test(path)) {
104
+ dotnetDirectories.add(dirname(path));
105
+ }
106
+ }
107
+ const hasMarker = (directory, names) => names.some((name) => candidates.has(markerPath(directory, name)));
108
+ const excludedByStructure = (path) => {
109
+ if (path === '.musubix/cache' || path.startsWith('.musubix/cache/')
110
+ || path === '.musubix/evidence' || path.startsWith('.musubix/evidence/')
111
+ || path === '.nuget/packages' || path.startsWith('.nuget/packages/'))
112
+ return true;
113
+ for (const root of nestedWorkspaces) {
114
+ if (path === root || path.startsWith(`${root}/`))
115
+ return true;
116
+ }
117
+ const segments = path.split('/');
118
+ for (let index = 0; index < segments.length - 1; index++) {
119
+ const name = segments[index];
120
+ if (projectExcludedDirectories.has(name))
121
+ return true;
122
+ const directory = segments.slice(0, index).join('/') || '.';
123
+ const childDirectory = segments.slice(0, index + 1).join('/');
124
+ if (pythonVirtualEnvironmentRoots.has(name)
125
+ && candidates.has(`${childDirectory}/pyvenv.cfg`))
126
+ return true;
127
+ if (name === 'target' && hasMarker(directory, ['Cargo.toml', 'pom.xml']))
128
+ return true;
129
+ if (name === '.gradle'
130
+ && hasMarker(directory, ['build.gradle', 'build.gradle.kts', 'settings.gradle', 'settings.gradle.kts']))
131
+ return true;
132
+ if (name === '.dart_tool' && hasMarker(directory, ['pubspec.yaml']))
133
+ return true;
134
+ if (name === '.build' && hasMarker(directory, ['Package.swift']))
135
+ return true;
136
+ if ((name === '.zig-cache' || name === 'zig-out')
137
+ && hasMarker(directory, ['build.zig', 'build.zig.zon']))
138
+ return true;
139
+ if (name === '.dotnet' && dotnetDirectories.has(directory))
140
+ return true;
141
+ if ((name === 'bin' || name === 'obj') && dotnetDirectories.has(directory))
142
+ return true;
143
+ }
144
+ return false;
145
+ };
146
+ return stagePaths(entries
147
+ .filter((entry) => includeSpecialModes || (entry.mode !== '120000' && entry.mode !== '160000'))
148
+ .map((entry) => entry.path)
149
+ .filter((path) => !excludedByStructure(path)), 'release')
150
+ .sort(codePointOrder);
151
+ }
152
+ async function gitResult(root, args, runner) {
153
+ const result = await runner('git', args, { cwd: root, timeoutMs: 10_000 });
154
+ if (result.status !== 'completed' || result.exitCode !== 0) {
155
+ throw new ReleaseApprovalPreconditionError('RELEASE_APPROVAL_GIT', `git ${args.join(' ')} failed: ${result.stderr.trim() || result.status}`);
156
+ }
157
+ return result.stdout;
158
+ }
159
+ async function exactGitRoot(root, runner) {
160
+ const result = await runner('git', ['rev-parse', '--show-toplevel'], { cwd: root, timeoutMs: 10_000 });
161
+ return result.status === 'completed'
162
+ && result.exitCode === 0
163
+ && resolve(result.stdout.trim()) === resolve(root);
164
+ }
165
+ async function regularFile(root, path) {
166
+ try {
167
+ return (await lstat(within(root, path))).isFile();
168
+ }
169
+ catch (cause) {
170
+ if (cause.code === 'ENOENT')
171
+ return false;
172
+ throw cause;
173
+ }
174
+ }
175
+ async function releaseCandidateInventory(root, runner) {
176
+ const trackedOutput = await gitResult(root, ['ls-files', '-z', '-s', '--cached'], runner);
177
+ const tracked = [];
178
+ for (const record of trackedOutput.split('\0')) {
179
+ if (!record)
180
+ continue;
181
+ const match = /^(\d{6}) [0-9a-f]+ ([0-3])\t([\s\S]+)$/.exec(record);
182
+ if (!match)
183
+ throw new ReleaseApprovalPreconditionError('RELEASE_APPROVAL_GIT_OUTPUT', 'Malformed git ls-files output.');
184
+ if (match[2] !== '0') {
185
+ throw new ReleaseApprovalPreconditionError('RELEASE_APPROVAL_INDEX_CONFLICT', `Unmerged release input: ${match[3]}`);
186
+ }
187
+ tracked.push({ mode: match[1], path: match[3] });
188
+ }
189
+ const untrackedOutput = await gitResult(root, ['ls-files', '-z', '--others', '--exclude-standard'], runner);
190
+ const untracked = [];
191
+ for (const path of untrackedOutput.split('\0')) {
192
+ if (path && await regularFile(root, path))
193
+ untracked.push({ mode: '100644', path });
194
+ }
195
+ const untrackedPaths = new Set(untracked.map((entry) => entry.path));
196
+ const raw = [...tracked, ...untracked];
197
+ const present = [];
198
+ for (const entry of raw) {
199
+ if (await regularFile(root, entry.path))
200
+ present.push(entry);
201
+ }
202
+ // CHANGE-0048 (REQ-RELEASE-APPROVAL-ORDERING-005): structural marker
203
+ // derivation (`releaseProjectPaths`) always runs against the complete,
204
+ // unfiltered candidate set first. The scratch-file exclusion is applied
205
+ // only afterward, as a post-filter on the final output `paths`, and only
206
+ // to entries whose origin is untracked — a tracked file is never removed
207
+ // by name alone. `structuralPaths` is intentionally left unfiltered; see
208
+ // DES-RELEASE-APPROVAL-ORDERING-004 / ADR-0041.
209
+ const paths = releaseProjectPaths(present, false)
210
+ .filter((path) => !(untrackedPaths.has(path) && isScratchCandidate(path)));
211
+ return {
212
+ paths,
213
+ structuralPaths: releaseProjectPaths(raw, true),
214
+ };
215
+ }
216
+ async function releaseTagInventory(root, tag, runner) {
217
+ const output = await gitResult(root, ['ls-tree', '-r', '-z', '--full-tree', tag], runner);
218
+ const entries = [];
219
+ for (const record of output.split('\0')) {
220
+ if (!record)
221
+ continue;
222
+ const match = /^(\d{6}) (?:blob|commit) [0-9a-f]+\t([\s\S]+)$/.exec(record);
223
+ if (!match)
224
+ throw new ReleaseApprovalPreconditionError('RELEASE_APPROVAL_GIT_OUTPUT', 'Malformed git ls-tree output.');
225
+ entries.push({ mode: match[1], path: match[2] });
226
+ }
227
+ return {
228
+ paths: releaseProjectPaths(entries, false),
229
+ structuralPaths: releaseProjectPaths(entries, true),
230
+ };
231
+ }
232
+ /** @id CODE-RELEASE-APPROVAL-ORDERING-001
233
+ * @implements REQ-RELEASE-APPROVAL-ORDERING-001 REQ-RELEASE-APPROVAL-ORDERING-002 REQ-RELEASE-APPROVAL-ORDERING-003
234
+ * @design DES-RELEASE-APPROVAL-ORDERING-001
235
+ */
236
+ export async function releaseCandidatePaths(root, runner = runProcess) {
237
+ if (!await exactGitRoot(root, runner))
238
+ return stagePaths(await files(root), 'release');
239
+ return (await releaseCandidateInventory(root, runner)).paths;
240
+ }
241
+ export async function releaseTaggedPaths(root, tag, runner = runProcess) {
242
+ if (!await exactGitRoot(root, runner)) {
243
+ throw new ReleaseApprovalPreconditionError('RELEASE_APPROVAL_GIT_ROOT', 'Tagged release approval validation requires the project root to equal the Git worktree root.');
244
+ }
245
+ return (await releaseTagInventory(root, tag, runner)).paths;
246
+ }
25
247
  /** @id CODE-APPROVAL-DOMAIN-SCOPING-003
26
248
  * @implements REQ-APPROVAL-DOMAIN-SCOPING-011 REQ-APPROVAL-DOMAIN-SCOPING-012
27
249
  * @design DES-APPROVAL-DOMAIN-SCOPING-003
@@ -73,7 +295,8 @@ export async function approvalManifest(root, stage, domain) {
73
295
  artifactSha256: digest(JSON.stringify({ stage, domain: domain.name, features: domain.features, artifacts })),
74
296
  };
75
297
  }
76
- const artifacts = await snapshot(root, stagePaths(await files(root), stage));
298
+ const paths = stage === 'release' ? await releaseCandidatePaths(root) : stagePaths(await files(root), stage);
299
+ const artifacts = await snapshot(root, paths);
77
300
  return { stage, artifacts, artifactSha256: digest(JSON.stringify({ stage, artifacts })) };
78
301
  }
79
302
  export async function loadApproval(root, stage, domain) {
@@ -93,6 +316,122 @@ export async function loadApproval(root, stage, domain) {
93
316
  }
94
317
  return value;
95
318
  }
319
+ /** @id CODE-APPROVAL-PREPARE-DIFF-ONLY-001
320
+ * @implements REQ-APPROVAL-PREPARE-DIFF-ONLY-003
321
+ * @design DES-APPROVAL-PREPARE-DIFF-ONLY-001
322
+ */
323
+ export function artifactDrift(approved, current) {
324
+ const paths = [...new Set([...Object.keys(approved), ...Object.keys(current)])].sort(codePointOrder);
325
+ return paths.flatMap((path) => {
326
+ const approvedSha256 = approved[path] ?? null;
327
+ const currentSha256 = current[path] ?? null;
328
+ if (approvedSha256 === currentSha256)
329
+ return [];
330
+ const change = approvedSha256 === null ? 'added' : currentSha256 === null ? 'deleted' : 'modified';
331
+ return [{ path, change, approvedSha256, currentSha256 }];
332
+ });
333
+ }
334
+ /** @id CODE-APPROVAL-PREPARE-DIFF-ONLY-002
335
+ * @implements REQ-APPROVAL-PREPARE-DIFF-ONLY-002 REQ-APPROVAL-PREPARE-DIFF-ONLY-003
336
+ * @implements REQ-APPROVAL-PREPARE-DIFF-ONLY-004
337
+ * @design DES-APPROVAL-PREPARE-DIFF-ONLY-001
338
+ */
339
+ export function diffOnlyChangedFiles(manifest, previous) {
340
+ if (!previous) {
341
+ return { changedFiles: Object.keys(manifest.artifacts).sort(codePointOrder), diffOnlyBaseline: 'none' };
342
+ }
343
+ const changedFiles = artifactDrift(previous.artifacts, manifest.artifacts).map((drift) => drift.path);
344
+ return { changedFiles, diffOnlyBaseline: 'approved' };
345
+ }
346
+ async function gitStatus(root, runner) {
347
+ const output = await gitResult(root, ['status', '--porcelain=v1', '-z', '--untracked-files=all', '--', '.'], runner);
348
+ const fields = output.split('\0');
349
+ const records = [];
350
+ for (let index = 0; index < fields.length; index++) {
351
+ const field = fields[index];
352
+ if (!field)
353
+ continue;
354
+ if (field.length < 4) {
355
+ throw new ReleaseApprovalPreconditionError('RELEASE_APPROVAL_GIT_OUTPUT', 'Malformed git status output.');
356
+ }
357
+ const status = field.slice(0, 2);
358
+ const paths = [field.slice(3)];
359
+ if (/[RC]/.test(status)) {
360
+ const previous = fields[++index];
361
+ if (!previous) {
362
+ throw new ReleaseApprovalPreconditionError('RELEASE_APPROVAL_GIT_OUTPUT', 'Malformed git rename status output.');
363
+ }
364
+ paths.push(previous);
365
+ }
366
+ records.push({ status, paths });
367
+ }
368
+ return records;
369
+ }
370
+ /** @id CODE-RELEASE-APPROVAL-ORDERING-002
371
+ * @implements REQ-RELEASE-APPROVAL-ORDERING-001 REQ-RELEASE-APPROVAL-ORDERING-002 REQ-RELEASE-APPROVAL-ORDERING-003
372
+ * @design DES-RELEASE-APPROVAL-ORDERING-001
373
+ */
374
+ export async function validateReleaseApprovalForTag(root, tag, config, options = {}) {
375
+ const runner = options.runner ?? runProcess;
376
+ if (!await exactGitRoot(root, runner)) {
377
+ throw new ReleaseApprovalPreconditionError('RELEASE_APPROVAL_GIT_ROOT', 'Tagged release approval validation requires the project root to equal the Git worktree root.');
378
+ }
379
+ const tagCommit = (await gitResult(root, ['rev-parse', `${tag}^{commit}`], runner)).trim().toLowerCase();
380
+ const headCommit = (await gitResult(root, ['rev-parse', 'HEAD^{commit}'], runner)).trim().toLowerCase();
381
+ if (tagCommit !== headCommit) {
382
+ throw new ReleaseApprovalPreconditionError('RELEASE_APPROVAL_TAG_HEAD', `Release tag ${tag} does not point to HEAD.`);
383
+ }
384
+ const githubSha = options.githubSha ?? process.env.GITHUB_SHA;
385
+ if (githubSha && tagCommit !== githubSha.toLowerCase()) {
386
+ throw new ReleaseApprovalPreconditionError('RELEASE_APPROVAL_TAG_GITHUB_SHA', `Release tag ${tag} does not point to GITHUB_SHA.`);
387
+ }
388
+ let evidence;
389
+ try {
390
+ evidence = await loadApproval(root, 'release');
391
+ }
392
+ catch (cause) {
393
+ throw new ReleaseApprovalSchemaError(cause instanceof Error ? cause.message : String(cause));
394
+ }
395
+ if (evidence && evidence.artifactSha256 !== digest(JSON.stringify({
396
+ stage: 'release',
397
+ artifacts: evidence.artifacts,
398
+ }))) {
399
+ throw new ReleaseApprovalSchemaError('Release approval artifactSha256 does not match its artifact manifest.');
400
+ }
401
+ if (!evidence && config.mode === 'required') {
402
+ return { valid: false, stage: 'release', status: 'missing', diagnostics: [] };
403
+ }
404
+ const [candidate, tagged, status] = await Promise.all([
405
+ releaseCandidateInventory(root, runner),
406
+ releaseTagInventory(root, tag, runner),
407
+ gitStatus(root, runner),
408
+ ]);
409
+ const releasePaths = new Set([
410
+ ...candidate.paths,
411
+ ...tagged.paths,
412
+ ...Object.keys(evidence?.artifacts ?? {}),
413
+ ]);
414
+ const structuralPaths = new Set([...candidate.structuralPaths, ...tagged.structuralPaths]);
415
+ const dirty = status.filter((record) => record.paths.some((path) => (record.status.includes('T') && structuralPaths.has(path)) || releasePaths.has(path)));
416
+ if (dirty.length) {
417
+ if (!evidence) {
418
+ throw new ReleaseApprovalPreconditionError('RELEASE_APPROVAL_DIRTY', 'Release-input working tree differs from the tagged commit.');
419
+ }
420
+ const current = await snapshot(root, candidate.paths);
421
+ const diagnostics = artifactDrift(evidence.artifacts, current);
422
+ if (!diagnostics.length) {
423
+ throw new ReleaseApprovalPreconditionError('RELEASE_APPROVAL_DIRTY', 'Release-input working tree differs from the tagged commit after approval.');
424
+ }
425
+ return { valid: false, stage: 'release', status: 'stale', diagnostics };
426
+ }
427
+ if (!evidence)
428
+ return { valid: true, stage: 'release', status: 'missing', diagnostics: [] };
429
+ const current = await snapshot(root, tagged.paths);
430
+ const diagnostics = artifactDrift(evidence.artifacts, current);
431
+ return diagnostics.length
432
+ ? { valid: false, stage: 'release', status: 'stale', diagnostics }
433
+ : { valid: true, stage: 'release', status: 'approved', diagnostics: [] };
434
+ }
96
435
  export async function validateApprovalStage(root, stage, config, domain) {
97
436
  const current = await approvalManifest(root, stage, domain);
98
437
  const path = approvalPath(stage, domain?.name);
@@ -1 +1 @@
1
- {"version":3,"file":"approval.js","sourceRoot":"","sources":["../../../../packages/analysis/src/approval.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"approval.js","sourceRoot":"","sources":["../../../../packages/analysis/src/approval.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,10 @@ function repositoryName(remote) {
32
32
  // `workflow`'s `invocations`) are retained as recorded, which no-op re-runs
33
33
  // do not append to or reorder. See
34
34
  // `tests/attestation-evidence-stability.test.ts`'s mode-matrix regression test.
35
+ // (CHANGE-0050 / Issue #67: that test's `changes`/`tdd` head seeding fixture
36
+ // now also records `requirements`/`design`/`implementation` change-record
37
+ // phases, per REQ-TDD-GREEN-REQUIREMENT-SCOPING-003's change-record phase
38
+ // precondition; the `changes`/`tdd` head computation below is unaffected.)
35
39
  export async function collectEvidenceHeads(root) {
36
40
  const heads = {};
37
41
  const load = async (path) => await exists(within(root, path)) ? JSON.parse(await readText(root, path)) : null;
@@ -1 +1 @@
1
- {"version":3,"file":"attestation.js","sourceRoot":"","sources":["../../../../packages/analysis/src/attestation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attestation.js","sourceRoot":"","sources":["../../../../packages/analysis/src/attestation.ts"],"names":[],"mappings":"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"}