@encore-os/eos-spec 0.15.1 → 0.17.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.
Files changed (55) hide show
  1. package/dist/commands/close-out.js +62 -3
  2. package/dist/commands/close-out.js.map +1 -1
  3. package/dist/commands/doctor.d.ts +9 -0
  4. package/dist/commands/doctor.js +82 -0
  5. package/dist/commands/doctor.js.map +1 -0
  6. package/dist/commands/index-spec.js +22 -4
  7. package/dist/commands/index-spec.js.map +1 -1
  8. package/dist/commands/next.d.ts +6 -0
  9. package/dist/commands/next.js +11 -1
  10. package/dist/commands/next.js.map +1 -1
  11. package/dist/commands/reconcile.js +6 -2
  12. package/dist/commands/reconcile.js.map +1 -1
  13. package/dist/commands/scorecard.js +51 -0
  14. package/dist/commands/scorecard.js.map +1 -1
  15. package/dist/commands/signoff.js +12 -1
  16. package/dist/commands/signoff.js.map +1 -1
  17. package/dist/commands/verify-acs.d.ts +7 -0
  18. package/dist/commands/verify-acs.js +81 -13
  19. package/dist/commands/verify-acs.js.map +1 -1
  20. package/dist/index.js +2 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/lib/closeout-core.d.ts +29 -5
  23. package/dist/lib/closeout-core.js +57 -6
  24. package/dist/lib/closeout-core.js.map +1 -1
  25. package/dist/lib/config.d.ts +31 -2
  26. package/dist/lib/config.js.map +1 -1
  27. package/dist/lib/doctor-core.d.ts +63 -0
  28. package/dist/lib/doctor-core.js +98 -0
  29. package/dist/lib/doctor-core.js.map +1 -0
  30. package/dist/lib/frontmatter.js +31 -5
  31. package/dist/lib/frontmatter.js.map +1 -1
  32. package/dist/lib/reconcile-core.d.ts +1 -1
  33. package/dist/lib/reconcile-core.js +10 -2
  34. package/dist/lib/reconcile-core.js.map +1 -1
  35. package/dist/lib/rtm-scorecard-run.d.ts +38 -0
  36. package/dist/lib/rtm-scorecard-run.js +70 -0
  37. package/dist/lib/rtm-scorecard-run.js.map +1 -0
  38. package/dist/lib/rtm-scorecard.d.ts +151 -0
  39. package/dist/lib/rtm-scorecard.js +197 -0
  40. package/dist/lib/rtm-scorecard.js.map +1 -0
  41. package/dist/lib/spec-pure.d.ts +38 -0
  42. package/dist/lib/spec-pure.js +162 -17
  43. package/dist/lib/spec-pure.js.map +1 -1
  44. package/dist/lib/specs.d.ts +20 -0
  45. package/dist/lib/specs.js +37 -1
  46. package/dist/lib/specs.js.map +1 -1
  47. package/dist/lib/verify-core.d.ts +5 -0
  48. package/dist/lib/verify-core.js +5 -1
  49. package/dist/lib/verify-core.js.map +1 -1
  50. package/dist/lib/version.d.ts +1 -1
  51. package/dist/lib/version.js +1 -1
  52. package/dist/pure.d.ts +1 -0
  53. package/dist/pure.js +3 -0
  54. package/dist/pure.js.map +1 -1
  55. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"signoff.js","sourceRoot":"","sources":["../../src/commands/signoff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signoff.js","sourceRoot":"","sources":["../../src/commands/signoff.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { Command } from 'commander';
2
2
  import { type LaneDef } from '../lib/config.js';
3
+ import { type FileStat } from '../lib/verify-core.js';
3
4
  export type Section = 'acceptance_criteria' | 'user_stories' | 'requirements';
4
5
  export type Item = {
5
6
  section: Section;
@@ -20,4 +21,10 @@ export declare function partitionBackingFiles(files: string[]): {
20
21
  rootVitest: string[];
21
22
  deferred: string[];
22
23
  };
24
+ /** Parse a Playwright `--reporter=json` output file into rel-path (from `repoRoot`) →
25
+ * {passed,failed,skipped}. Playwright's JSON nests `suites → specs → tests → results`,
26
+ * with the source file on each suite (relative to the lane `cwd`/testDir, or absolute);
27
+ * re-relativize every key against `repoRoot` so it matches the `@verifies` backlink
28
+ * paths. A `timedOut`/`interrupted` result counts as a failure (P2 e2e lane). */
29
+ export declare function parsePlaywrightJsonReport(repoRoot: string, laneCwd: string, outFile: string): Map<string, FileStat>;
23
30
  export declare function registerVerifyAcs(program: Command): void;
@@ -1,7 +1,7 @@
1
1
  import { execFileSync } from 'node:child_process';
2
2
  import { readFileSync, readdirSync, writeFileSync } from 'node:fs';
3
3
  import { tmpdir } from 'node:os';
4
- import { join, relative } from 'node:path';
4
+ import { isAbsolute, join, relative } from 'node:path';
5
5
  import { resolveDiscoveryPaths, resolveVerifyLanes } from '../lib/config.js';
6
6
  import { readFrontmatter, setRequirementStatus } from '../lib/frontmatter.js';
7
7
  import { emit, getGlobalOptions } from '../lib/output.js';
@@ -76,6 +76,44 @@ function parseVitestJsonReport(repoRoot, outFile) {
76
76
  }
77
77
  return stats;
78
78
  }
79
+ /** Parse a Playwright `--reporter=json` output file into rel-path (from `repoRoot`) →
80
+ * {passed,failed,skipped}. Playwright's JSON nests `suites → specs → tests → results`,
81
+ * with the source file on each suite (relative to the lane `cwd`/testDir, or absolute);
82
+ * re-relativize every key against `repoRoot` so it matches the `@verifies` backlink
83
+ * paths. A `timedOut`/`interrupted` result counts as a failure (P2 e2e lane). */
84
+ export function parsePlaywrightJsonReport(repoRoot, laneCwd, outFile) {
85
+ const stats = new Map();
86
+ let report;
87
+ try {
88
+ report = JSON.parse(readFileSync(outFile, 'utf8'));
89
+ }
90
+ catch {
91
+ return stats;
92
+ }
93
+ const walk = (suites) => {
94
+ for (const s of suites ?? []) {
95
+ if (s.file) {
96
+ const abs = isAbsolute(s.file) ? s.file : join(laneCwd, s.file);
97
+ const key = relative(repoRoot, abs);
98
+ const fs = stats.get(key) ?? { passed: 0, failed: 0, skipped: 0 };
99
+ for (const spec of s.specs ?? [])
100
+ for (const t of spec.tests ?? [])
101
+ for (const r of t.results ?? []) {
102
+ if (r.status === 'passed')
103
+ fs.passed++;
104
+ else if (r.status === 'failed' || r.status === 'timedOut' || r.status === 'interrupted')
105
+ fs.failed++;
106
+ else
107
+ fs.skipped++;
108
+ }
109
+ stats.set(key, fs);
110
+ }
111
+ walk(s.suites);
112
+ }
113
+ };
114
+ walk(report.suites);
115
+ return stats;
116
+ }
79
117
  /** Run root-Vitest files, returning rel-path → {passed,failed,skipped}. */
80
118
  function runRootVitest(repoRoot, relFiles) {
81
119
  if (relFiles.length === 0)
@@ -92,17 +130,32 @@ function runRootVitest(repoRoot, relFiles) {
92
130
  }
93
131
  return parseVitestJsonReport(repoRoot, outFile);
94
132
  }
95
- /** Run one config-driven lane's backing files with Vitest in `lane.cwd` (v1: JSON
96
- * reporter only), returning the same rel-path (from `repoRoot`) → FileStat shape as
97
- * `runRootVitest`. `relFiles` are repo-relative (e.g. `runner/src/b.test.ts`) and are
98
- * re-relativized into the lane's `cwd` (e.g. `src/b.test.ts`) for the invocation, since
99
- * Vitest resolves its file args against its own `cwd`, not the repo root. */
100
- function runLaneVitest(repoRoot, lane, relFiles) {
133
+ /** Run one config-driven lane's backing files in `lane.cwd`, returning the same
134
+ * rel-path (from `repoRoot`) → FileStat shape as `runRootVitest`. `relFiles` are
135
+ * repo-relative and re-relativized into the lane's `cwd` for the invocation (the
136
+ * runner resolves file args against its own `cwd`). Dispatches on `lane.reporter`:
137
+ * Vitest (default) requests JSON via `--outputFile=`; Playwright via the
138
+ * `PLAYWRIGHT_JSON_OUTPUT_NAME` env, each with its matching parser (P2 e2e lane). */
139
+ function runLane(repoRoot, lane, relFiles) {
101
140
  if (relFiles.length === 0)
102
141
  return new Map();
103
142
  const laneCwd = join(repoRoot, lane.cwd);
104
143
  const laneFiles = relFiles.map((f) => relative(laneCwd, join(repoRoot, f)));
105
144
  const outFile = join(tmpdir(), `eos-verify-acs-lane-${process.pid}-${lane.prefix.replace(/[^a-zA-Z0-9]/g, '_')}.json`);
145
+ if ((lane.reporter ?? 'vitest') === 'playwright') {
146
+ const [cmd, ...cmdArgs] = (lane.command ?? 'bunx playwright test').split(/\s+/);
147
+ try {
148
+ execFileSync(cmd, [...cmdArgs, ...laneFiles, '--reporter=json'], {
149
+ cwd: laneCwd,
150
+ stdio: ['ignore', 'ignore', 'inherit'],
151
+ env: { ...process.env, PLAYWRIGHT_JSON_OUTPUT_NAME: outFile },
152
+ });
153
+ }
154
+ catch {
155
+ /* nonzero exit = a failing test; the JSON report still carries the per-file outcome */
156
+ }
157
+ return parsePlaywrightJsonReport(repoRoot, laneCwd, outFile);
158
+ }
106
159
  const [cmd, ...cmdArgs] = (lane.command ?? 'bunx vitest run').split(/\s+/);
107
160
  try {
108
161
  execFileSync(cmd, [...cmdArgs, ...laneFiles, '--reporter=json', `--outputFile=${outFile}`], {
@@ -198,7 +251,7 @@ export function registerVerifyAcs(program) {
198
251
  const { lanes: allLanes } = partitionBackingFilesWithLanes(allFiles, laneDefs);
199
252
  const stats = runRootVitest(repoRoot, allLanes.get('root') ?? []);
200
253
  for (const lane of laneDefs) {
201
- mergeLaneStats(stats, runLaneVitest(repoRoot, lane, allLanes.get(lane.prefix) ?? []));
254
+ mergeLaneStats(stats, runLane(repoRoot, lane, allLanes.get(lane.prefix) ?? []));
202
255
  }
203
256
  const results = items.map((it) => {
204
257
  const files = [...(backlinkFiles.get(it.id) ?? [])];
@@ -210,10 +263,17 @@ export function registerVerifyAcs(program) {
210
263
  : laneFiles.length === 0
211
264
  ? `not_run (lane not wired: ${deferred.join(', ')})`
212
265
  : v.reason;
213
- return { ...it, files, proven: laneFiles.length > 0 && v.proven, reason };
266
+ // A backing test EXISTS (files.length > 0) but its lane is unavailable — either
267
+ // no configured lane claims it (config-deferred) or the lane didn't execute
268
+ // (v.laneUnavailable). Distinct from a fabricated `verified` with no test at all:
269
+ // the honesty gate must not treat an infra gap as a lie (P2).
270
+ const laneUnavailable = files.length > 0 && (laneFiles.length === 0 || v.laneUnavailable === true);
271
+ return { ...it, files, proven: laneFiles.length > 0 && v.proven, laneUnavailable, reason };
214
272
  });
215
273
  if (options.enforce) {
216
- const liars = results.filter((r) => r.status === 'verified' && !r.proven);
274
+ // A `verified` item is a LIAR only when it is genuinely unproven — NOT when its
275
+ // lane is merely unavailable (P2: infra gap ≠ dishonesty; don't fail-close).
276
+ const liars = results.filter((r) => r.status === 'verified' && !r.proven && !r.laneUnavailable);
217
277
  if (liars.length)
218
278
  emit(global, {
219
279
  ok: false,
@@ -245,18 +305,26 @@ export function registerVerifyAcs(program) {
245
305
  writeFileSync(spec.path, next);
246
306
  }
247
307
  const proven = results.filter((r) => r.proven).length;
308
+ const laneGaps = results.filter((r) => r.laneUnavailable).length;
248
309
  emit(global, {
249
310
  ok: true,
250
311
  data: {
251
312
  spec: spec.id,
252
313
  proven,
253
314
  total: results.length,
315
+ laneUnavailable: laneGaps,
254
316
  written,
255
- results: results.map(({ section, id, proven, reason }) => ({ section, id, proven, reason })),
317
+ results: results.map(({ section, id, proven, laneUnavailable, reason }) => ({
318
+ section,
319
+ id,
320
+ proven,
321
+ laneUnavailable,
322
+ reason,
323
+ })),
256
324
  },
257
- text: `verify-acs: ${spec.id} — ${proven}/${results.length} proven${options.write ? ` (${written} written)` : ' (dry run — pass --write)'}\n` +
325
+ text: `verify-acs: ${spec.id} — ${proven}/${results.length} proven${laneGaps ? `, ${laneGaps} lane-unavailable` : ''}${options.write ? ` (${written} written)` : ' (dry run — pass --write)'}\n` +
258
326
  results
259
- .map((r) => ` ${r.proven ? '✅ verified' : '⏸ planned '} ${r.id.padEnd(6)} ${r.reason}`)
327
+ .map((r) => ` ${r.proven ? '✅ verified' : r.laneUnavailable ? '🔌 lane-gap ' : '⏸ planned '} ${r.id.padEnd(6)} ${r.reason}`)
260
328
  .join('\n'),
261
329
  });
262
330
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"verify-acs.js","sourceRoot":"","sources":["../../src/commands/verify-acs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify-acs.js","sourceRoot":"","sources":["../../src/commands/verify-acs.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -11,6 +11,7 @@ import { registerCloseOut } from './commands/close-out.js';
11
11
  import { registerComplete } from './commands/complete.js';
12
12
  import { registerConformance } from './commands/conformance.js';
13
13
  import { registerCreate } from './commands/create.js';
14
+ import { registerDoctor } from './commands/doctor.js';
14
15
  import { registerDeferred } from './commands/deferred.js';
15
16
  import { registerDelta } from './commands/delta.js';
16
17
  import { registerBuildEmbeddings } from './commands/build-embeddings.js';
@@ -153,6 +154,7 @@ registerVerifyAcs(program);
153
154
  registerGenTests(program);
154
155
  registerAudit(program);
155
156
  registerConformance(program);
157
+ registerDoctor(program);
156
158
  registerProfile(program);
157
159
  program.addHelpText('after', `
158
160
  Examples:
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -17,18 +17,31 @@ import type { SpecFile } from './specs.js';
17
17
  * `verify-acs --write` has already promoted to `verified`
18
18
  * (decideCloseout mirrors the `hasVerifiedAcceptanceCriteria` signal;
19
19
  * close-out does NOT re-run the test harness — that is verify-acs's job).
20
- * 3. complete — when (and only when) the gate says so, the engine writes
21
- * `status: complete` (markSpecComplete). An optional `--update-registry`
22
- * delegation to a consumer audit script remains a separate, explicit
23
- * opt-in handled by the command layer.
20
+ * 3. complete — when (and only when) the gate says so, the engine writes the
21
+ * CONFIGURED terminal status (`close_out.terminal_status`, default
22
+ * `complete`; e.g. builder's `implemented`) P3a, so a consumer needs
23
+ * no post-hoc CI rewrite. An optional `--update-registry` delegation to
24
+ * a consumer audit script remains a separate, explicit opt-in handled
25
+ * by the command layer.
24
26
  */
25
27
  export type CloseoutRow = {
26
28
  id: string;
27
29
  core: string;
28
30
  /** The conservative gate's verdict (decideCloseout). */
29
31
  decision: CloseoutDecision;
30
- /** The status value written, or that WOULD be written in a dry-run, or null. */
32
+ /** The gate DECISION: 'complete' | 'in_progress' | null (the canonical verdict). */
31
33
  status: 'complete' | 'in_progress' | null;
34
+ /** The status value actually written to the spec — the CONFIGURED terminal for a
35
+ * 'complete' decision (e.g. builder's 'implemented'), the decision verbatim for a
36
+ * nudge, or null when nothing was written. */
37
+ writtenStatus: string | null;
38
+ /** The terminal `pipeline_status` value this run WOULD mint (#75) — set whenever the
39
+ * decision is 'complete' and `--pipeline` opted in, INDEPENDENT of write, so a --dry-run
40
+ * previews it. Null when not opted in / not a complete decision. */
41
+ wouldMintPipelineStatus: string | null;
42
+ /** The terminal `pipeline_status` value ACTUALLY written this run (null in a dry-run, or
43
+ * when not opted in). Equals {@link wouldMintPipelineStatus} on a real, applied run. */
44
+ writtenPipelineStatus: string | null;
32
45
  /** True only when this run actually wrote a new `status:` to the spec file. */
33
46
  written: boolean;
34
47
  /** The reconcile divergence row (pipeline_status recompute) computed as step 1. */
@@ -37,6 +50,17 @@ export type CloseoutRow = {
37
50
  export type CloseoutSpecOptions = CloseoutOptions & {
38
51
  /** When false (dry-run), compute the decision + reconcile divergence but write nothing. */
39
52
  write: boolean;
53
+ /** The status to write for a verified-complete spec. Absent ⇒ 'complete' (the engine's
54
+ * canonical terminal); a consumer passes its own terminal (e.g. 'implemented'), P3a. */
55
+ terminalStatus?: string;
56
+ /** #75: the repo's opt-in terminal `pipeline_status` value (`close_out.pipeline_terminal`).
57
+ * Passed WHENEVER configured so step-1 reconcile's pin-guard preserves an already-minted
58
+ * terminal on a re-close. Absent ⇒ no pipeline_status terminal semantics. */
59
+ pipelineTerminal?: string;
60
+ /** #75: mint `pipeline_status = pipelineTerminal` on a verified-complete decision (set by
61
+ * `close-out --pipeline`). Requires `pipelineTerminal`. Off ⇒ close-out writes only `status:`
62
+ * (unchanged default behavior). */
63
+ mintPipelineTerminal?: boolean;
40
64
  };
41
65
  /**
42
66
  * Close out a single spec: reconcile, decide, and (when `write`) materialize the
@@ -1,6 +1,7 @@
1
1
  import { readFileSync, writeFileSync } from 'node:fs';
2
+ import { isCompleteStatus, isTerminalStatus } from './blockers.js';
2
3
  import { decideCloseout } from './closeout-predicate.js';
3
- import { markSpecComplete, readFrontmatter, setStatus } from './frontmatter.js';
4
+ import { readFrontmatter, setPipelineStatus, setStatus } from './frontmatter.js';
4
5
  import { reconcileSpec } from './reconcile-core.js';
5
6
  /**
6
7
  * Close out a single spec: reconcile, decide, and (when `write`) materialize the
@@ -11,24 +12,74 @@ export function closeOutSpec(repoRoot, spec, opts) {
11
12
  const { write, ...decisionOpts } = opts;
12
13
  // Step 1 — reconcile. In a real run this writes the artifact-computed
13
14
  // `pipeline_status` back; in a dry-run nothing is written, but we still capture the
14
- // computed stage and feed it to the gate below so dry-run == apply.
15
- const reconcile = reconcileSpec(repoRoot, spec, write);
15
+ // computed stage and feed it to the gate below so dry-run == apply. The pin-guard
16
+ // (opts.pipelineTerminal) preserves an already-minted ship terminal on a re-close (#75).
17
+ const reconcile = reconcileSpec(repoRoot, spec, write, undefined, opts.pipelineTerminal);
16
18
  // Step 2 — decide. Read the (possibly just-reconciled) frontmatter and overlay the
17
19
  // artifact-computed stage so the gate keys on reality, not a stale/lagging value.
18
20
  const text = readFileSync(spec.path, 'utf8');
19
21
  const fm = readFrontmatter(text);
20
22
  const effectiveFm = { ...fm, pipeline_status: reconcile.computed ?? fm.pipeline_status };
21
- const decision = decideCloseout(effectiveFm, decisionOpts);
23
+ // The pure predicate's never-downgrade guard only knows complete/implemented/✅ +
24
+ // archived/superseded/… — a CUSTOM configured terminal (e.g. 'shipped') slips past it,
25
+ // so a re-close would re-evaluate the ACs and misreport a 'complete' decision for a
26
+ // no-op. Recognize the configured terminal here (the core owns the terminal mapping),
27
+ // leaving the pure predicate terminal-agnostic.
28
+ const terminalStatus = opts.terminalStatus ?? 'complete';
29
+ const st = typeof effectiveFm.status === 'string' ? effectiveFm.status.trim() : '';
30
+ const atCustomTerminal = st !== '' &&
31
+ st.toLowerCase() === terminalStatus.toLowerCase() &&
32
+ !isCompleteStatus(st) &&
33
+ !isTerminalStatus(st, effectiveFm.superseded_by);
34
+ const decision = atCustomTerminal
35
+ ? { nextStatus: null, reason: `already at terminal status (status: ${effectiveFm.status}); never downgrade` }
36
+ : decideCloseout(effectiveFm, decisionOpts);
37
+ // #75: the terminal-pipeline-status mint INTENT — computed independent of `write` so a
38
+ // `--dry-run` previews it exactly as it previews the `status` decision (dry-run == apply).
39
+ // It fires on a verified-complete decision when `--pipeline` opted in and the repo declared
40
+ // `close_out.pipeline_terminal`. A downstream that keys off pipeline_status (e.g. the encoreos
41
+ // epic-close rollup, which reads `pipeline_status ~ /^complete/i`) then sees the ship signal
42
+ // without a hand-edit.
43
+ const wouldMintPipelineStatus = decision.nextStatus === 'complete' && opts.mintPipelineTerminal && opts.pipelineTerminal
44
+ ? opts.pipelineTerminal
45
+ : null;
22
46
  // Step 3 — promote. The engine OWNS the verified status write; it happens only when
23
47
  // the gate returned a status AND --write (non-dry-run) was requested.
24
48
  let written = false;
49
+ let writtenStatus = null;
50
+ let writtenPipelineStatus = null;
25
51
  if (write && decision.nextStatus) {
26
- const next = decision.nextStatus === 'complete' ? markSpecComplete(text) : setStatus(text, decision.nextStatus);
52
+ // A 'complete' decision writes the CONFIGURED terminal status (default 'complete';
53
+ // e.g. builder's 'implemented') — the engine owns the terminal write so a consumer
54
+ // needs no post-hoc CI rewrite (P3a). A nudge writes the decision's status verbatim.
55
+ const target = decision.nextStatus === 'complete' ? (opts.terminalStatus ?? 'complete') : decision.nextStatus;
56
+ let next = setStatus(text, target);
57
+ // Mint the terminal pipeline_status onto the already-reconciled `text` (step 1 healed
58
+ // it down to the computed stage), so the terminal lands ABOVE that stage; reconcile's
59
+ // pin-guard keeps it on every later pass.
60
+ if (wouldMintPipelineStatus) {
61
+ const pipelined = setPipelineStatus(next, wouldMintPipelineStatus);
62
+ if (pipelined !== next) {
63
+ next = pipelined;
64
+ writtenPipelineStatus = wouldMintPipelineStatus;
65
+ }
66
+ }
27
67
  if (next !== text) {
28
68
  writeFileSync(spec.path, next, 'utf8');
29
69
  written = true;
70
+ writtenStatus = target;
30
71
  }
31
72
  }
32
- return { id: spec.id, core: spec.core, decision, status: decision.nextStatus, written, reconcile };
73
+ return {
74
+ id: spec.id,
75
+ core: spec.core,
76
+ decision,
77
+ status: decision.nextStatus,
78
+ writtenStatus,
79
+ wouldMintPipelineStatus,
80
+ writtenPipelineStatus,
81
+ written,
82
+ reconcile,
83
+ };
33
84
  }
34
85
  //# sourceMappingURL=closeout-core.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"closeout-core.js","sourceRoot":"","sources":["../../src/lib/closeout-core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAA+C,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACtG,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAqB,aAAa,EAAE,MAAM,qBAAqB,CAAC;AA2CvE;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,IAAc,EAAE,IAAyB;IACtF,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,GAAG,IAAI,CAAC;IAExC,sEAAsE;IACtE,oFAAoF;IACpF,oEAAoE;IACpE,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAEvD,mFAAmF;IACnF,kFAAkF;IAClF,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,WAAW,GAAG,EAAE,GAAG,EAAE,EAAE,eAAe,EAAE,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC,eAAe,EAAE,CAAC;IACzF,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAE3D,oFAAoF;IACpF,sEAAsE;IACtE,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,KAAK,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;QAChH,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACvC,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AACrG,CAAC"}
1
+ {"version":3,"file":"closeout-core.js","sourceRoot":"","sources":["../../src/lib/closeout-core.ts"],"names":[],"mappings":"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"}
@@ -18,12 +18,15 @@ export type ArchivePolicy = {
18
18
  removes_from: string[];
19
19
  };
20
20
  /** One `verify-acs` lane: backing files whose repo-relative path starts with `prefix`
21
- * run via Vitest in `cwd` instead of landing in `deferred`. V1 is Vitest-JSON-reporter
22
- * only; `command` defaults to `bunx vitest run`. */
21
+ * run in `cwd` instead of landing in `deferred`. `command` defaults to `bunx vitest
22
+ * run`. `reporter` selects the JSON-report parser + how the output file is requested
23
+ * (Vitest `--outputFile=` vs Playwright `PLAYWRIGHT_JSON_OUTPUT_NAME` env); absent ⇒
24
+ * `'vitest'`, so existing lanes are unchanged (P2). */
23
25
  export type LaneDef = {
24
26
  prefix: string;
25
27
  cwd: string;
26
28
  command?: string;
29
+ reporter?: 'vitest' | 'playwright';
27
30
  };
28
31
  export type SpecConfig = {
29
32
  version: number;
@@ -79,6 +82,24 @@ export type SpecConfig = {
79
82
  pipeline?: {
80
83
  layout?: 'encore1' | 'builder';
81
84
  };
85
+ /** The status value `close-out` writes when a spec is verified-complete. Absent ⇒
86
+ * `'complete'` (the engine's canonical terminal). A consumer whose lifecycle has a
87
+ * distinct terminal (e.g. builder's `implemented`) sets it here so the engine writes
88
+ * it directly — no post-hoc CI rewrite (P3a). Additive, back-compatible. */
89
+ /** #75 close-out config.
90
+ * - `terminal_status`: the org-lifecycle `status:` value close-out writes when a spec
91
+ * is verified-complete (absent ⇒ `'complete'`; e.g. builder's `implemented`), P3a.
92
+ * - `pipeline_terminal`: OPT-IN terminal `pipeline_status` value a repo carries ABOVE
93
+ * the computed statusOrder on shipped specs, so a downstream that keys off
94
+ * `pipeline_status` (e.g. the encoreos epic-close rollup) sees a ship signal the
95
+ * artifact-derived `computeStage` can't mint (it caps at `tasks_generated`). When set,
96
+ * `close-out --pipeline` mints it on a verified-complete decision, `reconcile` PRESERVES
97
+ * it (never heals it down), and `doctor` accepts it as a valid stage. Absent ⇒ no such
98
+ * behavior anywhere (fully backward-compatible; `pipeline_status` stays ≤ `tasks_generated`). */
99
+ close_out?: {
100
+ terminal_status?: string;
101
+ pipeline_terminal?: string;
102
+ };
82
103
  /** D2: opt-in verification-coverage gate on `eos-spec complete`. Absent (the
83
104
  * whole block, or the `verification_coverage_min` key) ⇒ no gate — fully
84
105
  * backward-compatible. `per_core` overrides win over the repo-wide default;
@@ -97,6 +118,14 @@ export type SpecConfig = {
97
118
  * line, shipped marker, template map). Additive + fully defaulted — absent ⇒
98
119
  * `DEFAULT_HANDOFF` (a repo without it behaves exactly as before). See handoff.ts. */
99
120
  handoff?: HandoffConfig;
121
+ /** OPT-IN FR/SC Requirements-Traceability-Matrix scorecard (#79). Absent (or
122
+ * `enabled` falsy) ⇒ `scorecard --rtm` emits nothing and `resolveRtm` reports
123
+ * disabled — a repo that does not model body FR/SC/NFR requirements is unaffected.
124
+ * `ratchets` overrides the advisory coverage floors (see rtm-scorecard.ts). */
125
+ rtm?: {
126
+ enabled?: boolean;
127
+ ratchets?: Record<string, number>;
128
+ };
100
129
  };
101
130
  export declare function loadConfig(repoRoot: string, configOverride?: string): SpecConfig;
102
131
  export declare function resetConfigCache(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * PURE diagnostics for the spec status-model footguns (`spec doctor`, P3c). The
3
+ * eos-spec status model has TWO distinct frontmatter fields that agents routinely
4
+ * conflate:
5
+ * - `pipeline_status` — a DERIVED cache of the workflow stage, drawn from the
6
+ * pipeline layout's `statusOrder` (e.g. builder: stub…tasks_generated). It has
7
+ * NO terminal lifecycle value like `implemented`.
8
+ * - `status` — the implementation LIFECYCLE (the repo's `statuses` enum:
9
+ * specification/…/complete/implemented/archived).
10
+ *
11
+ * The category error is putting one field's vocabulary in the other — most often
12
+ * `pipeline_status: implemented` (a lifecycle value in the stage field). This is
13
+ * config-driven so ANY consumer's stages/statuses drive it, not a hardcoded set.
14
+ * No I/O — the command layer reads the files.
15
+ */
16
+ /** The two frontmatter fields `spec doctor` inspects, plus the spec's identity. */
17
+ export type SpecStatusFields = {
18
+ id: string;
19
+ core: string;
20
+ pipeline_status?: unknown;
21
+ status?: unknown;
22
+ };
23
+ /** The vocabularies a repo's config defines (from resolvePipelineSchema + statuses). */
24
+ export type StatusVocab = {
25
+ /** Valid `pipeline_status` values — the layout's `statusOrder`. */
26
+ stages: readonly string[];
27
+ /** Valid `status` values — the repo's `statuses` enum ids. */
28
+ statuses: readonly string[];
29
+ };
30
+ /** One diagnosed status-model problem on a spec (or, for `terminal_status`, on the
31
+ * repo's config — `id: '(config)'`, `core: 'close_out'`). */
32
+ export type DoctorFinding = {
33
+ id: string;
34
+ core: string;
35
+ field: 'pipeline_status' | 'status' | 'terminal_status';
36
+ value: string;
37
+ /** `swapped` = the OTHER field's vocabulary landed here (the category error);
38
+ * `unknown` = a value in neither vocabulary (a typo/invalid value). */
39
+ kind: 'swapped' | 'unknown';
40
+ message: string;
41
+ };
42
+ /**
43
+ * Diagnose the two-field status-model footgun on one spec.
44
+ *
45
+ * @param spec the spec's id/core + its `pipeline_status`/`status` frontmatter values.
46
+ * @param vocab the repo's valid stage + status vocabularies.
47
+ * @returns zero or more findings (empty = the spec's status fields are well-formed).
48
+ */
49
+ export declare function diagnoseSpecStatusFields(spec: SpecStatusFields, vocab: StatusVocab): DoctorFinding[];
50
+ /**
51
+ * Diagnose a cross-feature invariant #70 shipped but never validated: the repo's
52
+ * `close_out.terminal_status` (the status value close-out writes) must itself be a
53
+ * member of `statuses:`. If it isn't, close-out writes that value and `doctor` then
54
+ * flags it on every closed-out spec — a silent, self-inflicted contradiction between
55
+ * two features that shipped in the same PR. Skips the check (no finding) when the repo declares no
56
+ * `statuses:` enum at all — that degrade is `diagnoseSpecStatusFields`'s job, not this
57
+ * one's, since there's nothing to validate membership against.
58
+ *
59
+ * @param terminalStatus `config.close_out?.terminal_status`, if the repo sets one.
60
+ * @param vocab the repo's valid stage + status vocabularies.
61
+ * @returns zero or one finding.
62
+ */
63
+ export declare function diagnoseCloseoutTerminalStatus(terminalStatus: string | undefined, vocab: StatusVocab): DoctorFinding[];