@dzhechkov/harness-core 0.8.36 → 0.8.38

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 (112) hide show
  1. package/.dz-manifest.json +216 -76
  2. package/README.md +349 -8
  3. package/dist/agentdb-index.d.ts +87 -7
  4. package/dist/agentdb-index.d.ts.map +1 -1
  5. package/dist/agentdb-index.js +416 -57
  6. package/dist/agentdb-index.js.map +1 -1
  7. package/dist/apply-leg.d.ts +19 -1
  8. package/dist/apply-leg.d.ts.map +1 -1
  9. package/dist/apply-leg.js +187 -36
  10. package/dist/apply-leg.js.map +1 -1
  11. package/dist/codex-rollouts.d.ts +118 -0
  12. package/dist/codex-rollouts.d.ts.map +1 -0
  13. package/dist/codex-rollouts.js +297 -0
  14. package/dist/codex-rollouts.js.map +1 -0
  15. package/dist/cost-ledger.d.ts +56 -4
  16. package/dist/cost-ledger.d.ts.map +1 -1
  17. package/dist/cost-ledger.js +176 -20
  18. package/dist/cost-ledger.js.map +1 -1
  19. package/dist/cross-family-control.d.ts +380 -0
  20. package/dist/cross-family-control.d.ts.map +1 -0
  21. package/dist/cross-family-control.js +848 -0
  22. package/dist/cross-family-control.js.map +1 -0
  23. package/dist/debt-ratchet.d.ts +53 -0
  24. package/dist/debt-ratchet.d.ts.map +1 -0
  25. package/dist/debt-ratchet.js +107 -0
  26. package/dist/debt-ratchet.js.map +1 -0
  27. package/dist/embedding-config.d.ts +42 -0
  28. package/dist/embedding-config.d.ts.map +1 -1
  29. package/dist/embedding-config.js +106 -10
  30. package/dist/embedding-config.js.map +1 -1
  31. package/dist/feature-adr-checkpoints.d.ts +6 -0
  32. package/dist/feature-adr-checkpoints.d.ts.map +1 -1
  33. package/dist/feature-adr-checkpoints.js +29 -0
  34. package/dist/feature-adr-checkpoints.js.map +1 -1
  35. package/dist/feature-adr-decision-recall.d.ts +2 -2
  36. package/dist/feature-adr-decision-recall.d.ts.map +1 -1
  37. package/dist/feature-adr-decision-recall.js +5 -3
  38. package/dist/feature-adr-decision-recall.js.map +1 -1
  39. package/dist/feature-adr-envelope.d.ts +96 -0
  40. package/dist/feature-adr-envelope.d.ts.map +1 -0
  41. package/dist/feature-adr-envelope.js +183 -0
  42. package/dist/feature-adr-envelope.js.map +1 -0
  43. package/dist/feature-adr-routing.d.ts +64 -0
  44. package/dist/feature-adr-routing.d.ts.map +1 -1
  45. package/dist/feature-adr-routing.js +133 -3
  46. package/dist/feature-adr-routing.js.map +1 -1
  47. package/dist/feature-adr-stage-canon.d.ts +79 -0
  48. package/dist/feature-adr-stage-canon.d.ts.map +1 -0
  49. package/dist/feature-adr-stage-canon.js +117 -0
  50. package/dist/feature-adr-stage-canon.js.map +1 -0
  51. package/dist/index.d.ts +21 -9
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +15 -5
  54. package/dist/index.js.map +1 -1
  55. package/dist/loop-blobs.generated.js +4 -4
  56. package/dist/loop-blobs.generated.js.map +1 -1
  57. package/dist/mutation-gate.d.ts +51 -0
  58. package/dist/mutation-gate.d.ts.map +1 -1
  59. package/dist/mutation-gate.js +295 -0
  60. package/dist/mutation-gate.js.map +1 -1
  61. package/dist/qe-bridge.d.ts +8 -0
  62. package/dist/qe-bridge.d.ts.map +1 -1
  63. package/dist/qe-bridge.js +4 -2
  64. package/dist/qe-bridge.js.map +1 -1
  65. package/dist/qe-findings.d.ts +107 -0
  66. package/dist/qe-findings.d.ts.map +1 -0
  67. package/dist/qe-findings.js +417 -0
  68. package/dist/qe-findings.js.map +1 -0
  69. package/dist/recap.d.ts +1 -1
  70. package/dist/recap.d.ts.map +1 -1
  71. package/dist/recap.js +4 -2
  72. package/dist/recap.js.map +1 -1
  73. package/dist/review-cost.d.ts +51 -0
  74. package/dist/review-cost.d.ts.map +1 -0
  75. package/dist/review-cost.js +110 -0
  76. package/dist/review-cost.js.map +1 -0
  77. package/dist/round.d.ts +207 -1
  78. package/dist/round.d.ts.map +1 -1
  79. package/dist/round.js +321 -4
  80. package/dist/round.js.map +1 -1
  81. package/dist/run-records.d.ts +97 -0
  82. package/dist/run-records.d.ts.map +1 -1
  83. package/dist/run-records.js +336 -2
  84. package/dist/run-records.js.map +1 -1
  85. package/dist/score.d.ts +44 -1
  86. package/dist/score.d.ts.map +1 -1
  87. package/dist/score.js +78 -5
  88. package/dist/score.js.map +1 -1
  89. package/package.json +1 -1
  90. package/sbom.json +425 -75
  91. package/src/agentdb-index.ts +423 -60
  92. package/src/apply-leg.ts +187 -36
  93. package/src/codex-rollouts.ts +374 -0
  94. package/src/cost-ledger.ts +232 -24
  95. package/src/cross-family-control.ts +1038 -0
  96. package/src/debt-ratchet.ts +143 -0
  97. package/src/embedding-config.ts +131 -10
  98. package/src/feature-adr-checkpoints.ts +29 -0
  99. package/src/feature-adr-decision-recall.ts +6 -4
  100. package/src/feature-adr-envelope.ts +242 -0
  101. package/src/feature-adr-routing.ts +150 -3
  102. package/src/feature-adr-stage-canon.ts +141 -0
  103. package/src/index.ts +65 -6
  104. package/src/loop-blobs.generated.ts +4 -4
  105. package/src/mutation-gate.ts +316 -0
  106. package/src/qe-bridge.ts +12 -2
  107. package/src/qe-findings.ts +463 -0
  108. package/src/recap.ts +10 -3
  109. package/src/review-cost.ts +139 -0
  110. package/src/round.ts +481 -6
  111. package/src/run-records.ts +388 -2
  112. package/src/score.ts +115 -6
package/dist/recap.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"recap.js","sourceRoot":"","sources":["../src/recap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recap.js","sourceRoot":"","sources":["../src/recap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * review-cost-ledger T1/FR-1/A1 (ADR-001 п.1): a pure parser for the qe-bridge reviewer's own cost
3
+ * receipt — the last non-empty line of the Claude CLI's raw stdout, which (for every observed
4
+ * signoff) is a JSON object carrying `total_cost_usd`, `usage.*`, `duration_ms`, `num_turns`.
5
+ *
6
+ * Deliberately narrow and honest: absence of a price is never silently read as a price of zero.
7
+ * `status:'absent'` (no non-empty line at all) and `status:'unparseable'` (a line that IS present
8
+ * but does not parse into a usable cost) are each their own outcome — never collapsed into `ok`, and
9
+ * never guessed. This module owns no filesystem access (NFR-2): the caller (the cli) reads the
10
+ * stdout sidecar file and hands its TEXT in here.
11
+ */
12
+ /** The four cost-bearing token components, plus their sum. `tokensPartial` is present (`true`) only
13
+ * when at least one component was missing/unusable in the source JSON and was substituted with 0 —
14
+ * never silently blended with a genuine zero. */
15
+ export interface QeBridgeCostTokens {
16
+ readonly input: number;
17
+ readonly output: number;
18
+ readonly cacheCreation: number;
19
+ readonly cacheRead: number;
20
+ readonly total: number;
21
+ readonly tokensPartial?: true;
22
+ }
23
+ /**
24
+ * `ok` — a usable price was found. `absent` — no non-empty line to read at all (an empty/whitespace
25
+ * stdout, or a caller who never had one to offer); `reason` is OPTIONAL here because the parser
26
+ * itself never has anything more specific to say about a literal absence, but a CALLER (the cli's
27
+ * `readQeBridgeCostSidecar`, T3) may attach its own known reason to a synthesized `absent` (e.g. "no
28
+ * qe-bridge signoff for this round") without inventing a THIRD status for that case. `unparseable` —
29
+ * a non-empty last line existed but did not yield a valid cost (not JSON, not an object, no numeric
30
+ * `total_cost_usd`, or a negative/NaN one) — `reason` is mandatory here, naming what failed.
31
+ */
32
+ export type QeBridgeCost = {
33
+ readonly status: 'ok';
34
+ readonly costUsd: number;
35
+ readonly tokens: QeBridgeCostTokens;
36
+ readonly durationMs: number | null;
37
+ readonly numTurns: number | null;
38
+ } | {
39
+ readonly status: 'absent';
40
+ readonly reason?: string;
41
+ } | {
42
+ readonly status: 'unparseable';
43
+ readonly reason: string;
44
+ };
45
+ /**
46
+ * `text` is the full raw stdout of a qe-bridge reviewer invocation (Claude CLI, `--output-format
47
+ * json`-shaped result line). The COST line is always the LAST non-empty line — Claude CLI streams
48
+ * intermediate events first and finishes with one `type:"result"` object carrying the run's totals.
49
+ */
50
+ export declare function parseQeBridgeStdoutCost(text: string): QeBridgeCost;
51
+ //# sourceMappingURL=review-cost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-cost.d.ts","sourceRoot":"","sources":["../src/review-cost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;kDAEkD;AAClD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GACpB;IACE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC,GACD;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAmBhE;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAwElE"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * review-cost-ledger T1/FR-1/A1 (ADR-001 п.1): a pure parser for the qe-bridge reviewer's own cost
3
+ * receipt — the last non-empty line of the Claude CLI's raw stdout, which (for every observed
4
+ * signoff) is a JSON object carrying `total_cost_usd`, `usage.*`, `duration_ms`, `num_turns`.
5
+ *
6
+ * Deliberately narrow and honest: absence of a price is never silently read as a price of zero.
7
+ * `status:'absent'` (no non-empty line at all) and `status:'unparseable'` (a line that IS present
8
+ * but does not parse into a usable cost) are each their own outcome — never collapsed into `ok`, and
9
+ * never guessed. This module owns no filesystem access (NFR-2): the caller (the cli) reads the
10
+ * stdout sidecar file and hands its TEXT in here.
11
+ */
12
+ function finiteNonNegative(value) {
13
+ return typeof value === 'number' && Number.isFinite(value) && value >= 0;
14
+ }
15
+ function finiteNumberOrNull(value) {
16
+ return typeof value === 'number' && Number.isFinite(value) ? value : null;
17
+ }
18
+ /** fix-round-1 #6 (Codex r1 HIGH #6): a token COMPONENT is a count, never a measurement — it is only
19
+ * ever trustworthy as a nonnegative SAFE integer. `1e308` is `typeof 'number'` and finite, but adding
20
+ * four of those silently produces `Infinity` (which then serializes to `null` on the ledger row while
21
+ * the in-memory type still claims `number`); a fractional or >2^53 value is likewise not a real token
22
+ * count. Distinct from "component ABSENT" (undefined — stays the existing partial-with-zero path). */
23
+ function safeNonNegativeInteger(value) {
24
+ return typeof value === 'number' && Number.isSafeInteger(value) && value >= 0;
25
+ }
26
+ /**
27
+ * `text` is the full raw stdout of a qe-bridge reviewer invocation (Claude CLI, `--output-format
28
+ * json`-shaped result line). The COST line is always the LAST non-empty line — Claude CLI streams
29
+ * intermediate events first and finishes with one `type:"result"` object carrying the run's totals.
30
+ */
31
+ export function parseQeBridgeStdoutCost(text) {
32
+ const lines = text.split('\n');
33
+ let lastLine = '';
34
+ for (let i = lines.length - 1; i >= 0; i -= 1) {
35
+ const candidate = lines[i].trim();
36
+ if (candidate !== '') {
37
+ lastLine = candidate;
38
+ break;
39
+ }
40
+ }
41
+ if (lastLine === '')
42
+ return { status: 'absent' };
43
+ let parsed;
44
+ try {
45
+ parsed = JSON.parse(lastLine);
46
+ }
47
+ catch (error) {
48
+ return { status: 'unparseable', reason: `last non-empty line is not valid JSON: ${error instanceof Error ? error.message : String(error)}` };
49
+ }
50
+ if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
51
+ return { status: 'unparseable', reason: 'last non-empty line did not parse to a JSON object' };
52
+ }
53
+ const rec = parsed;
54
+ const totalCostUsd = rec['total_cost_usd'];
55
+ if (!finiteNonNegative(totalCostUsd)) {
56
+ return {
57
+ status: 'unparseable',
58
+ reason: typeof totalCostUsd === 'number'
59
+ ? `total_cost_usd is not a finite non-negative number: ${totalCostUsd}`
60
+ : `total_cost_usd field is missing or not a number (got ${JSON.stringify(totalCostUsd)})`,
61
+ };
62
+ }
63
+ const usageRaw = rec['usage'];
64
+ const usage = typeof usageRaw === 'object' && usageRaw !== null && !Array.isArray(usageRaw)
65
+ ? usageRaw
66
+ : {};
67
+ let tokensPartial = false;
68
+ // fix-round-1 #6: a MISSING component (undefined) is the pre-existing partial-with-zero case
69
+ // (never touched by this fix); a PRESENT-but-invalid component (adversarial: 1e308, a fraction,
70
+ // 2^53+1, negative, NaN) is a different failure — the whole result turns `unparseable` rather than
71
+ // silently zeroing a value that was actually there. `invalidComponent` names which key failed.
72
+ let invalidComponent = null;
73
+ const component = (key) => {
74
+ const value = usage[key];
75
+ if (value === undefined) {
76
+ tokensPartial = true;
77
+ return 0;
78
+ }
79
+ if (safeNonNegativeInteger(value))
80
+ return value;
81
+ invalidComponent = key;
82
+ return 0;
83
+ };
84
+ const input = component('input_tokens');
85
+ const output = component('output_tokens');
86
+ const cacheCreation = component('cache_creation_input_tokens');
87
+ const cacheRead = component('cache_read_input_tokens');
88
+ if (invalidComponent !== null) {
89
+ return { status: 'unparseable', reason: `usage.${invalidComponent} is not a nonnegative safe integer: ${JSON.stringify(usage[invalidComponent])}` };
90
+ }
91
+ const total = input + output + cacheCreation + cacheRead;
92
+ if (!Number.isSafeInteger(total)) {
93
+ return { status: 'unparseable', reason: `token total ${total} exceeds Number.MAX_SAFE_INTEGER — not a trustworthy count` };
94
+ }
95
+ return {
96
+ status: 'ok',
97
+ costUsd: totalCostUsd,
98
+ tokens: {
99
+ input,
100
+ output,
101
+ cacheCreation,
102
+ cacheRead,
103
+ total,
104
+ ...(tokensPartial ? { tokensPartial: true } : {}),
105
+ },
106
+ durationMs: finiteNumberOrNull(rec['duration_ms']),
107
+ numTurns: finiteNumberOrNull(rec['num_turns']),
108
+ };
109
+ }
110
+ //# sourceMappingURL=review-cost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-cost.js","sourceRoot":"","sources":["../src/review-cost.ts"],"names":[],"mappings":"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"}
package/dist/round.d.ts CHANGED
@@ -3,6 +3,7 @@
3
3
  * lesson ids, ledger writing/reading and pid liveness. In particular, this file never imports a
4
4
  * filesystem or process API; the CLI owns `.dz/rounds/` and the witnessed ledger writer.
5
5
  */
6
+ import type { QeBridgeCost } from './review-cost.js';
6
7
  declare const ROUND_OUTCOMES: readonly ["shipped", "refuted", "blocked", "abandoned"];
7
8
  type RoundOutcome = typeof ROUND_OUTCOMES[number];
8
9
  export interface RoundState {
@@ -16,6 +17,15 @@ export interface RoundState {
16
17
  readonly run?: string;
17
18
  readonly recalled: readonly string[];
18
19
  readonly execs?: readonly RoundExecState[];
20
+ /** experiment-envelope FR-3(в): the envelope the pipeline built after its Step-0 router, carried
21
+ * unchanged through `round open --envelope` into `closeRound`'s ledger row. Opaque here (never
22
+ * interpreted by round.ts) — validated once, at `openRound`, and trusted from then on. */
23
+ readonly envelope?: unknown;
24
+ /** experiment-instrument FR-1/FR-3 (ADR-001): minted once at `openRound` — `--task` when given
25
+ * (validated), else `slug@startedAt`. Optional at the TYPE level, not because a fresh round ever
26
+ * omits it, but because a state file written before this feature landed has no such key on disk;
27
+ * `closeRound` derives the same default for that legacy case and names the source (A4/A5). */
28
+ readonly taskId?: string;
19
29
  }
20
30
  export interface RoundExecState {
21
31
  readonly startedAt: string;
@@ -35,7 +45,10 @@ export interface RoundLedgerRow {
35
45
  readonly minutes: number | null;
36
46
  readonly agents: number | null;
37
47
  readonly tokens: number | null;
38
- readonly grade: null;
48
+ /** measurement-integrity FR-7: was always `null` before this feature — `shipped|refuted` now
49
+ * requires a real grade; `blocked|abandoned` still writes `null` (a review that never finished has
50
+ * nothing to grade). */
51
+ readonly grade: string | null;
39
52
  readonly outcome: RoundOutcome;
40
53
  readonly reason: string | null;
41
54
  readonly round: number;
@@ -44,9 +57,122 @@ export interface RoundLedgerRow {
44
57
  readonly note: string;
45
58
  readonly date: null;
46
59
  readonly costIn?: 'stages';
60
+ /** experiment-envelope FR-3(в): copied verbatim from the state that closed this round, when present. */
61
+ readonly envelope?: unknown;
47
62
  /** round-state-lock (lead edit after Codex re-review): identity of the state instance this row
48
63
  * closes — lets a retried `close` detect its own earlier row regardless of the clock. */
49
64
  readonly stateId?: string;
65
+ /** measurement-integrity FR-7: present ONLY when `reviewer` was filled from the qe-bridge sidecar
66
+ * (no explicit `--reviewer`) — `elapsedMs / 60000`, rounded to 1 decimal. review-cost-ledger
67
+ * fix-round-1 #1/#2 (ADR-001 п.2 amended): also present when an EXPLICIT `--reviewer` AGREES with
68
+ * the sidecar's own `gradedBy` (`reviewSource:'flag+qe-bridge'` below names that case). */
69
+ readonly reviewMinutes?: number;
70
+ /** measurement-integrity FR-7: present ONLY alongside `reviewMinutes` — names where `reviewer` and
71
+ * `reviewMinutes` came from, so a reader never confuses a sidecar-sourced figure for a flag.
72
+ * review-cost-ledger fix-round-1 #1/#2 (ADR-001 п.2 amended): `'qe-bridge'` when `reviewer` was
73
+ * FILLED from the sidecar (no `--reviewer` flag); `'flag+qe-bridge'` when an explicit `--reviewer`
74
+ * AGREES with the sidecar's own `gradedBy` (case-insensitive `family:model` equality, or a
75
+ * family-only flag matching the sidecar's family) — the flag's IDENTITY is confirmed by the
76
+ * sidecar, so its price/minutes are attributed too. A DISAGREEING explicit `--reviewer` is refused
77
+ * outright (`closeRound` never reaches row-building for that case) — never silently ignored. */
78
+ readonly reviewSource?: 'qe-bridge' | 'flag+qe-bridge';
79
+ /** experiment-instrument FR-1/FR-3 (ADR-001): the task identity this round's state carried (or, for
80
+ * a legacy state with no `taskId` on disk, the same `slug@startedAt` default `openRound` would have
81
+ * minted — always present, never null: a round always has a slug and a startedAt). */
82
+ readonly taskId?: string;
83
+ /** experiment-instrument A4/A5: present ONLY when `taskId` above was DERIVED here rather than read
84
+ * from the state file — i.e. the state predates this feature. A fresh round never carries this. */
85
+ readonly taskIdSource?: 'derived-legacy';
86
+ /** experiment-instrument FR-3/A2: the git sha `dz round close` resolved at close time (cli-only —
87
+ * the core never shells out), present only for a FINISHED outcome (`shipped|refuted`). */
88
+ readonly shipSha?: string | null;
89
+ /** experiment-instrument FR-3/A2: same timestamp as this row's own close (`closedAt`), present only
90
+ * alongside `shipSha` — the anchor "when was this shipped", not a duplicate of `date`. */
91
+ readonly shippedAt?: string;
92
+ /** experiment-instrument A2: present only when `shipSha` is `null` for a finished outcome — why the
93
+ * sha could not be resolved (e.g. "not a git repository", "git failed: …"). */
94
+ readonly shipShaReason?: string;
95
+ /** experiment-instrument r1-5 (Codex r1 HIGH #5, ADR-001 amended): `HEAD` alone does not identify
96
+ * what was actually shipped when the worktree carries uncommitted changes — this hub's own tree is
97
+ * ALWAYS dirty with unrelated files, so a clean-tree requirement was rejected; instead the row
98
+ * names the limit. `true` when `git status --porcelain` was non-empty at close time, `false` when
99
+ * empty, present only for a FINISHED outcome, alongside `shipSha`. */
100
+ readonly shipTreeDirty?: boolean;
101
+ /** experiment-instrument r1-5: present ONLY when `shipTreeDirty` above could not be determined (the
102
+ * `git status --porcelain` probe itself failed) — the same "never a bare unexplained gap" rule
103
+ * `shipShaReason` already follows, for the sibling probe. */
104
+ readonly shipTreeDirtyReason?: string;
105
+ /** review-cost-ledger FR-2/A2 (ADR-001 п.1-2): the qe-bridge reviewer's OWN price, from the stdout
106
+ * sidecar — present only when {@link reviewerCostSource} is `'qe-bridge-stdout'` (a usable price
107
+ * was found) or `'unavailable'` (present with the reviewer known but the price is not — `null` in
108
+ * that case, never omitted: NFR-4, "nothing is guessed"). */
109
+ readonly reviewerCostUsd?: number | null;
110
+ /** review-cost-ledger FR-2/A2: sum of the four token components below, present only alongside a
111
+ * successful {@link reviewerCostUsd} (`reviewerCostSource:'qe-bridge-stdout'`). fix-round-1 #5
112
+ * (Codex r1 HIGH #5): `null` — never a silently-zeroed sum — when the sidecar's own
113
+ * `tokens.tokensPartial` was `true` (at least one component was missing from the source JSON): an
114
+ * incomplete sum read as an exact zero is indistinguishable from a genuine zero-token review, which
115
+ * is the defect this field exists to avoid. */
116
+ readonly reviewerTokens?: number | null;
117
+ /** review-cost-ledger FR-2/A2: the same four components broken out, present only alongside a
118
+ * successful {@link reviewerCostUsd}. fix-round-1 #5: `partial:true` when the sidecar's `total`
119
+ * above is `null` for the reason described there — the four components themselves are still the
120
+ * real (possibly zero-substituted) values, only the aggregate is withheld. */
121
+ readonly reviewerTokensBreakdown?: {
122
+ readonly input: number;
123
+ readonly output: number;
124
+ readonly cacheCreation: number;
125
+ readonly cacheRead: number;
126
+ readonly partial?: true;
127
+ };
128
+ /** review-cost-ledger FR-2/A2/A3: `'qe-bridge-stdout'` when {@link reviewerCostUsd} is a real,
129
+ * parsed price; `'unavailable'` when a reviewer is known but no usable price could be found (the
130
+ * Codex limit, an unreadable/absent/unparseable stdout sidecar, or — fix-round-1 #2 — a sidecar
131
+ * price that exists but is NOT tied to this row's reviewer). Present ONLY in the same branch as
132
+ * {@link reviewMinutes}/{@link reviewSource} above (`reviewSource` is `'qe-bridge'` or
133
+ * `'flag+qe-bridge'`) — WITH two named exceptions, neither of which ever yields an `'ok'` price:
134
+ * (a) a Codex reviewer supplied via `--reviewer` with no matching signoff still gets `'unavailable'`
135
+ * + a reason naming the limit (ADR-001 п.3/FR-4); (b) an explicit `--reviewer` alongside a sidecar
136
+ * that carries a REAL cost record but is NOT tied to it (empty `gradedBy`, i.e. never fills
137
+ * `reviewer` and never agrees with it either) also gets `'unavailable'` — fix-round-1 #2 (Codex r1
138
+ * CRITICAL #2): an untied sidecar price, even `status:'ok'`, is NEVER attributed to an explicit
139
+ * reviewer it was not written for; a DISAGREEING sidecar (real `gradedBy`, does not match the flag)
140
+ * is refused outright by `closeRound` before any row is built at all (fix-round-1 #1/BLOCKER). */
141
+ readonly reviewerCostSource?: 'qe-bridge-stdout' | 'unavailable';
142
+ /** review-cost-ledger FR-2/A3: present ONLY alongside `reviewerCostSource:'unavailable'` — the
143
+ * status text explaining WHY (never a bare unexplained gap, same discipline as `shipShaReason`). */
144
+ readonly reviewerCostReason?: string;
145
+ }
146
+ /**
147
+ * measurement-integrity FR-7: the qe-bridge cross-model-review signoff for THIS round — read by the
148
+ * CLI from `features/<slug>/.fa-state/qe-bridge/signoff-*.json`, selected by matching `slug` AND
149
+ * falling inside THIS round's own `[startedAt, closedAt]` interval (fix-round-1/F9, Codex r1 HIGH
150
+ * #9 — the CLI-side lookup, `findQeBridgeSignoffForRound`, is what enforces that; multiple qualifying
151
+ * signoffs there are an AMBIGUITY refusal, never "the latest wins"), passed in here as DATA.
152
+ * `closeRound` never opens a file.
153
+ */
154
+ export interface RoundReviewSidecar {
155
+ /** Who graded it — family + model, e.g. `codex:gpt-5.6-sol`. */
156
+ readonly gradedBy: string;
157
+ readonly elapsedMs: number;
158
+ /** The sidecar's OWN verdict, when it carries one — checked against `--grade` for a conflict. */
159
+ readonly grade?: string | null;
160
+ /** measurement-integrity fix-round-1/F9: the slug this signoff was written FOR — carried through so
161
+ * a reader of the eventual ledger row can independently confirm it was not another slug's file. */
162
+ readonly slug?: string;
163
+ /** measurement-integrity fix-round-1/F9: the qe-bridge review's OWN internal run id (from the
164
+ * signoff filename, `signoff-<runId>.json`) — a DIFFERENT id space from `RoundState.run` (which
165
+ * names a feature-adr pipeline run); carried for traceability/audit, never used as a join key. */
166
+ readonly runId?: string | null;
167
+ /** measurement-integrity fix-round-1/F9: when this signoff was emitted — the timestamp
168
+ * `findQeBridgeSignoffForRound` uses to confirm it falls inside THIS round's own interval. */
169
+ readonly emittedAt?: string;
170
+ /** review-cost-ledger FR-2/T3 (ADR-001 п.1): the reviewer's own price, read by the CALLER (the cli
171
+ * — `readQeBridgeCostSidecar`, T3) from the signoff's `rawStdoutFile` and parsed by
172
+ * `parseQeBridgeStdoutCost` (T1). `round.ts` never opens a file itself, same discipline as
173
+ * `gradedBy`/`elapsedMs` above. Absent when the caller never attempted a cost lookup at all
174
+ * (distinct from `{status:'absent'}`, which means a lookup WAS attempted and found nothing). */
175
+ readonly cost?: QeBridgeCost;
50
176
  }
51
177
  type RoundRefusal = {
52
178
  readonly ok: false;
@@ -67,6 +193,14 @@ export declare function openRound(input: {
67
193
  readonly force: boolean;
68
194
  readonly existingOwnerAlive: boolean | null;
69
195
  readonly isRunAlive: (runId: string) => boolean | null;
196
+ /** experiment-envelope FR-3(в)/AC-5: when present, validated BEFORE anything else — an invalid
197
+ * envelope refuses the open (exit 2) with the validator's own reason, same as any other malformed
198
+ * input to this command. Absent stays absent (round open without --envelope is unaffected). */
199
+ readonly envelope?: unknown;
200
+ /** experiment-instrument FR-1 (ADR-001): explicit task identity for this round. Absent ⇒
201
+ * `slug@startedAt` (minted below); present but invalid (empty, >120 chars, control characters) ⇒
202
+ * refused (A1) — never silently substituted with the default. */
203
+ readonly task?: string | undefined;
70
204
  }): {
71
205
  readonly ok: true;
72
206
  readonly state: RoundState;
@@ -87,6 +221,25 @@ export declare function closeRound(input: {
87
221
  readonly closedAt: string;
88
222
  readonly knownLessonIds: readonly string[];
89
223
  readonly stateId?: string | undefined;
224
+ /** measurement-integrity FR-7: `A`, `A-`, `B+`, … — mandatory for `shipped|refuted`, a
225
+ * warned-and-dropped no-op for `blocked|abandoned`. */
226
+ readonly grade?: string | undefined;
227
+ /** measurement-integrity FR-7: the qe-bridge signoff for this slug, read by the CALLER. */
228
+ readonly reviewSidecar?: RoundReviewSidecar | undefined;
229
+ /** experiment-instrument FR-3/A2/NFR-3: the git sha the CLI resolved (`git rev-parse HEAD`) — the
230
+ * core never shells out, so this always arrives as data, `null` when it could not be resolved.
231
+ * Only consulted for a FINISHED outcome (`shipped|refuted`); ignored otherwise. */
232
+ readonly shipSha?: string | null | undefined;
233
+ /** experiment-instrument A2: why `shipSha` is `null` (e.g. "not a git repository", "git failed: …")
234
+ * — required to explain a null sha on a finished outcome, ignored when `shipSha` is non-null. */
235
+ readonly shipShaReason?: string | undefined;
236
+ /** experiment-instrument r1-5: whether `git status --porcelain` in `projectRoot` was non-empty at
237
+ * close time (cli-resolved, same discipline as `shipSha` — the core never shells out). Ignored for
238
+ * an unfinished outcome, same as `shipSha`. */
239
+ readonly shipTreeDirty?: boolean | undefined;
240
+ /** experiment-instrument r1-5: why `shipTreeDirty` could not be determined — required only when the
241
+ * probe itself failed (`shipTreeDirty` absent), ignored otherwise. */
242
+ readonly shipTreeDirtyReason?: string | undefined;
90
243
  }, io: {
91
244
  readonly writeLedger: (row: RoundLedgerRow) => unknown;
92
245
  readonly readLedgerTail: () => string;
@@ -94,7 +247,60 @@ export declare function closeRound(input: {
94
247
  readonly ok: true;
95
248
  readonly row: RoundLedgerRow;
96
249
  readonly marker: string;
250
+ readonly warnings: readonly string[];
97
251
  } | RoundRefusal;
252
+ /**
253
+ * measurement-integrity fix-round-1/F8 (Codex r1 CRITICAL #8): validate an ALREADY-WRITTEN ledger
254
+ * row against the CURRENT schema's `shipped|refuted require a grade` rule (ADR-001 D5 / FR-7).
255
+ *
256
+ * This exists for exactly one caller: `dz round close`'s idempotent-retry path. When the predicted
257
+ * marker (or `stateId`) is already found in the ledger tail, the CLI used to skip `closeRound`
258
+ * ENTIRELY and delete the round's state file — so an OLD row written before FR-7 shipped (`shipped`
259
+ * with `grade: null`, the exact defect this feature exists to close) could be "recognised as already
260
+ * closed" and the state removed without ever being checked against the rule that is supposed to be
261
+ * mandatory. This function is that missing check, run on the ALREADY-FOUND row before the CLI is
262
+ * allowed to treat the retry as a success.
263
+ *
264
+ * Deliberately NARROW: it re-checks only the ONE FR-7 invariant (a schema rule with a proving test),
265
+ * not every field `closeRound` validates on the FIRST write (grade format, envelope shape, …) — those
266
+ * were already enforced when the row was ORIGINALLY written; re-validating them here would either
267
+ * duplicate that logic or silently drift from it. Pure, never throws.
268
+ */
269
+ export declare function validateClosedRoundLedgerRow(row: unknown): {
270
+ readonly ok: true;
271
+ } | {
272
+ readonly ok: false;
273
+ readonly reason: string;
274
+ };
275
+ /**
276
+ * experiment-instrument FR-1/FR-3 (ADR-001 D-A): the single source every OTHER writer (an auto ledger
277
+ * row, a qe-bridge signoff, a control-review row) consults to find this slug's task identity —
278
+ * never guessed, never minted here. `states` is whatever the CALLER already read as "currently open
279
+ * round state files for this slug" (the cli walks `.dz/rounds/<slug>-*.json`); this function does not
280
+ * touch a filesystem and does not assume the caller pre-filtered by slug, so it filters again itself.
281
+ *
282
+ * `unreadableStateCount` (r1-2, Codex r1 HIGH #2) is how many FILENAMES the caller found matching this
283
+ * slug's pattern that it could NOT parse into a `RoundState` — a corrupt or half-written state file is
284
+ * never silent absence; it means the true open-round count for this slug is UNKNOWN, not zero.
285
+ *
286
+ * - Any unreadable candidate exists AND no readable one does ⇒ `{taskId: null, source: 'unavailable'}`
287
+ * — a round MAY be open here, but its state cannot be read (r1-2).
288
+ * - Any unreadable candidate exists ALONGSIDE at least one readable one ⇒ `{taskId: null, source:
289
+ * 'ambiguous'}` — the readable one might not be the only genuinely open round (r1-2).
290
+ * - Zero candidates at all (readable or not) ⇒ `{taskId: null, source: 'no-open-round'}` — no open
291
+ * round, nothing to fill from (A4).
292
+ * - Two or more readable matches, no unreadable ones ⇒ `{taskId: null, source: 'ambiguous'}` — which
293
+ * one is authoritative is not decidable here; a NULL is the honest answer, never "the latest wins" (A5).
294
+ * - Exactly one readable match, no unreadable ones ⇒ its `taskId` when the state carries one
295
+ * (`source: 'open-round'`), or the SAME `slug@startedAt` default `openRound`/`closeRound` would
296
+ * derive for a legacy state missing the field on disk — labelled `source: 'derived-legacy'` (r1-1,
297
+ * Codex r1 CRITICAL #1: this used to report `'open-round'` for an invented value, indistinguishable
298
+ * from a value the round itself actually minted).
299
+ */
300
+ export declare function readOpenRoundTaskId(states: readonly RoundState[], slug: string, unreadableStateCount?: number): {
301
+ readonly taskId: string | null;
302
+ readonly source: 'open-round' | 'derived-legacy' | 'no-open-round' | 'ambiguous' | 'unavailable';
303
+ };
98
304
  export declare function listRounds(states: readonly RoundState[], input: {
99
305
  readonly now: number;
100
306
  readonly olderThanMinutes: number;
@@ -1 +1 @@
1
- {"version":3,"file":"round.d.ts","sourceRoot":"","sources":["../src/round.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"round.d.ts","sourceRoot":"","sources":["../src/round.ts"],"names":[],"mappings":"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"}