instar 1.3.739 → 1.3.741
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/dist/core/promptContract.d.ts +114 -0
- package/dist/core/promptContract.d.ts.map +1 -0
- package/dist/core/promptContract.js +120 -0
- package/dist/core/promptContract.js.map +1 -0
- package/dist/data/llmBenchCoverage.d.ts +8 -0
- package/dist/data/llmBenchCoverage.d.ts.map +1 -1
- package/dist/data/llmBenchCoverage.js +117 -0
- package/dist/data/llmBenchCoverage.js.map +1 -1
- package/dist/monitoring/ReapLog.d.ts +44 -2
- package/dist/monitoring/ReapLog.d.ts.map +1 -1
- package/dist/monitoring/ReapLog.js +151 -10
- package/dist/monitoring/ReapLog.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +2 -2
- package/src/data/llmBenchCoverage.ts +200 -0
- package/upgrades/1.3.740.md +65 -0
- package/upgrades/1.3.741.md +85 -0
- package/upgrades/side-effects/prompt-parser-contract-standard.md +67 -0
- package/upgrades/side-effects/reaper-log-flood-fix.eli16.md +39 -0
- package/upgrades/side-effects/reaper-log-flood-fix.md +90 -0
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared prompt↔parser contract library — the mechanical arm of the
|
|
3
|
+
* "The Prompt and the Parser Are One Contract" standard (defect class 1 closure;
|
|
4
|
+
* docs/specs/prompt-parser-contract-standard.md).
|
|
5
|
+
*
|
|
6
|
+
* WHY THIS EXISTS (earned): on 2026-07-02 the INSTAR-Bench v2 defect-class
|
|
7
|
+
* review found the tone gate's PROMPT taught models the short rule id ("B15")
|
|
8
|
+
* while its production PARSER accepts only the full identifier
|
|
9
|
+
* ("B15_CONTEXT_DEATH_STOP") and fails closed on the short form. Every model
|
|
10
|
+
* through every door obeyed the prompt and "failed" — a 100%-our-fault defect.
|
|
11
|
+
* An LLM callsite whose output is machine-parsed is ONE contract with TWO halves
|
|
12
|
+
* maintained separately: the prompt promises an output vocabulary/shape; the
|
|
13
|
+
* parser accepts one. Nothing held them coherent. This module gives that
|
|
14
|
+
* contract a code artifact — the type of a co-located promise, and a pure
|
|
15
|
+
* generator for the counter-examples a contract test must prove the parser
|
|
16
|
+
* REJECTS — so a taught-but-unparsed vocabulary becomes a CI failure instead of
|
|
17
|
+
* a latent door.
|
|
18
|
+
*
|
|
19
|
+
* SCOPE HONESTY (design §2): the PREFERRED form for an enumerated-verdict
|
|
20
|
+
* callsite is single-sourcing — prompt, parser, and test all consume ONE
|
|
21
|
+
* exported verdict constant, which makes a taught-but-undeclared token
|
|
22
|
+
* structurally impossible. The `PromptContract` manifest below is the FALLBACK
|
|
23
|
+
* form for prose-shaped prompts where single-sourcing is impractical (a reviewed
|
|
24
|
+
* claim per spec §2, not an author's private call). This module ships DARK: it
|
|
25
|
+
* introduces no runtime caller and changes NO live prompt or parser behavior.
|
|
26
|
+
* It is consumed only by the per-callsite CONTRACT TESTS that graduate on the
|
|
27
|
+
* shrink-only schedule (rollout §1/§2) — each of which renders the REAL
|
|
28
|
+
* production prompt through an exported pure render function; that render
|
|
29
|
+
* refactor of the live builders is deferred to its own A/B-gated increments and
|
|
30
|
+
* is NOT part of this dark increment.
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* The election of a contract's form, recorded per coverage entry (spec §2:
|
|
34
|
+
* "Form election is not self-certified"). A `manifest`-form entry on an
|
|
35
|
+
* enumerated-verdict callsite requires an X1 argued reason in the registry.
|
|
36
|
+
*/
|
|
37
|
+
export type ContractForm = 'single-source' | 'manifest';
|
|
38
|
+
/**
|
|
39
|
+
* The co-located machine-readable promise for a prose-shaped (fallback-form)
|
|
40
|
+
* callsite. Co-location is the point (spec §2): a prompt edit lands in the same
|
|
41
|
+
* file/diff as the promise, so review and CI see contract drift as ONE change.
|
|
42
|
+
*
|
|
43
|
+
* The `parser` is a FUNCTION REFERENCE, never a string — refactor-safe (spec §2).
|
|
44
|
+
* A parser returning a non-null/defined value for an input is treated as
|
|
45
|
+
* "accepted"; the contract test decides acceptance semantics per callsite.
|
|
46
|
+
*/
|
|
47
|
+
export interface PromptContract<TAccepted = unknown> {
|
|
48
|
+
/**
|
|
49
|
+
* Every terminal token/shape the prompt text tells the model to produce.
|
|
50
|
+
* Prefer the shared verdict constant even here (spec §2).
|
|
51
|
+
*/
|
|
52
|
+
readonly promisedOutputs: readonly string[];
|
|
53
|
+
/**
|
|
54
|
+
* Canonical counter-examples the parser must REJECT (fail-closed proof).
|
|
55
|
+
* MECHANICALLY DERIVED from `promisedOutputs` via `deriveRejectedForms`
|
|
56
|
+
* (case-mutation, prefix-truncation, separator-stripping) plus hand-picked
|
|
57
|
+
* extras — a hand-only list invites trivial rejects (spec §2).
|
|
58
|
+
*/
|
|
59
|
+
readonly rejectedForms: readonly string[];
|
|
60
|
+
/**
|
|
61
|
+
* Known-hazard shapes that must NOT appear anywhere in the full rendered
|
|
62
|
+
* prompt outside explicitly-declared negative sections (spec §3.1) — the
|
|
63
|
+
* inverse-direction backstop (e.g. bare rule ids the parser rejects).
|
|
64
|
+
*/
|
|
65
|
+
readonly hazardPatterns: readonly RegExp[];
|
|
66
|
+
/**
|
|
67
|
+
* The response envelope the prompt promises (JSON shape, field names).
|
|
68
|
+
*/
|
|
69
|
+
readonly envelope: {
|
|
70
|
+
readonly shape: 'json' | 'text';
|
|
71
|
+
readonly verdictField?: string;
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Compatibility forms the parser DELIBERATELY accepts (documented, tested).
|
|
75
|
+
* "non-promised" for the fail-closed test means outside promised ∪ aliases.
|
|
76
|
+
*/
|
|
77
|
+
readonly acceptedAliases: readonly string[];
|
|
78
|
+
/** The REAL production parser, by reference. */
|
|
79
|
+
readonly parser: (raw: string) => TAccepted;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Options for {@link deriveRejectedForms}.
|
|
83
|
+
*/
|
|
84
|
+
export interface DeriveRejectedFormsOptions {
|
|
85
|
+
/**
|
|
86
|
+
* The separator characters whose stripping/truncation produces a rejected
|
|
87
|
+
* form. Defaults to `_`, `-`, and a space — the separators that produced the
|
|
88
|
+
* historical B15 defect ("B15_CONTEXT_DEATH_STOP" → "B15").
|
|
89
|
+
*/
|
|
90
|
+
readonly separators?: readonly string[];
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Mechanically derive the canonical counter-examples a contract test feeds the
|
|
94
|
+
* REAL parser to prove its documented fail-closed behavior (spec §2/§3.3).
|
|
95
|
+
*
|
|
96
|
+
* For each promised token it produces: case-mutations, prefix-truncations at
|
|
97
|
+
* each separator, and separator-stripped forms. `extras` (hand-picked shapes,
|
|
98
|
+
* e.g. the literal short id `B15` and the empty string) are appended. The
|
|
99
|
+
* result EXCLUDES any form that collides with a genuinely-promised token — a
|
|
100
|
+
* mutation that equals a real promised output is NOT a rejected form (that would
|
|
101
|
+
* make the fail-closed assertion contradict the acceptance assertion). The
|
|
102
|
+
* output is de-duplicated and stably ordered.
|
|
103
|
+
*
|
|
104
|
+
* Pure and side-effect-free. It touches no live parser and reads no I/O.
|
|
105
|
+
*
|
|
106
|
+
* @param vocabulary the promised output vocabulary (the taught verdict tokens).
|
|
107
|
+
* @param extras hand-picked additional rejected forms (spec §2: a hand-only
|
|
108
|
+
* list invites trivial rejects, so this AUGMENTS the derived set).
|
|
109
|
+
* @param options separator configuration (defaults to `_ - <space>`).
|
|
110
|
+
* @returns the derived + hand-picked rejected forms, minus any that collide
|
|
111
|
+
* with a promised token, de-duplicated and stably ordered.
|
|
112
|
+
*/
|
|
113
|
+
export declare function deriveRejectedForms(vocabulary: readonly string[], extras?: readonly string[], options?: DeriveRejectedFormsOptions): string[];
|
|
114
|
+
//# sourceMappingURL=promptContract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promptContract.d.ts","sourceRoot":"","sources":["../../src/core/promptContract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,UAAU,CAAC;AAExD;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc,CAAC,SAAS,GAAG,OAAO;IACjD;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C;;;;OAIG;IACH,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvF;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAgDD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,MAAM,GAAE,SAAS,MAAM,EAAO,EAC9B,OAAO,GAAE,0BAA+B,GACvC,MAAM,EAAE,CAqBV"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared prompt↔parser contract library — the mechanical arm of the
|
|
3
|
+
* "The Prompt and the Parser Are One Contract" standard (defect class 1 closure;
|
|
4
|
+
* docs/specs/prompt-parser-contract-standard.md).
|
|
5
|
+
*
|
|
6
|
+
* WHY THIS EXISTS (earned): on 2026-07-02 the INSTAR-Bench v2 defect-class
|
|
7
|
+
* review found the tone gate's PROMPT taught models the short rule id ("B15")
|
|
8
|
+
* while its production PARSER accepts only the full identifier
|
|
9
|
+
* ("B15_CONTEXT_DEATH_STOP") and fails closed on the short form. Every model
|
|
10
|
+
* through every door obeyed the prompt and "failed" — a 100%-our-fault defect.
|
|
11
|
+
* An LLM callsite whose output is machine-parsed is ONE contract with TWO halves
|
|
12
|
+
* maintained separately: the prompt promises an output vocabulary/shape; the
|
|
13
|
+
* parser accepts one. Nothing held them coherent. This module gives that
|
|
14
|
+
* contract a code artifact — the type of a co-located promise, and a pure
|
|
15
|
+
* generator for the counter-examples a contract test must prove the parser
|
|
16
|
+
* REJECTS — so a taught-but-unparsed vocabulary becomes a CI failure instead of
|
|
17
|
+
* a latent door.
|
|
18
|
+
*
|
|
19
|
+
* SCOPE HONESTY (design §2): the PREFERRED form for an enumerated-verdict
|
|
20
|
+
* callsite is single-sourcing — prompt, parser, and test all consume ONE
|
|
21
|
+
* exported verdict constant, which makes a taught-but-undeclared token
|
|
22
|
+
* structurally impossible. The `PromptContract` manifest below is the FALLBACK
|
|
23
|
+
* form for prose-shaped prompts where single-sourcing is impractical (a reviewed
|
|
24
|
+
* claim per spec §2, not an author's private call). This module ships DARK: it
|
|
25
|
+
* introduces no runtime caller and changes NO live prompt or parser behavior.
|
|
26
|
+
* It is consumed only by the per-callsite CONTRACT TESTS that graduate on the
|
|
27
|
+
* shrink-only schedule (rollout §1/§2) — each of which renders the REAL
|
|
28
|
+
* production prompt through an exported pure render function; that render
|
|
29
|
+
* refactor of the live builders is deferred to its own A/B-gated increments and
|
|
30
|
+
* is NOT part of this dark increment.
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* Toggle a token's letter case in the three ways a lenient model most often
|
|
34
|
+
* mutates a taught identifier: all-upper, all-lower, and first-letter-flipped.
|
|
35
|
+
* Purely mechanical — no locale assumptions beyond JS default casing.
|
|
36
|
+
*/
|
|
37
|
+
function caseMutations(token) {
|
|
38
|
+
const out = new Set();
|
|
39
|
+
out.add(token.toUpperCase());
|
|
40
|
+
out.add(token.toLowerCase());
|
|
41
|
+
if (token.length > 0) {
|
|
42
|
+
const first = token[0];
|
|
43
|
+
const flippedFirst = first === first.toUpperCase() ? first.toLowerCase() : first.toUpperCase();
|
|
44
|
+
out.add(flippedFirst + token.slice(1));
|
|
45
|
+
}
|
|
46
|
+
return [...out];
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Prefix-truncations at each separator boundary — the exact B15 shape: the
|
|
50
|
+
* model emits the leading segment ("B15") of a compound identifier
|
|
51
|
+
* ("B15_CONTEXT_DEATH_STOP") that the parser rejects.
|
|
52
|
+
*/
|
|
53
|
+
function prefixTruncations(token, separators) {
|
|
54
|
+
const out = new Set();
|
|
55
|
+
for (const sep of separators) {
|
|
56
|
+
if (!sep)
|
|
57
|
+
continue;
|
|
58
|
+
const idx = token.indexOf(sep);
|
|
59
|
+
if (idx > 0)
|
|
60
|
+
out.add(token.slice(0, idx));
|
|
61
|
+
}
|
|
62
|
+
return [...out];
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Separator-stripped forms — the same token with each separator removed
|
|
66
|
+
* ("B15_CONTEXT_DEATH_STOP" → "B15CONTEXTDEATHSTOP").
|
|
67
|
+
*/
|
|
68
|
+
function separatorStripped(token, separators) {
|
|
69
|
+
const out = new Set();
|
|
70
|
+
for (const sep of separators) {
|
|
71
|
+
if (!sep)
|
|
72
|
+
continue;
|
|
73
|
+
if (token.includes(sep))
|
|
74
|
+
out.add(token.split(sep).join(''));
|
|
75
|
+
}
|
|
76
|
+
return [...out];
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Mechanically derive the canonical counter-examples a contract test feeds the
|
|
80
|
+
* REAL parser to prove its documented fail-closed behavior (spec §2/§3.3).
|
|
81
|
+
*
|
|
82
|
+
* For each promised token it produces: case-mutations, prefix-truncations at
|
|
83
|
+
* each separator, and separator-stripped forms. `extras` (hand-picked shapes,
|
|
84
|
+
* e.g. the literal short id `B15` and the empty string) are appended. The
|
|
85
|
+
* result EXCLUDES any form that collides with a genuinely-promised token — a
|
|
86
|
+
* mutation that equals a real promised output is NOT a rejected form (that would
|
|
87
|
+
* make the fail-closed assertion contradict the acceptance assertion). The
|
|
88
|
+
* output is de-duplicated and stably ordered.
|
|
89
|
+
*
|
|
90
|
+
* Pure and side-effect-free. It touches no live parser and reads no I/O.
|
|
91
|
+
*
|
|
92
|
+
* @param vocabulary the promised output vocabulary (the taught verdict tokens).
|
|
93
|
+
* @param extras hand-picked additional rejected forms (spec §2: a hand-only
|
|
94
|
+
* list invites trivial rejects, so this AUGMENTS the derived set).
|
|
95
|
+
* @param options separator configuration (defaults to `_ - <space>`).
|
|
96
|
+
* @returns the derived + hand-picked rejected forms, minus any that collide
|
|
97
|
+
* with a promised token, de-duplicated and stably ordered.
|
|
98
|
+
*/
|
|
99
|
+
export function deriveRejectedForms(vocabulary, extras = [], options = {}) {
|
|
100
|
+
const separators = options.separators ?? ['_', '-', ' '];
|
|
101
|
+
const promised = new Set(vocabulary);
|
|
102
|
+
const derived = [];
|
|
103
|
+
for (const token of vocabulary) {
|
|
104
|
+
if (typeof token !== 'string' || token.length === 0)
|
|
105
|
+
continue;
|
|
106
|
+
derived.push(...caseMutations(token), ...prefixTruncations(token, separators), ...separatorStripped(token, separators));
|
|
107
|
+
}
|
|
108
|
+
const seen = new Set();
|
|
109
|
+
const out = [];
|
|
110
|
+
for (const form of [...derived, ...extras]) {
|
|
111
|
+
if (promised.has(form))
|
|
112
|
+
continue; // a real promised token is never a "rejected form"
|
|
113
|
+
if (seen.has(form))
|
|
114
|
+
continue;
|
|
115
|
+
seen.add(form);
|
|
116
|
+
out.push(form);
|
|
117
|
+
}
|
|
118
|
+
return out;
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=promptContract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promptContract.js","sourceRoot":"","sources":["../../src/core/promptContract.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,4 +53,12 @@ export type JudgesClaimsFlag = {
|
|
|
53
53
|
false: string;
|
|
54
54
|
};
|
|
55
55
|
export declare const LLM_JUDGES_CLAIMS: Readonly<Record<string, JudgesClaimsFlag>>;
|
|
56
|
+
export type ParserContractFlag = {
|
|
57
|
+
contractTest: string;
|
|
58
|
+
} | {
|
|
59
|
+
pending: 'contract-wave-1' | 'contract-wave-2';
|
|
60
|
+
} | {
|
|
61
|
+
false: string;
|
|
62
|
+
};
|
|
63
|
+
export declare const LLM_PARSER_CONTRACT: Readonly<Record<string, ParserContractFlag>>;
|
|
56
64
|
//# sourceMappingURL=llmBenchCoverage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llmBenchCoverage.d.ts","sourceRoot":"","sources":["../../src/data/llmBenchCoverage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,OAAO,EAAE,QAAQ,GAAG,QAAQ,CAAA;CAAE,GAChC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvB,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAqFtE,CAAC;AA4BF,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1D,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAiF5E,CAAC;AA+CF;;;;6EAI6E;AAC7E,MAAM,MAAM,SAAS,GAAG,iBAAiB,GAAG,aAAa,GAAG,cAAc,CAAC;AAE3E,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,SAAS,CAIhD,CAAC;AAEF;;;;oFAIoF;AACpF,MAAM,MAAM,gBAAgB,GAAG;IAAE,SAAS,EAAE,SAAS,CAAA;CAAE,GAAG,KAAK,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAmExE,CAAC"}
|
|
1
|
+
{"version":3,"file":"llmBenchCoverage.d.ts","sourceRoot":"","sources":["../../src/data/llmBenchCoverage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,OAAO,EAAE,QAAQ,GAAG,QAAQ,CAAA;CAAE,GAChC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvB,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAqFtE,CAAC;AA4BF,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1D,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAiF5E,CAAC;AA+CF;;;;6EAI6E;AAC7E,MAAM,MAAM,SAAS,GAAG,iBAAiB,GAAG,aAAa,GAAG,cAAc,CAAC;AAE3E,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,SAAS,CAIhD,CAAC;AAEF;;;;oFAIoF;AACpF,MAAM,MAAM,gBAAgB,GAAG;IAAE,SAAS,EAAE,SAAS,CAAA;CAAE,GAAG,KAAK,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAmExE,CAAC;AAgDF,MAAM,MAAM,kBAAkB,GAC1B;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,GACxB;IAAE,OAAO,EAAE,iBAAiB,GAAG,iBAAiB,CAAA;CAAE,GAClD;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtB,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAmJ5E,CAAC"}
|
|
@@ -239,4 +239,121 @@ export const LLM_JUDGES_CLAIMS = {
|
|
|
239
239
|
CartographerSweep: false, // authors doc-tree summaries over code
|
|
240
240
|
StandardsCoverageEnrichment: false, // enriches standards-coverage rows
|
|
241
241
|
};
|
|
242
|
+
export const LLM_PARSER_CONTRACT = {
|
|
243
|
+
// ── WAVE-1: the four spec-named highest-stakes parsed callsites (rollout §0) ──
|
|
244
|
+
MessagingToneGate: { pending: 'contract-wave-1' }, // THE motivating defect: prompt taught "B15", parser accepts only "B15_CONTEXT_DEATH_STOP"
|
|
245
|
+
ExternalOperationGate: { pending: 'contract-wave-1' }, // parses a closed mutability/reversibility classification
|
|
246
|
+
CompletionEvaluator: { pending: 'contract-wave-1' }, // the stop-judge surface parses a closed done/blocked/continue verdict
|
|
247
|
+
InputClassifier: { pending: 'contract-wave-1' }, // parses a closed auto-approve vs relay decision
|
|
248
|
+
// ── WAVE-2: every other enumerated-verdict / decision callsite (rollout §2) ──
|
|
249
|
+
MessageSentinel: { pending: 'contract-wave-2' }, // closed intent set (pause / emergency / normal)
|
|
250
|
+
LLMSanitizer: { pending: 'contract-wave-2' }, // parses a closed sanitize verdict/decision
|
|
251
|
+
WarrantsReplyGate: { pending: 'contract-wave-2' }, // closed should-reply yes/no verdict
|
|
252
|
+
InputGuard: { pending: 'contract-wave-2' }, // closed input-coherence verdict
|
|
253
|
+
StallTriageNurse: { pending: 'contract-wave-2' }, // closed stall-triage diagnosis label
|
|
254
|
+
CommitmentSentinel: { pending: 'contract-wave-2' }, // closed commitment-detected verdict + structured envelope
|
|
255
|
+
PresenceProxy: { pending: 'contract-wave-2' }, // closed tier-3 stall verdict
|
|
256
|
+
ProjectDriftChecker: { pending: 'contract-wave-2' }, // closed on-project verdict
|
|
257
|
+
TemporalCoherenceChecker: { pending: 'contract-wave-2' }, // closed temporal-coherence verdict
|
|
258
|
+
SessionWatchdog: { pending: 'contract-wave-2' }, // closed stuck verdict
|
|
259
|
+
ResumeQueueDrainer: { pending: 'contract-wave-2' }, // closed resume-sanity verdict
|
|
260
|
+
TopicIntentArcCheck: { pending: 'contract-wave-2' }, // closed arc-check classification label
|
|
261
|
+
TelegramAdapter: { pending: 'contract-wave-2' }, // stall-confirm — closed genuinely-stalled verdict
|
|
262
|
+
SlackAdapter: { pending: 'contract-wave-2' }, // stall-confirm (byte-identical prompt to Telegram's; parity)
|
|
263
|
+
PromptGate: { pending: 'contract-wave-2' }, // closed injection-detected verdict
|
|
264
|
+
UnjustifiedStopGate: { pending: 'contract-wave-2' }, // closed stop-justified verdict
|
|
265
|
+
OverrideDetector: { pending: 'contract-wave-2' }, // closed override-intent verdict
|
|
266
|
+
TaskClassifier: { pending: 'contract-wave-2' }, // closed task-type label set
|
|
267
|
+
ResumeValidator: { pending: 'contract-wave-2' }, // closed resume-UUID match yes/no verdict
|
|
268
|
+
CoherenceReviewer: { pending: 'contract-wave-2' }, // gate-triage — closed coherence verdict
|
|
269
|
+
// ── Argued false (pinned shrink-only) — no closed-vocabulary verdict parse ──
|
|
270
|
+
// No live LLM callsite, a fixed canary, or free-text / open-set content.
|
|
271
|
+
InputDetector: {
|
|
272
|
+
false: 'attribution-manifest alias only (a legacy prompt-pattern matcher); the live matcher calls with attribution PromptGate, contracted there',
|
|
273
|
+
},
|
|
274
|
+
SessionActivitySentinel: {
|
|
275
|
+
false: 'authors a free-text activity DIGEST — the product is prose, not a closed verdict vocabulary a prompt teaches and a parser gates on',
|
|
276
|
+
},
|
|
277
|
+
PromiseBeacon: {
|
|
278
|
+
false: 'no live LLM prompt — generateStatusLine/classifyProgress hooks are unwired at the construction site; nothing parses a taught vocabulary (matches its bench-coverage exemption)',
|
|
279
|
+
},
|
|
280
|
+
InteractivePoolCanaryJudge: {
|
|
281
|
+
false: 'judges a FIXED known-answer canary probe — the expected output is a constant, so the canary is its own contract; a prompt↔parser contract test would re-test the same constant',
|
|
282
|
+
},
|
|
283
|
+
SessionSummarySentinel: {
|
|
284
|
+
false: 'extracts task/phase/files as open-set free-text FIELDS — there is no closed taught verdict vocabulary, so the B15 prompt↔parser drift cannot arise here',
|
|
285
|
+
},
|
|
286
|
+
AutoApprover: {
|
|
287
|
+
false: 'mechanical key injection + audit logging, no LLM prompt of its own; the upstream parsed decision is InputClassifier.classify(), contracted there',
|
|
288
|
+
},
|
|
289
|
+
IntegrationGate: {
|
|
290
|
+
false: 'no LLM prompt of its own — delegates to JobReflector.reflect(); zero LLM-provider callsites of its own that parse a taught vocabulary',
|
|
291
|
+
},
|
|
292
|
+
CoherenceGate: {
|
|
293
|
+
false: 'no callsite carries attribution CoherenceGate — all LLM calls flow through CoherenceReviewer.callApi(), contracted there',
|
|
294
|
+
},
|
|
295
|
+
JobReflector: {
|
|
296
|
+
false: 'reflection produces free-text content over a job — no closed taught verdict vocabulary a parser gates on (its own bench coverage is wave-3)',
|
|
297
|
+
},
|
|
298
|
+
crossModelReviewer: {
|
|
299
|
+
false: 'produces a free-text review of a SPEC document — no closed output vocabulary the prompt teaches and a parser must accept',
|
|
300
|
+
},
|
|
301
|
+
SelfKnowledgeTree: {
|
|
302
|
+
false: 'extracts self-knowledge tree fragments as content that is stored/merged — no closed verdict token gates a branch on a taught vocabulary',
|
|
303
|
+
},
|
|
304
|
+
TreeTriage: {
|
|
305
|
+
false: 'triages knowledge-tree fragments into content — no closed taught output vocabulary a parser must accept or reject',
|
|
306
|
+
},
|
|
307
|
+
TopicSummarizer: {
|
|
308
|
+
false: 'produces a free-text topic summary — the prose is the product; there is no closed vocabulary the prompt teaches and a parser gates on',
|
|
309
|
+
},
|
|
310
|
+
ContextualEvaluator: {
|
|
311
|
+
false: 'evaluates context relevance into content — no closed taught verdict vocabulary that a parser accepts a promised form of',
|
|
312
|
+
},
|
|
313
|
+
RelationshipManager: {
|
|
314
|
+
false: 'extracts relationship facts as open-set structured content — no closed taught vocabulary a prompt promises and a parser gates on',
|
|
315
|
+
},
|
|
316
|
+
StandardsConformanceReviewer: {
|
|
317
|
+
false: 'reviews artifact-vs-standard conformance as content — no closed output vocabulary the prompt teaches and a parser must accept',
|
|
318
|
+
},
|
|
319
|
+
DiscoveryEvaluator: {
|
|
320
|
+
false: 'evaluates serendipity discoveries into content — no closed taught verdict vocabulary a parser accepts a promised form of',
|
|
321
|
+
},
|
|
322
|
+
Usher: {
|
|
323
|
+
false: 'routes a turn to candidate TOPIC IDS — an OPEN, machine-supplied set, not a closed taught vocabulary the prompt fixes and a parser gates on',
|
|
324
|
+
},
|
|
325
|
+
TopicIntentExtractor: {
|
|
326
|
+
false: 'extracts a topic-intent description from a turn — free-text content, not a closed taught verdict vocabulary a parser accepts',
|
|
327
|
+
},
|
|
328
|
+
PreCompactionFlush: {
|
|
329
|
+
false: 'extracts durable facts before compaction as free-text content — no closed taught output vocabulary a parser gates on',
|
|
330
|
+
},
|
|
331
|
+
TreeSynthesis: {
|
|
332
|
+
false: 'synthesizes knowledge fragments into a free-text answer — the prose is the product, no closed taught verdict vocabulary a parser accepts',
|
|
333
|
+
},
|
|
334
|
+
LLMConflictResolver: {
|
|
335
|
+
false: 'resolves divergent multi-machine state into a merged value/content — no closed taught verdict vocabulary a prompt promises and a parser gates on',
|
|
336
|
+
},
|
|
337
|
+
openConversationBrief: {
|
|
338
|
+
false: 'generates a free-text A2A conversation brief — the prose is the product, no closed output vocabulary the prompt teaches and a parser must accept',
|
|
339
|
+
},
|
|
340
|
+
'a2a-checkin': {
|
|
341
|
+
false: 'summarizes A2A check-in threads into free-text content — no closed taught verdict vocabulary a parser accepts a promised form of',
|
|
342
|
+
},
|
|
343
|
+
'correction-learning': {
|
|
344
|
+
false: 'distills recurring corrections into a preference (content) — no closed taught output vocabulary a parser gates on',
|
|
345
|
+
},
|
|
346
|
+
'mentor-stage-b': {
|
|
347
|
+
false: 'classifies mentor signals over mentee output into differential content — no closed taught verdict vocabulary a parser gates on (its own bench coverage is wave-3)',
|
|
348
|
+
},
|
|
349
|
+
PipeSessionSpawner: {
|
|
350
|
+
false: 'spawns sessions from task descriptions — no LLM output parsed into a closed taught verdict vocabulary',
|
|
351
|
+
},
|
|
352
|
+
CartographerSweep: {
|
|
353
|
+
false: 'authors doc-tree summaries over code as free text — the prose is the product, no closed taught output vocabulary a parser gates on',
|
|
354
|
+
},
|
|
355
|
+
StandardsCoverageEnrichment: {
|
|
356
|
+
false: 'enriches standards-coverage rows with content — no closed taught verdict vocabulary a prompt promises and a parser accepts',
|
|
357
|
+
},
|
|
358
|
+
};
|
|
242
359
|
//# sourceMappingURL=llmBenchCoverage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llmBenchCoverage.js","sourceRoot":"","sources":["../../src/data/llmBenchCoverage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAOH,MAAM,CAAC,MAAM,kBAAkB,GAA4C;IACzE,mEAAmE;IACnE,eAAe,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE;IAC9C,iBAAiB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;IACxC,6DAA6D;IAC7D,mBAAmB,EAAE,EAAE,IAAI,EAAE,iCAAiC,EAAE;IAChE,qBAAqB,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE;IACnD,YAAY,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE;IAC7C,iBAAiB,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE;IAC7C,eAAe,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE;IAC7C,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;IACxB,qBAAqB,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE;IACvD,iBAAiB,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;IAE1C,kEAAkE;IAClE,0BAA0B,EAAE;QAC1B,MAAM,EACJ,0HAA0H;KAC7H;IAED,mFAAmF;IACnF,UAAU,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE;IAC7C,uBAAuB,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE;IACpD,gBAAgB,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE;IACpD,kBAAkB,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE;IACnD,aAAa,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE;IAC/C,mBAAmB,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE;IACpD,wBAAwB,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE;IACxD,eAAe,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE;IACjD,kBAAkB,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE;IACnD,mBAAmB,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE;IACnD,eAAe,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE;IACnD,mEAAmE;IACnE,sEAAsE;IACtE,iEAAiE;IACjE,YAAY,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE;IAChD,UAAU,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE;IAC1C,mBAAmB,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE;IACtD,gBAAgB,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE;IAC/C,cAAc,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE;IAC3C,eAAe,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE;IAC7C,sBAAsB,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE;IAC5D,oBAAoB,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE;IAExD,yFAAyF;IACzF,eAAe,EAAE;QACf,MAAM,EACJ,yKAAyK;KAC5K;IACD,aAAa,EAAE;QACb,MAAM,EACJ,qKAAqK;KACxK;IACD,YAAY,EAAE;QACZ,MAAM,EACJ,6IAA6I;KAChJ;IACD,aAAa,EAAE;QACb,MAAM,EACJ,mLAAmL;KACtL;IACD,aAAa,EAAE;QACb,MAAM,EACJ,+LAA+L;KAClM;IAED,mDAAmD;IACnD,YAAY,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;IACnC,kBAAkB,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;IACzC,iBAAiB,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;IACxC,UAAU,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;IACjC,eAAe,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;IACtC,mBAAmB,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;IAC1C,mBAAmB,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;IAC1C,4BAA4B,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;IACnD,kBAAkB,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;IACzC,kBAAkB,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;IACzC,iBAAiB,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;IACxC,2BAA2B,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;IAClD,kBAAkB,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;IACzC,aAAa,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;IACpC,mBAAmB,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;IAC1C,qBAAqB,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;IAC5C,aAAa,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;IACpC,gBAAgB,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;CACxC,CAAC;AA8BF,MAAM,CAAC,MAAM,mBAAmB,GAAiD;IAC/E,yEAAyE;IACzE,UAAU,EAAE,IAAI;IAChB,uBAAuB,EAAE,IAAI;IAC7B,gBAAgB,EAAE,IAAI;IACtB,kBAAkB,EAAE,IAAI;IACxB,aAAa,EAAE,IAAI;IACnB,eAAe,EAAE,IAAI;IACrB,mBAAmB,EAAE,IAAI;IACzB,wBAAwB,EAAE,IAAI;IAC9B,mBAAmB,EAAE,IAAI;IACzB,eAAe,EAAE,IAAI;IACrB,kBAAkB,EAAE,IAAI;IACxB,mBAAmB,EAAE,IAAI;IACzB,YAAY,EAAE,IAAI;IAClB,eAAe,EAAE,IAAI;IACrB,sBAAsB,EAAE,IAAI;IAC5B,eAAe,EAAE,IAAI;IAErB,4DAA4D;IAC5D,UAAU,EAAE,IAAI;IAChB,qBAAqB,EAAE,IAAI,EAAE,uEAAuE;IACpG,iBAAiB,EAAE,IAAI;IACvB,mBAAmB,EAAE,IAAI;IACzB,iBAAiB,EAAE,IAAI,EAAE,oEAAoE;IAC7F,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI,EAAE,kDAAkD;IACtE,gBAAgB,EAAE,IAAI;IACtB,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,IAAI,EAAE,wEAAwE;IAE/F,oFAAoF;IACpF,YAAY,EAAE,IAAI;IAClB,kBAAkB,EAAE,IAAI;IACxB,iBAAiB,EAAE,IAAI;IACvB,UAAU,EAAE,IAAI;IAChB,eAAe,EAAE,IAAI;IACrB,mBAAmB,EAAE,IAAI;IACzB,mBAAmB,EAAE,IAAI;IACzB,4BAA4B,EAAE,IAAI;IAClC,kBAAkB,EAAE,IAAI;IACxB,KAAK,EAAE,IAAI;IACX,oBAAoB,EAAE,IAAI;IAC1B,kBAAkB,EAAE,IAAI;IACxB,aAAa,EAAE,IAAI;IACnB,mBAAmB,EAAE,IAAI,EAAE,sDAAsD;IACjF,qBAAqB,EAAE,IAAI;IAC3B,aAAa,EAAE,IAAI,EAAE,4BAA4B;IACjD,qBAAqB,EAAE,IAAI;IAC3B,gBAAgB,EAAE,IAAI;IAEtB,+DAA+D;IAC/D,kBAAkB,EAAE,IAAI,EAAE,0DAA0D;IACpF,iBAAiB,EAAE,IAAI,EAAE,gGAAgG;IACzH,2BAA2B,EAAE,IAAI;IAEjC,0FAA0F;IAC1F,aAAa,EAAE;QACb,KAAK,EACH,8KAA8K;KACjL;IACD,0BAA0B,EAAE;QAC1B,KAAK,EACH,iIAAiI;KACpI;IACD,YAAY,EAAE;QACZ,KAAK,EACH,2IAA2I;KAC9I;IACD,eAAe,EAAE;QACf,KAAK,EACH,mIAAmI;KACtI;IACD,aAAa,EAAE;QACb,KAAK,EACH,+HAA+H;KAClI;IACD,aAAa,EAAE;QACb,KAAK,EACH,8IAA8I;KACjJ;CACF,CAAC;AAsDF,MAAM,CAAC,MAAM,WAAW,GAA6B;IACnD,iBAAiB;IACjB,aAAa;IACb,cAAc;CACf,CAAC;AASF,MAAM,CAAC,MAAM,iBAAiB,GAA+C;IAC3E,8EAA8E;IAC9E,kEAAkE;IAClE,mBAAmB,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,wDAAwD;IAC/G,mBAAmB,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,iFAAiF;IACxI,YAAY,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,yHAAyH;IAEzK,iFAAiF;IACjF,eAAe,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,cAAc;IAC7D,aAAa,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,qBAAqB;IAClE,gBAAgB,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,yBAAyB;IACzE,eAAe,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,kIAAkI;IACjL,YAAY,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,kEAAkE;IAE9G,qDAAqD;IACrD,gBAAgB,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,4EAA4E;IAE7H,+EAA+E;IAC/E,iFAAiF;IACjF,aAAa,EAAE,KAAK,EAAE,sCAAsC;IAC5D,UAAU,EAAE,KAAK,EAAE,iDAAiD;IACpE,uBAAuB,EAAE,KAAK,EAAE,8FAA8F;IAC9H,kBAAkB,EAAE,KAAK,EAAE,8BAA8B;IACzD,aAAa,EAAE,KAAK,EAAE,+EAA+E;IACrG,eAAe,EAAE,KAAK,EAAE,sEAAsE;IAC9F,mBAAmB,EAAE,KAAK,EAAE,8EAA8E;IAC1G,eAAe,EAAE,KAAK,EAAE,6CAA6C;IACrE,sBAAsB,EAAE,KAAK,EAAE,yEAAyE;IACxG,mBAAmB,EAAE,KAAK,EAAE,8DAA8D;IAC1F,wBAAwB,EAAE,KAAK,EAAE,oCAAoC;IACrE,kBAAkB,EAAE,KAAK,EAAE,uFAAuF;IAClH,0BAA0B,EAAE,KAAK,EAAE,kEAAkE;IAErG,qFAAqF;IACrF,UAAU,EAAE,KAAK,EAAE,sCAAsC;IACzD,YAAY,EAAE,KAAK,EAAE,qDAAqD;IAC1E,eAAe,EAAE,KAAK,EAAE,uDAAuD;IAC/E,qBAAqB,EAAE,KAAK,EAAE,wEAAwE;IACtG,iBAAiB,EAAE,KAAK,EAAE,oDAAoD;IAC9E,aAAa,EAAE,KAAK,EAAE,oDAAoD;IAC1E,iBAAiB,EAAE,KAAK,EAAE,8BAA8B;IACxD,iBAAiB,EAAE,KAAK,EAAE,6BAA6B;IACvD,YAAY,EAAE,KAAK,EAAE,sCAAsC;IAC3D,gBAAgB,EAAE,KAAK,EAAE,oCAAoC;IAC7D,cAAc,EAAE,KAAK,EAAE,uBAAuB;IAC9C,eAAe,EAAE,KAAK,EAAE,qEAAqE;IAE7F,4FAA4F;IAC5F,kBAAkB,EAAE,KAAK,EAAE,4DAA4D;IACvF,iBAAiB,EAAE,KAAK,EAAE,0BAA0B;IACpD,UAAU,EAAE,KAAK,EAAE,yBAAyB;IAC5C,eAAe,EAAE,KAAK,EAAE,qBAAqB;IAC7C,mBAAmB,EAAE,KAAK,EAAE,8BAA8B;IAC1D,mBAAmB,EAAE,KAAK,EAAE,8BAA8B;IAC1D,4BAA4B,EAAE,KAAK,EAAE,2EAA2E;IAChH,kBAAkB,EAAE,KAAK,EAAE,oCAAoC;IAC/D,KAAK,EAAE,KAAK,EAAE,oCAAoC;IAClD,oBAAoB,EAAE,KAAK,EAAE,oCAAoC;IACjE,kBAAkB,EAAE,KAAK,EAAE,2CAA2C;IACtE,aAAa,EAAE,KAAK,EAAE,2CAA2C;IACjE,mBAAmB,EAAE,KAAK,EAAE,yCAAyC;IACrE,qBAAqB,EAAE,KAAK,EAAE,sCAAsC;IACpE,aAAa,EAAE,KAAK,EAAE,kCAAkC;IACxD,qBAAqB,EAAE,KAAK,EAAE,8CAA8C;IAC5E,kBAAkB,EAAE,KAAK,EAAE,gCAAgC;IAC3D,iBAAiB,EAAE,KAAK,EAAE,uCAAuC;IACjE,2BAA2B,EAAE,KAAK,EAAE,mCAAmC;CACxE,CAAC"}
|
|
1
|
+
{"version":3,"file":"llmBenchCoverage.js","sourceRoot":"","sources":["../../src/data/llmBenchCoverage.ts"],"names":[],"mappings":"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"}
|
|
@@ -67,10 +67,34 @@ export interface ReapLogEntry {
|
|
|
67
67
|
/** Notify entries: the outcome this record asserts. */
|
|
68
68
|
outcome?: ReapNotifyOutcome;
|
|
69
69
|
}
|
|
70
|
+
/** Optional overrides for the self-limiting caps — primarily so tests can
|
|
71
|
+
* trigger rotation without writing 16MB. Production uses the module defaults. */
|
|
72
|
+
export interface ReapLogOptions {
|
|
73
|
+
maxLogBytes?: number;
|
|
74
|
+
tailReadBytes?: number;
|
|
75
|
+
maxSkipState?: number;
|
|
76
|
+
}
|
|
70
77
|
export declare class ReapLog {
|
|
71
78
|
private readonly logPath;
|
|
72
79
|
private readonly machineId?;
|
|
73
|
-
|
|
80
|
+
private readonly maxLogBytes;
|
|
81
|
+
private readonly tailReadBytes;
|
|
82
|
+
private readonly maxSkipState;
|
|
83
|
+
/** session name → last-LOGGED skip signature (`${reason}::${skipped}`).
|
|
84
|
+
* A `recordSkipped` whose signature equals the session's last-logged one is
|
|
85
|
+
* the SAME permanent veto being re-evaluated at tick speed (open-commitment,
|
|
86
|
+
* not-lease-holder, protected …) — it is NOT re-appended. This is the
|
|
87
|
+
* primary cure for the reaper self-inflicted log flood (3218 open-commitment
|
|
88
|
+
* + 1608 not-lease-holder repeat rows ⇒ 142MB, 2026-07-03): mirror the
|
|
89
|
+
* reaper-audit "log on transition, not every tick" pattern. Cleared when the
|
|
90
|
+
* session is reaped so a same-named successor logs its first skip fresh. */
|
|
91
|
+
private readonly skipState;
|
|
92
|
+
/** Cheap running estimate of the current log's byte size, so rotation is
|
|
93
|
+
* decided WITHOUT a statSync on every append. Seeded from the real size on
|
|
94
|
+
* first append, then advanced by each write; re-synced on rotation. -1 =
|
|
95
|
+
* not yet seeded. */
|
|
96
|
+
private approxSize;
|
|
97
|
+
constructor(stateDir: string, machineId?: () => string | undefined, opts?: ReapLogOptions);
|
|
74
98
|
recordReaped(e: {
|
|
75
99
|
session: string;
|
|
76
100
|
tmuxSession: string;
|
|
@@ -103,8 +127,26 @@ export declare class ReapLog {
|
|
|
103
127
|
skipped: string;
|
|
104
128
|
origin?: 'operator' | 'autonomous';
|
|
105
129
|
}): void;
|
|
130
|
+
/** Record a session's last-logged skip signature, enforcing the map ceiling
|
|
131
|
+
* (oldest-first prune — Map preserves insertion order). Re-inserting an
|
|
132
|
+
* existing key does not reorder it, which is fine: churny NEW names are the
|
|
133
|
+
* growth risk, and those get pruned. */
|
|
134
|
+
private rememberSkip;
|
|
135
|
+
/** Forget a session's skip state — call when the session is gone (reaped) so a
|
|
136
|
+
* same-named successor logs its first skip fresh and the map can't leak. */
|
|
137
|
+
private forgetSkip;
|
|
106
138
|
private append;
|
|
107
|
-
/**
|
|
139
|
+
/** Roll the log to `<path>.1` (single retained generation) once it would cross
|
|
140
|
+
* MAX_LOG_BYTES, so the file can never grow unbounded. Rename is O(1) — no
|
|
141
|
+
* data rewrite on the append hot path (rewriting a large file synchronously
|
|
142
|
+
* here would reintroduce the very event-loop stall we're removing). Seeds the
|
|
143
|
+
* cheap size estimate from the real file size on first use. */
|
|
144
|
+
private rotateIfNeeded;
|
|
145
|
+
/** Read the most-recent `limit` entries (newest last), tolerating partial/corrupt lines.
|
|
146
|
+
* Only the last TAIL_READ_BYTES of each file are ever read, so a large log can
|
|
147
|
+
* never be slurped whole into memory (the readFileSync-whole-file freeze). If
|
|
148
|
+
* the current file's tail doesn't yield enough rows and a rotated `.1` backup
|
|
149
|
+
* exists, its tail is merged so recent history survives a rotation boundary. */
|
|
108
150
|
read(limit?: number): ReapLogEntry[];
|
|
109
151
|
private normalizeEntry;
|
|
110
152
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReapLog.d.ts","sourceRoot":"","sources":["../../src/monitoring/ReapLog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"ReapLog.d.ts","sourceRoot":"","sources":["../../src/monitoring/ReapLog.ts"],"names":[],"mappings":"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"}
|