instar 1.3.754 → 1.3.756
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/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +122 -3
- package/dist/commands/server.js.map +1 -1
- package/dist/config/ConfigDefaults.d.ts.map +1 -1
- package/dist/config/ConfigDefaults.js +20 -0
- package/dist/config/ConfigDefaults.js.map +1 -1
- package/dist/core/ProfileIntentClassifier.d.ts +167 -0
- package/dist/core/ProfileIntentClassifier.d.ts.map +1 -0
- package/dist/core/ProfileIntentClassifier.js +421 -0
- package/dist/core/ProfileIntentClassifier.js.map +1 -0
- package/dist/core/componentCategories.d.ts.map +1 -1
- package/dist/core/componentCategories.js +5 -0
- package/dist/core/componentCategories.js.map +1 -1
- package/dist/core/devGatedFeatures.d.ts.map +1 -1
- package/dist/core/devGatedFeatures.js +6 -0
- package/dist/core/devGatedFeatures.js.map +1 -1
- package/dist/core/topicProfileIngress.d.ts +14 -2
- package/dist/core/topicProfileIngress.d.ts.map +1 -1
- package/dist/core/topicProfileIngress.js +15 -44
- package/dist/core/topicProfileIngress.js.map +1 -1
- package/dist/data/llmBenchCoverage.d.ts.map +1 -1
- package/dist/data/llmBenchCoverage.js +9 -0
- package/dist/data/llmBenchCoverage.js.map +1 -1
- package/package.json +1 -1
- package/scripts/lint-model-registry-freshness.mjs +77 -11
- package/scripts/model-registry-freshness.manifest.json +34 -28
- package/src/data/builtin-manifest.json +2 -2
- package/src/data/llmBenchCoverage.ts +9 -0
- package/upgrades/1.3.755.md +75 -0
- package/upgrades/1.3.756.md +27 -0
- package/upgrades/side-effects/doorway-model-registry-inc1.md +89 -0
- package/upgrades/side-effects/topicprofile-intent-llm-rebuild.md +87 -0
|
@@ -29,17 +29,6 @@
|
|
|
29
29
|
* - forwarded-content rejection (a message carrying platform forward
|
|
30
30
|
* metadata never matches ANY ingress recognition, round-5).
|
|
31
31
|
*/
|
|
32
|
-
const FRAMEWORK_WORDS = {
|
|
33
|
-
codex: 'codex-cli',
|
|
34
|
-
'codex-cli': 'codex-cli',
|
|
35
|
-
claude: 'claude-code',
|
|
36
|
-
'claude-code': 'claude-code',
|
|
37
|
-
gemini: 'gemini-cli',
|
|
38
|
-
'gemini-cli': 'gemini-cli',
|
|
39
|
-
pi: 'pi-cli',
|
|
40
|
-
'pi-cli': 'pi-cli',
|
|
41
|
-
};
|
|
42
|
-
const THINKING_WORDS = ['off', 'low', 'medium', 'high', 'max'];
|
|
43
32
|
const EFFORT_WORDS = ['low', 'medium', 'high', 'xhigh', 'max'];
|
|
44
33
|
/**
|
|
45
34
|
* Parse a first-party operator turn against the closed trigger set.
|
|
@@ -47,44 +36,26 @@ const EFFORT_WORDS = ['low', 'medium', 'high', 'xhigh', 'max'];
|
|
|
47
36
|
* to the session normally (the agent may propose via the §10.1
|
|
48
37
|
* propose-confirm lane). Deterministic and anchored: a trigger is the WHOLE
|
|
49
38
|
* message (trailing punctuation tolerated), never a substring match inside
|
|
50
|
-
* prose
|
|
51
|
-
*
|
|
39
|
+
* prose.
|
|
40
|
+
*
|
|
41
|
+
* The FRAMEWORK / MODEL / THINKING write decision NO LONGER lives here — it was
|
|
42
|
+
* the keyword-intent audit's offender #1 (2026-07-03): anchored NL regexes
|
|
43
|
+
* deciding "does this message mean change this topic's framework/model/thinking?"
|
|
44
|
+
* A regex cannot tell "use codex here" (a command) from "should we use codex
|
|
45
|
+
* here?" (a question). Per the constitutional standard "Intelligence Infers,
|
|
46
|
+
* Keywords Only Guard", that judgment is now inferred by the
|
|
47
|
+
* `ProfileIntentClassifier` (LLM over the message + recent conversation,
|
|
48
|
+
* structured-enum output, fail-open). This parser retains only the NON-inference
|
|
49
|
+
* grammar: `effort` + `escalationOverride` (explicit CLI-flag / mandate forms
|
|
50
|
+
* out of the framework/model/thinking scope) and the command kinds (readout /
|
|
51
|
+
* undo / clear / reapply / switch-now / confirm), whose meaning is structural,
|
|
52
|
+
* not a judgment about intent.
|
|
52
53
|
*/
|
|
53
54
|
export function parseProfileTrigger(text) {
|
|
54
55
|
const t = text.trim().replace(/[.!]+$/, '').trim().toLowerCase();
|
|
55
56
|
if (t.length === 0 || t.length > 120)
|
|
56
57
|
return null;
|
|
57
|
-
|
|
58
|
-
// "switch this topic to codex" / "switch to codex here"
|
|
59
|
-
let m = t.match(/^use (codex|codex-cli|claude|claude-code|gemini|gemini-cli|pi|pi-cli) (?:here|for this topic|in this topic)$/);
|
|
60
|
-
if (!m)
|
|
61
|
-
m = t.match(/^switch this topic to (codex|codex-cli|claude|claude-code|gemini|gemini-cli|pi|pi-cli)$/);
|
|
62
|
-
if (!m)
|
|
63
|
-
m = t.match(/^switch to (codex|codex-cli|claude|claude-code|gemini|gemini-cli|pi|pi-cli) (?:here|for this topic)$/);
|
|
64
|
-
if (m)
|
|
65
|
-
return { kind: 'write', patch: { framework: FRAMEWORK_WORDS[m[1]] ?? m[1] } };
|
|
66
|
-
// model pin: "pin this topic to <id>" / "use model <id> here".
|
|
67
|
-
// <id> is the literal id charset only — names ("Fable") are out-of-grammar
|
|
68
|
-
// by design and ride propose-confirm (Tier 0: no alias resolution here).
|
|
69
|
-
m = t.match(/^pin this topic to ([a-z0-9._-]{1,64})$/);
|
|
70
|
-
if (!m)
|
|
71
|
-
m = t.match(/^use model ([a-z0-9._-]{1,64}) (?:here|for this topic)$/);
|
|
72
|
-
if (m) {
|
|
73
|
-
if (m[1] === 'default' || m[1] === 'escalated') {
|
|
74
|
-
return { kind: 'write', patch: { modelTier: m[1], model: null } };
|
|
75
|
-
}
|
|
76
|
-
return { kind: 'write', patch: { model: m[1], modelTier: null } };
|
|
77
|
-
}
|
|
78
|
-
// thinking mode: "set high thinking on this topic" / "set thinking to high
|
|
79
|
-
// on this topic" / "use high thinking here"
|
|
80
|
-
m = t.match(/^set (off|low|medium|high|max) thinking (?:on this topic|here)$/);
|
|
81
|
-
if (!m)
|
|
82
|
-
m = t.match(/^set thinking to (off|low|medium|high|max)(?: on this topic| here)?$/);
|
|
83
|
-
if (!m)
|
|
84
|
-
m = t.match(/^use (off|low|medium|high|max) thinking (?:here|on this topic)$/);
|
|
85
|
-
if (m && THINKING_WORDS.includes(m[1])) {
|
|
86
|
-
return { kind: 'write', patch: { thinkingMode: m[1] } };
|
|
87
|
-
}
|
|
58
|
+
let m;
|
|
88
59
|
// effort level: "set high effort on this topic" / "set effort to xhigh on
|
|
89
60
|
// this topic" / "use max effort here". A DIRECT Claude `--effort` pin (the
|
|
90
61
|
// CLI's launch flag), distinct from thinking mode. Closed-enum only —
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topicProfileIngress.js","sourceRoot":"","sources":["../../src/core/topicProfileIngress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAeH,MAAM,
|
|
1
|
+
{"version":3,"file":"topicProfileIngress.js","sourceRoot":"","sources":["../../src/core/topicProfileIngress.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,
|
|
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,CAmGtE,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,CAoF5E,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,CAsExE,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,CAsJ5E,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAC/C,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAC/D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B;AAED,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAqCtE,CAAC"}
|
|
@@ -86,6 +86,12 @@ export const LLM_BENCH_COVERAGE = {
|
|
|
86
86
|
exempt: 'no live LLM prompt — generateStatusLine/classifyProgress hooks are unwired at the construction site (server.ts); the enqueue path resolves templated strings; revisit if a generator is wired',
|
|
87
87
|
},
|
|
88
88
|
// ── Wave 3 (reflectors + background/job tasks) ──
|
|
89
|
+
// ProfileIntentClassifier — the offender #1 LLM conversion
|
|
90
|
+
// (docs/specs/keyword-intent-conversions-1-and-3.md). Its discrimination
|
|
91
|
+
// corpus (tests/unit/profile-intent-discrimination.test.ts) is already the
|
|
92
|
+
// de-facto benchmark (deterministic pipeline + opt-in LIVE model-accuracy
|
|
93
|
+
// harness); the formal INSTAR-Bench v2 task is queued for wave-3 authoring.
|
|
94
|
+
ProfileIntentClassifier: { pending: 'wave-3' },
|
|
89
95
|
JobReflector: { pending: 'wave-3' },
|
|
90
96
|
crossModelReviewer: { pending: 'wave-3' },
|
|
91
97
|
SelfKnowledgeTree: { pending: 'wave-3' },
|
|
@@ -133,6 +139,7 @@ export const LLM_UNTRUSTED_INPUT = {
|
|
|
133
139
|
MoveIntentClassifier: true, // classifies an untrusted inbound user message + recent conversation context
|
|
134
140
|
CoherenceReviewer: true,
|
|
135
141
|
LLMSanitizer: true, // definitionally judges untrusted inbound content
|
|
142
|
+
ProfileIntentClassifier: true, // classifies an untrusted inbound user message (+ recent conversation) — the message is delimited untrusted data in the prompt
|
|
136
143
|
OverrideDetector: true,
|
|
137
144
|
TaskClassifier: true,
|
|
138
145
|
ResumeValidator: true, // matches a resume UUID against the topic — judges session/resume state
|
|
@@ -221,6 +228,7 @@ export const LLM_JUDGES_CLAIMS = {
|
|
|
221
228
|
WarrantsReplyGate: false, // "should I reply?" — not a completion/health claim
|
|
222
229
|
MoveIntentClassifier: false, // classifies a USER's move/pin intent over a message, not an agent/session claim of completion/health/credit
|
|
223
230
|
HubIntentClassifier: false, // classifies a USER's hub bind-intent (open/tie) over a message, not an agent/session claim of completion/health/credit
|
|
231
|
+
ProfileIntentClassifier: false, // classifies a user's profile-change intent, not an agent/session claim of completion/progress/health
|
|
224
232
|
CoherenceGate: false, // no own callsite — flows through CoherenceReviewer
|
|
225
233
|
MessagingToneGate: false, // reviews outbound tone/leaks
|
|
226
234
|
CoherenceReviewer: false, // reviews outbound coherence
|
|
@@ -256,6 +264,7 @@ export const LLM_PARSER_CONTRACT = {
|
|
|
256
264
|
CompletionEvaluator: { pending: 'contract-wave-1' }, // the stop-judge surface parses a closed done/blocked/continue verdict
|
|
257
265
|
InputClassifier: { pending: 'contract-wave-1' }, // parses a closed auto-approve vs relay decision
|
|
258
266
|
// ── WAVE-2: every other enumerated-verdict / decision callsite (rollout §2) ──
|
|
267
|
+
ProfileIntentClassifier: { pending: 'contract-wave-2' }, // parses a closed {intent∈framework|model|thinking|null, value∈enum} verdict — the value is validated against the closed framework/model/thinking enums, never string-matched
|
|
259
268
|
MessageSentinel: { pending: 'contract-wave-2' }, // closed intent set (pause / emergency / normal)
|
|
260
269
|
LLMSanitizer: { pending: 'contract-wave-2' }, // parses a closed sanitize verdict/decision
|
|
261
270
|
WarrantsReplyGate: { pending: 'contract-wave-2' }, // closed should-reply yes/no verdict
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llmBenchCoverage.js","sourceRoot":"","sources":["../../src/data/llmBenchCoverage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"llmBenchCoverage.js","sourceRoot":"","sources":["../../src/data/llmBenchCoverage.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -19,10 +19,21 @@
|
|
|
19
19
|
*
|
|
20
20
|
* TOOTH 2 — DRIFT. Every pinned capable/latest model id (extracted live from
|
|
21
21
|
* the real source files via each pin's regex) must be a member of that
|
|
22
|
-
* door's
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
22
|
+
* door's DERIVED frontier set (spec §1.4, docs/specs/DOORWAY-MODEL-KNOWLEDGE-
|
|
23
|
+
* REGISTRY-SPEC.md): the ids in `doors[door].topModels[]` carrying
|
|
24
|
+
* `frontier: true`. `topModels` is the ONE hand-edited structure; the
|
|
25
|
+
* frontier set is a *view* of it and cannot diverge by construction (this
|
|
26
|
+
* supersedes the old hand-maintained `frontierAllowlist` — a second list is
|
|
27
|
+
* exactly the rot this guard fights). A pin that names a model not in the
|
|
28
|
+
* derived set fails — either the pin is stale, or `topModels` wasn't updated.
|
|
29
|
+
* To go green a human must reconcile the two, which IS the review.
|
|
30
|
+
*
|
|
31
|
+
* BACKWARD-COMPAT (un-enriched manifests): a door with a literal
|
|
32
|
+
* `frontierAllowlist[door]` and NO `topModels` is read from the literal list
|
|
33
|
+
* EXACTLY as before (no behavior change). A door with BOTH a literal
|
|
34
|
+
* `frontierAllowlist[door]` AND `topModels` emits a TRANSITION finding
|
|
35
|
+
* ("migrated to derived — delete the literal") so the old hand-list can't
|
|
36
|
+
* silently linger and re-rot; the derived set is authoritative there.
|
|
26
37
|
*
|
|
27
38
|
* Plus: `flaggedStale[]` entries (known-stale-pending-operator-confirmation) are
|
|
28
39
|
* always printed as WARN lines and, under strict enforcement, count as findings.
|
|
@@ -65,6 +76,42 @@ const MANIFEST_PATH = process.env.INSTAR_MODEL_FRESHNESS_MANIFEST
|
|
|
65
76
|
? path.resolve(process.env.INSTAR_MODEL_FRESHNESS_MANIFEST)
|
|
66
77
|
: path.join(__dirname, 'model-registry-freshness.manifest.json');
|
|
67
78
|
|
|
79
|
+
/**
|
|
80
|
+
* Compute a door's effective frontier set — the ONE source of truth (spec §1.4).
|
|
81
|
+
*
|
|
82
|
+
* DERIVED (schema v2): `doors[door].topModels` present (an array) → the set is
|
|
83
|
+
* the ids of entries with `frontier === true`. `topModels` is the only
|
|
84
|
+
* hand-edited structure; the frontier set is a view of it (cannot diverge).
|
|
85
|
+
* LITERAL (backward-compat): no `topModels` for the door but a literal
|
|
86
|
+
* `frontierAllowlist[door]` present → use it verbatim (un-enriched manifest,
|
|
87
|
+
* today's exact behavior).
|
|
88
|
+
* NONE: neither present → empty set (a pin on that door drifts, as before).
|
|
89
|
+
*
|
|
90
|
+
* `transition` is true when a door carries BOTH a literal `frontierAllowlist[door]`
|
|
91
|
+
* AND `topModels` — the derived set is authoritative and a transition finding is
|
|
92
|
+
* raised so the stale literal can't linger.
|
|
93
|
+
*
|
|
94
|
+
* @param {Record<string, any>} manifest
|
|
95
|
+
* @param {string} door
|
|
96
|
+
* @returns {{ set: string[], source: 'derived'|'literal'|'none', transition: boolean }}
|
|
97
|
+
*/
|
|
98
|
+
export function frontierSetForDoor(manifest, door) {
|
|
99
|
+
const doorEntry = (manifest && manifest.doors && manifest.doors[door]) || null;
|
|
100
|
+
const topModels = doorEntry && Array.isArray(doorEntry.topModels) ? doorEntry.topModels : null;
|
|
101
|
+
const literal =
|
|
102
|
+
manifest && manifest.frontierAllowlist && Array.isArray(manifest.frontierAllowlist[door])
|
|
103
|
+
? manifest.frontierAllowlist[door]
|
|
104
|
+
: null;
|
|
105
|
+
if (topModels) {
|
|
106
|
+
const set = topModels
|
|
107
|
+
.filter((m) => m && m.frontier === true && typeof m.id === 'string')
|
|
108
|
+
.map((m) => m.id);
|
|
109
|
+
return { set, source: 'derived', transition: literal !== null };
|
|
110
|
+
}
|
|
111
|
+
if (literal) return { set: literal, source: 'literal', transition: false };
|
|
112
|
+
return { set: [], source: 'none', transition: false };
|
|
113
|
+
}
|
|
114
|
+
|
|
68
115
|
/**
|
|
69
116
|
* Run the freshness check. Pure over its inputs (manifest + files under root +
|
|
70
117
|
* the injected clock), so the unit test drives it directly with fixtures.
|
|
@@ -111,8 +158,23 @@ export function checkModelRegistryFreshness({
|
|
|
111
158
|
}
|
|
112
159
|
}
|
|
113
160
|
|
|
114
|
-
// ---
|
|
115
|
-
|
|
161
|
+
// --- TRANSITION: a door carrying BOTH a literal frontierAllowlist entry AND
|
|
162
|
+
// topModels has migrated to the derived set — flag the lingering literal so
|
|
163
|
+
// it can't silently re-rot (spec §1.4). Deduped per door, independent of pins.
|
|
164
|
+
const doorsObj = manifest.doors || {};
|
|
165
|
+
const litAllow = manifest.frontierAllowlist || {};
|
|
166
|
+
for (const door of Object.keys(doorsObj)) {
|
|
167
|
+
const entry = doorsObj[door];
|
|
168
|
+
if (entry && Array.isArray(entry.topModels) && Array.isArray(litAllow[door])) {
|
|
169
|
+
findings.push(
|
|
170
|
+
`TRANSITION: door '${door}' has BOTH a literal frontierAllowlist['${door}'] and topModels[] — ` +
|
|
171
|
+
`it migrated to the DERIVED frontier set (§1.4; the derived set is now authoritative). ` +
|
|
172
|
+
`Delete the literal frontierAllowlist['${door}'] so the old hand-maintained list can't silently linger and re-rot.`
|
|
173
|
+
);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
// --- TOOTH 2: drift (pin id must be in its door's DERIVED frontier set) ---
|
|
116
178
|
for (const pin of manifest.pins || []) {
|
|
117
179
|
const abs = path.join(repoRoot, pin.file);
|
|
118
180
|
let src;
|
|
@@ -136,15 +198,19 @@ export function checkModelRegistryFreshness({
|
|
|
136
198
|
}
|
|
137
199
|
// All capture groups are candidate model ids (e.g. default + escalated).
|
|
138
200
|
const ids = m.slice(1).filter(Boolean);
|
|
139
|
-
const
|
|
201
|
+
const { set: doorFrontier, source } = frontierSetForDoor(manifest, pin.door);
|
|
202
|
+
const setLabel =
|
|
203
|
+
source === 'literal'
|
|
204
|
+
? `frontierAllowlist['${pin.door}']`
|
|
205
|
+
: `the derived frontier set for '${pin.door}' (doors['${pin.door}'].topModels[frontier=true])`;
|
|
140
206
|
for (const id of ids) {
|
|
141
|
-
if (!
|
|
207
|
+
if (!doorFrontier.includes(id)) {
|
|
142
208
|
findings.push(
|
|
143
|
-
`DRIFT: pin '${pin.id}' (${pin.door}) pins '${id}' in ${pin.file}, which is NOT in
|
|
144
|
-
`Either the pin is stale or the
|
|
209
|
+
`DRIFT: pin '${pin.id}' (${pin.door}) pins '${id}' in ${pin.file}, which is NOT in ${setLabel} = [${doorFrontier.join(', ')}]. ` +
|
|
210
|
+
`Either the pin is stale or the frontier set wasn't updated — reconcile the two (operator-confirm the frontier id).`
|
|
145
211
|
);
|
|
146
212
|
} else {
|
|
147
|
-
info.push(`Drift OK: ${pin.door} '${pin.id}' -> '${id}' (in allowlist).`);
|
|
213
|
+
info.push(`Drift OK: ${pin.door} '${pin.id}' -> '${id}' (in ${source === 'literal' ? 'allowlist' : 'derived frontier set'}).`);
|
|
148
214
|
}
|
|
149
215
|
}
|
|
150
216
|
}
|
|
@@ -1,54 +1,59 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$comment": "
|
|
2
|
+
"$comment": "Doorway/Model Knowledge Registry — canonical/reviewed layer + staleness/drift gate for Instar's per-provider 'capable/latest' model pins. This file is the SINGLE human-edit surface that keeps the model registry from silently rotting. See docs/LLM-ROUTING-REGISTRY.md, docs/specs/DOORWAY-MODEL-KNOWLEDGE-REGISTRY-SPEC.md, and scripts/lint-model-registry-freshness.mjs. Two teeth: (1) STALENESS — lastReviewedAt must be within stalenessWindowDays; (2) DRIFT — every pinned capable model id must be a member of its door's DERIVED frontier set (the ids in doors[door].topModels[] carrying frontier:true — see §1.4 of the spec). topModels is the ONE hand-edited source of truth; the frontier set is a view of it and cannot diverge by construction. To pass the check a human must confirm each capable pin is genuinely current frontier AND bump lastReviewedAt. An un-reviewed list fails loudly.",
|
|
3
|
+
"registrySchemaVersion": 2,
|
|
4
|
+
"$schemaNote": "registrySchemaVersion 2 = the enriched Doorway/Model Knowledge Registry. Rollout increment 1 (spec §Rollout step 1): the per-door topModels[] frontier-derivation layer + the derived-frontier lint (report mode). The live scan-state (.instar/state/doorway-scan.json), the deterministic prober, the per-door probe{} block, candidateDoorways[], the scan job, and GET /doorways are LATER increments (spec §Rollout steps 2-3) and are NOT part of this schema version's consumers yet.",
|
|
3
5
|
"lastReviewedAt": "2026-07-03",
|
|
4
6
|
"stalenessWindowDays": 45,
|
|
5
7
|
"enforcement": "report",
|
|
6
|
-
"$enforcementNote": "'report' = non-gating (prints findings, always exits 0) — the dark/reversible default while the current list is known-stale. Flip to 'strict' (exits 1 on any finding) ONLY after the flaggedStale door swaps below are operator-confirmed and applied. Env INSTAR_MODEL_FRESHNESS_STRICT=1 forces strict for a one-off run.",
|
|
8
|
+
"$enforcementNote": "'report' = non-gating (prints findings, always exits 0) — the dark/reversible default while the current list is known-stale. Flip to 'strict' (exits 1 on any finding) ONLY after the flaggedStale door swaps below are operator-confirmed and applied AND the standard is ratified (spec §Rollout step 5). Env INSTAR_MODEL_FRESHNESS_STRICT=1 forces strict for a one-off run.",
|
|
7
9
|
"doors": {
|
|
8
10
|
"claude-code": {
|
|
11
|
+
"name": "Claude Code CLI",
|
|
9
12
|
"accessMethod": "Claude Code CLI (subscription/OAuth)",
|
|
10
13
|
"status": "alive",
|
|
11
|
-
"
|
|
14
|
+
"topModels": [
|
|
15
|
+
{ "id": "claude-opus-4-8", "role": "capable-anthropic", "frontier": true, "pricing": null, "verifiedAt": "carried-over-from-allowlist" },
|
|
16
|
+
{ "id": "claude-fable-5", "role": "ultra-anthropic", "frontier": true, "pricing": null, "verifiedAt": "carried-over-from-allowlist" }
|
|
17
|
+
],
|
|
18
|
+
"note": "Primary door. Tier aliases opus/sonnet/haiku auto-resolve to latest and do NOT rot; only concrete claude-*-N ids in topModels are pinned. topModels seeded 1:1 from the reviewed frontierAllowlist (spec D4 carry-over); the first enabled scan re-verifies."
|
|
12
19
|
},
|
|
13
20
|
"anthropic-headless": {
|
|
21
|
+
"name": "Anthropic headless (claude -p)",
|
|
14
22
|
"accessMethod": "claude -p one-shot (Agent SDK credit pot)",
|
|
15
23
|
"status": "alive",
|
|
16
|
-
"
|
|
24
|
+
"topModels": [
|
|
25
|
+
{ "id": "claude-opus-4-8", "role": "capable-anthropic", "frontier": true, "pricing": null, "verifiedAt": "carried-over-from-allowlist" },
|
|
26
|
+
{ "id": "claude-sonnet-4-6", "role": "balanced-anthropic", "frontier": true, "pricing": null, "verifiedAt": "carried-over-from-allowlist" },
|
|
27
|
+
{ "id": "claude-haiku-4-5", "role": "fast-anthropic", "frontier": true, "pricing": null, "verifiedAt": "carried-over-from-allowlist" }
|
|
28
|
+
],
|
|
29
|
+
"note": "Background/internal calls. Billing shifts to interactive pool after 2026-06-15 per subscriptionPath. topModels seeded from the reviewed frontierAllowlist (spec D4 carry-over)."
|
|
17
30
|
},
|
|
18
31
|
"codex-cli": {
|
|
32
|
+
"name": "Codex CLI",
|
|
19
33
|
"accessMethod": "codex exec (ChatGPT account)",
|
|
20
34
|
"status": "referenced-not-installed",
|
|
21
|
-
"
|
|
35
|
+
"topModels": [
|
|
36
|
+
{ "id": "gpt-5.5", "role": "capable-openai", "frontier": true, "pricing": null, "verifiedAt": "carried-over-from-allowlist" }
|
|
37
|
+
],
|
|
38
|
+
"note": "codex CLI is NOT installed on this machine (which codex -> not found), yet componentFrameworks routes job/Usher/TopicIntentExtractor to it -> those fall back at runtime. Door-liveness gap flagged to operator. topModels seeded from the reviewed frontierAllowlist (spec D4 carry-over)."
|
|
22
39
|
},
|
|
23
40
|
"gemini-cli": {
|
|
41
|
+
"name": "Gemini CLI",
|
|
24
42
|
"accessMethod": "gemini -m <model> (Homebrew formula, OAuth)",
|
|
25
43
|
"status": "alive-but-deprecated-formula",
|
|
26
|
-
"
|
|
44
|
+
"topModels": [
|
|
45
|
+
{ "id": "gemini-3.1-pro-preview", "role": "capable-google", "frontier": true, "pricing": null, "verifiedAt": "carried-over-from-allowlist" }
|
|
46
|
+
],
|
|
47
|
+
"note": "Homebrew gemini-cli formula DEPRECATED (upstream-unsupported, disabled 2026-12-18). CLI v0.25.2 still runs. capable tier now pinned to gemini-3.1-pro-preview (verified reachable 2026-07-03 via the gemini CLI / OpenRouter / paid Gemini key); gemini-2.5-pro remains a recognized/spawnable model + capacity fallback (NOT frontier). Migrate off the deprecated formula (npm @google/gemini-cli, or an OpenRouter/pi door). topModels seeded from the reviewed frontierAllowlist (spec D4 carry-over)."
|
|
27
48
|
},
|
|
28
49
|
"pi-cli": {
|
|
50
|
+
"name": "pi CLI",
|
|
29
51
|
"accessMethod": "pi --model <provider>/<id> (multi-provider: openai-codex, openrouter, ...)",
|
|
30
52
|
"status": "alive",
|
|
31
|
-
"
|
|
53
|
+
"topModels": [],
|
|
54
|
+
"note": "Multi-provider consolidation door. Can reach OpenRouter (one door to many frontier models; vault key metered_openrouter_bench present). pi policy DENIES anthropic/claude via openrouter passthrough by default to protect subscription billing. No pin references this door yet, so topModels is empty (no frontier set to derive); the first enabled scan enumerates observed models for operator classification."
|
|
32
55
|
}
|
|
33
56
|
},
|
|
34
|
-
"frontierAllowlist": {
|
|
35
|
-
"$comment": "CURRENT_FRONTIER_MODELS — the set of model ids considered acceptable-current for each door. A pinned capable model NOT in its door's list fails the DRIFT tooth. Add a new frontier id here (operator-confirmed) at the same time you update the pin.",
|
|
36
|
-
"claude-code": [
|
|
37
|
-
"claude-opus-4-8",
|
|
38
|
-
"claude-fable-5"
|
|
39
|
-
],
|
|
40
|
-
"anthropic-headless": [
|
|
41
|
-
"claude-opus-4-8",
|
|
42
|
-
"claude-sonnet-4-6",
|
|
43
|
-
"claude-haiku-4-5"
|
|
44
|
-
],
|
|
45
|
-
"codex-cli": [
|
|
46
|
-
"gpt-5.5"
|
|
47
|
-
],
|
|
48
|
-
"gemini-cli": [
|
|
49
|
-
"gemini-3.1-pro-preview"
|
|
50
|
-
]
|
|
51
|
-
},
|
|
52
57
|
"pins": [
|
|
53
58
|
{
|
|
54
59
|
"id": "gemini-capable-tier",
|
|
@@ -83,6 +88,7 @@
|
|
|
83
88
|
"note": "DEFAULT_TIER_ESCALATION.frameworks['claude-code'] default + escalated ids."
|
|
84
89
|
}
|
|
85
90
|
],
|
|
86
|
-
"$flaggedStaleNote": "Both prior flagged pins RESOLVED (operator-confirmed 2026-07-03): gemini capable swapped gemini-2.5-pro -> gemini-3.1-pro-preview (pin +
|
|
87
|
-
"flaggedStale": []
|
|
88
|
-
}
|
|
91
|
+
"$flaggedStaleNote": "Both prior flagged pins RESOLVED (operator-confirmed 2026-07-03): gemini capable swapped gemini-2.5-pro -> gemini-3.1-pro-preview (pin + topModels updated in the same change); codex capable stays gpt-5.5 (GA flagship — gpt-5.6-sol is preview-only/gov-gated/unreachable, NOT pinned). Nothing pending confirmation.",
|
|
92
|
+
"flaggedStale": [],
|
|
93
|
+
"$frontierAllowlistNote": "The hand-maintained frontierAllowlist{} was SUPERSEDED by derivation (spec §1.4): the frontier set for each door is now the ids in doors[door].topModels[] carrying frontier:true. This removes a second hand-maintained list (the rot this registry fights). The lint keeps a backward-compat path: a door with a literal frontierAllowlist[door] and NO topModels behaves exactly as before; a door with BOTH emits a transition finding so the old hand-list can't silently linger."
|
|
94
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./builtin-manifest.schema.json",
|
|
3
3
|
"schemaVersion": 1,
|
|
4
|
-
"generatedAt": "2026-07-
|
|
5
|
-
"instarVersion": "1.3.
|
|
4
|
+
"generatedAt": "2026-07-04T18:27:11.948Z",
|
|
5
|
+
"instarVersion": "1.3.756",
|
|
6
6
|
"entryCount": 202,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -104,6 +104,12 @@ export const LLM_BENCH_COVERAGE: Readonly<Record<string, BenchCoverage>> = {
|
|
|
104
104
|
},
|
|
105
105
|
|
|
106
106
|
// ── Wave 3 (reflectors + background/job tasks) ──
|
|
107
|
+
// ProfileIntentClassifier — the offender #1 LLM conversion
|
|
108
|
+
// (docs/specs/keyword-intent-conversions-1-and-3.md). Its discrimination
|
|
109
|
+
// corpus (tests/unit/profile-intent-discrimination.test.ts) is already the
|
|
110
|
+
// de-facto benchmark (deterministic pipeline + opt-in LIVE model-accuracy
|
|
111
|
+
// harness); the formal INSTAR-Bench v2 task is queued for wave-3 authoring.
|
|
112
|
+
ProfileIntentClassifier: { pending: 'wave-3' },
|
|
107
113
|
JobReflector: { pending: 'wave-3' },
|
|
108
114
|
crossModelReviewer: { pending: 'wave-3' },
|
|
109
115
|
SelfKnowledgeTree: { pending: 'wave-3' },
|
|
@@ -181,6 +187,7 @@ export const LLM_UNTRUSTED_INPUT: Readonly<Record<string, UntrustedInputFlag>> =
|
|
|
181
187
|
MoveIntentClassifier: true, // classifies an untrusted inbound user message + recent conversation context
|
|
182
188
|
CoherenceReviewer: true,
|
|
183
189
|
LLMSanitizer: true, // definitionally judges untrusted inbound content
|
|
190
|
+
ProfileIntentClassifier: true, // classifies an untrusted inbound user message (+ recent conversation) — the message is delimited untrusted data in the prompt
|
|
184
191
|
OverrideDetector: true,
|
|
185
192
|
TaskClassifier: true,
|
|
186
193
|
ResumeValidator: true, // matches a resume UUID against the topic — judges session/resume state
|
|
@@ -343,6 +350,7 @@ export const LLM_JUDGES_CLAIMS: Readonly<Record<string, JudgesClaimsFlag>> = {
|
|
|
343
350
|
WarrantsReplyGate: false, // "should I reply?" — not a completion/health claim
|
|
344
351
|
MoveIntentClassifier: false, // classifies a USER's move/pin intent over a message, not an agent/session claim of completion/health/credit
|
|
345
352
|
HubIntentClassifier: false, // classifies a USER's hub bind-intent (open/tie) over a message, not an agent/session claim of completion/health/credit
|
|
353
|
+
ProfileIntentClassifier: false, // classifies a user's profile-change intent, not an agent/session claim of completion/progress/health
|
|
346
354
|
CoherenceGate: false, // no own callsite — flows through CoherenceReviewer
|
|
347
355
|
MessagingToneGate: false, // reviews outbound tone/leaks
|
|
348
356
|
CoherenceReviewer: false, // reviews outbound coherence
|
|
@@ -432,6 +440,7 @@ export const LLM_PARSER_CONTRACT: Readonly<Record<string, ParserContractFlag>> =
|
|
|
432
440
|
InputClassifier: { pending: 'contract-wave-1' }, // parses a closed auto-approve vs relay decision
|
|
433
441
|
|
|
434
442
|
// ── WAVE-2: every other enumerated-verdict / decision callsite (rollout §2) ──
|
|
443
|
+
ProfileIntentClassifier: { pending: 'contract-wave-2' }, // parses a closed {intent∈framework|model|thinking|null, value∈enum} verdict — the value is validated against the closed framework/model/thinking enums, never string-matched
|
|
435
444
|
MessageSentinel: { pending: 'contract-wave-2' }, // closed intent set (pause / emergency / normal)
|
|
436
445
|
LLMSanitizer: { pending: 'contract-wave-2' }, // parses a closed sanitize verdict/decision
|
|
437
446
|
WarrantsReplyGate: { pending: 'contract-wave-2' }, // closed should-reply yes/no verdict
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
The recognizer that decides whether a mid-conversation message means *"change this topic's
|
|
9
|
+
framework / model / thinking"* — e.g. "use codex here", "switch this topic to gemini", "set high
|
|
10
|
+
thinking on this topic" — was rebuilt from keyword regexes into an LLM classifier
|
|
11
|
+
(`src/core/ProfileIntentClassifier.ts`). The old code (`parseProfileTrigger`'s
|
|
12
|
+
`/^use (codex|claude|gemini|pi…) …$/`, `/^switch this topic to …$/`, `THINKING_WORDS`, and the
|
|
13
|
+
`pin this topic to <id>$/` forms) was offender #1 of the 2026-07-03 keyword-intent audit: a
|
|
14
|
+
keyword/regex list DECIDING what a human meant. Those regexes were tightly anchored (so few false
|
|
15
|
+
positives), but they are brittle in the MISS direction — a valid paraphrase ("let's run this topic
|
|
16
|
+
on claude") had no anchor — and, more fundamentally, they are the exact anti-pattern the
|
|
17
|
+
constitutional standard *"Intelligence Infers, Keywords Only Guard"* forbids. The new classifier
|
|
18
|
+
infers the change intent from the message **and** a bounded window of recent conversation, and
|
|
19
|
+
constrains the value to a closed enum (framework ∈ configured frameworks, model ∈ known ids/tiers,
|
|
20
|
+
thinking ∈ off/low/medium/high/max) via **code-side validation of the model's emitted field** —
|
|
21
|
+
never string-matching the model's prose. It is conversion #1 under that standard, mirroring the
|
|
22
|
+
merged move-intent exemplar (PR #1367).
|
|
23
|
+
|
|
24
|
+
It **fails open**: on any uncertainty — no provider, breaker open, timeout, unparseable/schema-
|
|
25
|
+
violating output, value-not-in-enum, value-not-grounded-in-the-latest-message, or low confidence —
|
|
26
|
+
the message passes straight through to the agent, never actuating a respawn. A **grounding guard**
|
|
27
|
+
(`valueGroundedInLatestMessage`) additionally requires the resolved value to appear in the LATEST
|
|
28
|
+
message, so a value inferred purely from stale prior context ("yeah go with that") never actuates —
|
|
29
|
+
closing a confirm-slot-bypass the context window would otherwise open. The LLM call is `gating:true`
|
|
30
|
+
(swap-provider-before-fail, no silent heuristic drop). It ships **dev-gated dark on the fleet +
|
|
31
|
+
dry-run first on a development agent** (it logs would-actuate vs would-pass to
|
|
32
|
+
`logs/profile-intent.jsonl` — no raw message content — and actuates nothing until a deliberate
|
|
33
|
+
`dryRun:false`). The framework/model/thinking regexes are removed from `parseProfileTrigger`; the
|
|
34
|
+
command kinds (readout / undo / clear / reapply / switch-now / confirm) and the explicit
|
|
35
|
+
`effort` + `escalationOverride` forms remain (structural / explicit-mandate, not framework/model/
|
|
36
|
+
thinking intent). The `TopicProfileWriteSurface` authority + confirm-slot ordering guards are
|
|
37
|
+
unchanged.
|
|
38
|
+
|
|
39
|
+
## What to Tell Your User
|
|
40
|
+
|
|
41
|
+
Nothing user-facing right now — this ships dark on the fleet and dry-run on a development agent, so
|
|
42
|
+
no behavior changes until it's deliberately graduated (and the whole topic-profile WRITE layer is
|
|
43
|
+
itself already dev-gated + dry-run). If asked why the agent might once have missed a phrasing like
|
|
44
|
+
"let's run this topic on claude", or why "should we use codex here?" should never flip the setting:
|
|
45
|
+
the old recognizer was a brittle regex list, now replaced by an LLM that judges intent from the
|
|
46
|
+
message and its conversation context and errs toward *not* changing your topic when unsure.
|
|
47
|
+
|
|
48
|
+
## Summary of New Capabilities
|
|
49
|
+
|
|
50
|
+
- `src/core/ProfileIntentClassifier.ts` — LLM-with-context framework/model/thinking intent
|
|
51
|
+
recognizer (`classifyProfileIntent` + `toProfilePatch`); structured-output enum guardrail +
|
|
52
|
+
latest-message grounding guard validated in code; fail-open on all uncertainty; `gating:true`.
|
|
53
|
+
- Config `topicProfiles.intentClassifier` (`enabled` dev-gated; `dryRun:true`, `minConfidence:0.85`,
|
|
54
|
+
`timeoutMs:4000`, `contextWindowTurns:6`, `modelTier:'fast'`); registered in `DEV_GATED_FEATURES`;
|
|
55
|
+
attributed `gate` in `componentCategories`; row in `docs/LLM-ROUTING-REGISTRY.md`; bench coverage
|
|
56
|
+
queued (`llmBenchCoverage.ts`, wave-3).
|
|
57
|
+
- `logs/profile-intent.jsonl` — machine-local dry-run soak log (LLM-engaged decisions only; enum
|
|
58
|
+
fields + message length, NO raw content).
|
|
59
|
+
- Committed discrimination corpus + opt-in real-model benchmark (`INSTAR_LIVE_PROFILE_INTENT=1`),
|
|
60
|
+
the graduation gate before `dryRun:false` (≥200 decisions, <1% false-actuation, zero
|
|
61
|
+
context-resolved actuations).
|
|
62
|
+
|
|
63
|
+
## Evidence
|
|
64
|
+
|
|
65
|
+
Not reproducible in dev as a live false-positive: the removed regexes were `^…$`-anchored, so
|
|
66
|
+
they rarely MIS-fired today ("should we use codex here?" never matched `^use …$`). This converts
|
|
67
|
+
the banned anti-pattern (a keyword/regex list DECIDING natural-language intent) pre-emptively —
|
|
68
|
+
the sibling offender #2 (`NicknameCommand`) is the one that produced the actual 2026-07-03 hijack;
|
|
69
|
+
offender #1 is the same CLASS, converted before it can misfire. Observed before/after is proven by
|
|
70
|
+
the committed discrimination corpus (`tests/unit/profile-intent-discrimination.test.ts`): the old
|
|
71
|
+
class fires on the words, not the meaning — the corpus asserts, both directions, that "use codex
|
|
72
|
+
here" actuates while "should we use codex here?", "codex here keeps failing", and a stale-context
|
|
73
|
+
"yeah go with that" all pass through, and that a valid paraphrase the anchored regex MISSED
|
|
74
|
+
("let's run this topic on claude") is now recognized. The deterministic harness runs in CI; the
|
|
75
|
+
opt-in `INSTAR_LIVE_PROFILE_INTENT=1` real-model harness is the graduation gate before `dryRun:false`.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
Doorway/Model Knowledge Registry — rollout increment 1 (the foundational, dark/inert, backward-compatible piece of `docs/specs/DOORWAY-MODEL-KNOWLEDGE-REGISTRY-SPEC.md`):
|
|
9
|
+
|
|
10
|
+
- **Enriched the canonical registry** (`scripts/model-registry-freshness.manifest.json`, now `registrySchemaVersion: 2`): every door carries a `topModels[]` list — the exact model id, a role label, a `frontier` flag, `pricing` (null on carry-over), and `verifiedAt`. Seeded 1:1 from the already-reviewed `frontierAllowlist` (spec D4 carry-over: `verifiedAt:"carried-over-from-allowlist"`), so no new research/operator round-trip was needed to land it.
|
|
11
|
+
- **Made the frontier set DERIVED, not hand-maintained** (spec §1.4): the freshness lint's DRIFT tooth (`scripts/lint-model-registry-freshness.mjs`) now checks each pin against the ids in `doors[door].topModels[]` carrying `frontier:true` — a *view* of the one hand-edited structure — instead of the separate `frontierAllowlist{}` (now removed). This eliminates the second hand-maintained list that was itself a rot vector. Backward-compatible: a door with a literal `frontierAllowlist` and no `topModels` behaves exactly as before; a door with BOTH emits a non-gating `TRANSITION` finding so the stale literal can't silently linger.
|
|
12
|
+
|
|
13
|
+
The lint stays in non-gating `report` mode. No runtime code (`src/`), route, job, config default, hook, or agent-installed file changes in this increment — the deterministic prober, live scan-state, `GET /doorways`, the scan job, and the config knob are later rollout increments and are NOT in this PR.
|
|
14
|
+
|
|
15
|
+
## What to Tell Your User
|
|
16
|
+
|
|
17
|
+
None — internal change (no user-facing surface).
|
|
18
|
+
|
|
19
|
+
## Summary of New Capabilities
|
|
20
|
+
|
|
21
|
+
None — internal change (no user-facing surface).
|
|
22
|
+
|
|
23
|
+
## Evidence
|
|
24
|
+
|
|
25
|
+
- `node scripts/lint-model-registry-freshness.mjs` → PASS against the enriched shipped manifest (all pins resolve via the derived frontier set; staleness OK).
|
|
26
|
+
- `tests/unit/model-registry-freshness.test.ts` → 20/20 pass (11 pre-existing + 9 new: derived-frontier drift both sides, `frontier:false` exclusion, the transition finding, old-shape backward-compat, and direct `frontierSetForDoor` unit coverage). The shipped-manifest self-consistency test passes via the derived path.
|
|
27
|
+
- Deferred items (spec §Deferred DF1-DF6) filed as tracked follow-ups: `docs/specs/reports/DOORWAY-MODEL-KNOWLEDGE-REGISTRY-followups.md` + `<!-- tracked: 29723 -->` markers in the spec body (owner topic 29723).
|