instar 1.3.764 → 1.3.766
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/ClaudeCliIntelligenceProvider.d.ts +15 -0
- package/dist/core/ClaudeCliIntelligenceProvider.d.ts.map +1 -1
- package/dist/core/ClaudeCliIntelligenceProvider.js +111 -23
- package/dist/core/ClaudeCliIntelligenceProvider.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts +1 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +49 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/crossModelReviewer.d.ts +188 -9
- package/dist/core/crossModelReviewer.d.ts.map +1 -1
- package/dist/core/crossModelReviewer.js +360 -18
- package/dist/core/crossModelReviewer.js.map +1 -1
- package/dist/core/types.d.ts +14 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/package.json +2 -2
- package/scripts/lint-no-unreachable-messaging-gate.js +100 -0
- package/scripts/model-registry-freshness.manifest.json +8 -0
- package/skills/spec-converge/SKILL.md +4 -2
- package/skills/spec-converge/scripts/cross-model-review.mjs +36 -6
- package/src/data/builtin-manifest.json +19 -19
- package/upgrades/1.3.765.md +63 -0
- package/upgrades/1.3.766.md +37 -0
- package/upgrades/side-effects/lint-unreachable-messaging-gate.eli16.md +42 -0
- package/upgrades/side-effects/lint-unreachable-messaging-gate.md +107 -0
- package/upgrades/side-effects/reviewer-door-rewiring-inc1.md +198 -0
|
@@ -9,6 +9,21 @@
|
|
|
9
9
|
* (specs/provider-portability/04-anthropic-path-constraints.md).
|
|
10
10
|
*/
|
|
11
11
|
import type { IntelligenceProvider, IntelligenceOptions } from './types.js';
|
|
12
|
+
/**
|
|
13
|
+
* Build the ALLOWLIST-only child env for a hardened reviewer call. Strips every
|
|
14
|
+
* key not on the allowlist (agent secrets never cross), and — belt-and-suspenders
|
|
15
|
+
* — deletes the Claude Code session markers so a nested session can't wedge it.
|
|
16
|
+
*/
|
|
17
|
+
export declare function buildClaudeReviewerChildEnv(parentEnv?: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
|
|
18
|
+
/**
|
|
19
|
+
* Build the hardened `claude` argv for a reviewer call (REVIEWER-DOOR-REWIRING
|
|
20
|
+
* §1.4). The prompt is NOT a positional arg (it travels via stdin), so it never
|
|
21
|
+
* appears in argv. `--allowedTools ''` is an explicit EMPTY allow-list (a new
|
|
22
|
+
* tool category cannot escape it, unlike a `--disallowedTools '*'` denylist);
|
|
23
|
+
* `--strict-mcp-config` refuses user MCP servers. `--setting-sources user`
|
|
24
|
+
* excludes project/local CLAUDE.md (kept from the base door).
|
|
25
|
+
*/
|
|
26
|
+
export declare function buildClaudeReviewerArgs(model: string): string[];
|
|
12
27
|
export declare class ClaudeCliIntelligenceProvider implements IntelligenceProvider {
|
|
13
28
|
private claudePath;
|
|
14
29
|
constructor(claudePath: string);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaudeCliIntelligenceProvider.d.ts","sourceRoot":"","sources":["../../src/core/ClaudeCliIntelligenceProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"ClaudeCliIntelligenceProvider.d.ts","sourceRoot":"","sources":["../../src/core/ClaudeCliIntelligenceProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAuC5E;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,GAAE,MAAM,CAAC,UAAwB,GACzC,MAAM,CAAC,UAAU,CAWnB;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAU/D;AAED,qBAAa,6BAA8B,YAAW,oBAAoB;IACxE,OAAO,CAAC,UAAU,CAAS;gBAEf,UAAU,EAAE,MAAM;IAYxB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;CA2E/E;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,GAC9F,MAAM,CA8BR"}
|
|
@@ -9,10 +9,79 @@
|
|
|
9
9
|
* (specs/provider-portability/04-anthropic-path-constraints.md).
|
|
10
10
|
*/
|
|
11
11
|
import { execFile } from 'node:child_process';
|
|
12
|
+
import { mkdtempSync, existsSync } from 'node:fs';
|
|
13
|
+
import { tmpdir } from 'node:os';
|
|
14
|
+
import { join } from 'node:path';
|
|
12
15
|
import { resolveCliFlag } from './models.js';
|
|
13
16
|
import { assertClaudeAllowed } from './claudeForbiddenGuard.js';
|
|
14
17
|
const DEFAULT_MODEL = 'fast';
|
|
15
18
|
const DEFAULT_TIMEOUT_MS = 30_000;
|
|
19
|
+
const REVIEWER_SCRATCH_DIR_PREFIX = 'instar-claude-review-scratch-';
|
|
20
|
+
let cachedReviewerScratchDir = null;
|
|
21
|
+
/**
|
|
22
|
+
* Lazily create + return an EMPTY, unguessable-named scratch cwd for a hardened
|
|
23
|
+
* reviewer call (REVIEWER-DOOR-REWIRING §1.4). Running `claude -p` in the repo
|
|
24
|
+
* root would let project-doc / cwd discovery see repo context; a neutral scratch
|
|
25
|
+
* dir (mode 0700, random suffix via mkdtemp — like the codex provider's) is the
|
|
26
|
+
* clean-notepad. Re-verified each call (a tmp-reaper may delete it).
|
|
27
|
+
*/
|
|
28
|
+
function resolveReviewerScratchDir() {
|
|
29
|
+
if (cachedReviewerScratchDir && existsSync(cachedReviewerScratchDir))
|
|
30
|
+
return cachedReviewerScratchDir;
|
|
31
|
+
cachedReviewerScratchDir = mkdtempSync(join(tmpdir(), REVIEWER_SCRATCH_DIR_PREFIX));
|
|
32
|
+
return cachedReviewerScratchDir;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* The env-key ALLOWLIST for a hardened reviewer child (REVIEWER-DOOR-REWIRING
|
|
36
|
+
* §1.4). Only what `claude -p` itself needs — NEVER agent secrets like
|
|
37
|
+
* `INSTAR_AUTH_TOKEN`, `GITHUB_TOKEN`, vault material, etc. Prefix matches
|
|
38
|
+
* (`LC_`, `ANTHROPIC_`) preserve locale + the operator's OWN configured
|
|
39
|
+
* `ANTHROPIC_BASE_URL` proxy (§Security — the operator-controlled-endpoint
|
|
40
|
+
* property), without leaking anything else.
|
|
41
|
+
*/
|
|
42
|
+
const REVIEWER_ENV_ALLOW_EXACT = new Set([
|
|
43
|
+
'PATH', 'HOME', 'USER', 'LOGNAME', 'SHELL', 'LANG', 'TERM', 'TMPDIR', 'TZ',
|
|
44
|
+
'NODE_EXTRA_CA_CERTS', 'SSL_CERT_FILE', 'SSL_CERT_DIR',
|
|
45
|
+
'CLAUDE_CONFIG_DIR', 'XDG_CONFIG_HOME', 'XDG_CACHE_HOME', 'XDG_DATA_HOME',
|
|
46
|
+
]);
|
|
47
|
+
const REVIEWER_ENV_ALLOW_PREFIXES = ['LC_', 'ANTHROPIC_'];
|
|
48
|
+
/**
|
|
49
|
+
* Build the ALLOWLIST-only child env for a hardened reviewer call. Strips every
|
|
50
|
+
* key not on the allowlist (agent secrets never cross), and — belt-and-suspenders
|
|
51
|
+
* — deletes the Claude Code session markers so a nested session can't wedge it.
|
|
52
|
+
*/
|
|
53
|
+
export function buildClaudeReviewerChildEnv(parentEnv = process.env) {
|
|
54
|
+
const out = {};
|
|
55
|
+
for (const [k, v] of Object.entries(parentEnv)) {
|
|
56
|
+
if (v === undefined)
|
|
57
|
+
continue;
|
|
58
|
+
if (REVIEWER_ENV_ALLOW_EXACT.has(k) || REVIEWER_ENV_ALLOW_PREFIXES.some((p) => k.startsWith(p))) {
|
|
59
|
+
out[k] = v;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
delete out.CLAUDECODE;
|
|
63
|
+
delete out.CLAUDE_SESSION_ID;
|
|
64
|
+
return out;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Build the hardened `claude` argv for a reviewer call (REVIEWER-DOOR-REWIRING
|
|
68
|
+
* §1.4). The prompt is NOT a positional arg (it travels via stdin), so it never
|
|
69
|
+
* appears in argv. `--allowedTools ''` is an explicit EMPTY allow-list (a new
|
|
70
|
+
* tool category cannot escape it, unlike a `--disallowedTools '*'` denylist);
|
|
71
|
+
* `--strict-mcp-config` refuses user MCP servers. `--setting-sources user`
|
|
72
|
+
* excludes project/local CLAUDE.md (kept from the base door).
|
|
73
|
+
*/
|
|
74
|
+
export function buildClaudeReviewerArgs(model) {
|
|
75
|
+
return [
|
|
76
|
+
'--print',
|
|
77
|
+
'--allowedTools', '',
|
|
78
|
+
'--strict-mcp-config',
|
|
79
|
+
'--model', model,
|
|
80
|
+
'--max-turns', '1',
|
|
81
|
+
'--output-format', 'json',
|
|
82
|
+
'--setting-sources', 'user',
|
|
83
|
+
];
|
|
84
|
+
}
|
|
16
85
|
export class ClaudeCliIntelligenceProvider {
|
|
17
86
|
claudePath;
|
|
18
87
|
constructor(claudePath) {
|
|
@@ -27,7 +96,12 @@ export class ClaudeCliIntelligenceProvider {
|
|
|
27
96
|
this.claudePath = claudePath;
|
|
28
97
|
}
|
|
29
98
|
async evaluate(prompt, options) {
|
|
30
|
-
|
|
99
|
+
// Reviewer inbound-safety hardening (REVIEWER-DOOR-REWIRING §1.4): the CONCRETE
|
|
100
|
+
// resolved pin travels via reviewerHardening.model (never a tier word), and
|
|
101
|
+
// the call runs locked down (empty allowed-tools, strict-mcp-config, neutral
|
|
102
|
+
// scratch cwd, stdin prompt, env allowlist).
|
|
103
|
+
const hardened = options?.reviewerHardening;
|
|
104
|
+
const model = resolveCliFlag(hardened?.model ?? options?.model ?? DEFAULT_MODEL);
|
|
31
105
|
// Observable Intelligence: surface the resolved provider/model before the
|
|
32
106
|
// call runs, so the metrics funnel can attribute it even on error/timeout.
|
|
33
107
|
try {
|
|
@@ -35,35 +109,44 @@ export class ClaudeCliIntelligenceProvider {
|
|
|
35
109
|
}
|
|
36
110
|
catch { /* @silent-fallback-ok: onModel is pure observability — a throw must never break the LLM path */ }
|
|
37
111
|
return new Promise((resolve, reject) => {
|
|
38
|
-
const args =
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
//
|
|
55
|
-
//
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
112
|
+
const args = hardened
|
|
113
|
+
? buildClaudeReviewerArgs(model)
|
|
114
|
+
: [
|
|
115
|
+
'-p', prompt,
|
|
116
|
+
'--model', model,
|
|
117
|
+
'--max-turns', '1',
|
|
118
|
+
// JSON (not text) so the response carries a `usage` block. We extract the
|
|
119
|
+
// answer from `.result` and surface token counts via options.onUsage —
|
|
120
|
+
// the only way per-feature token cost reaches /metrics/features (the tap
|
|
121
|
+
// had no usage to record under text output, so it always logged 0).
|
|
122
|
+
// Iris-audit item 1, spec iris-audit-session-observability.md.
|
|
123
|
+
'--output-format', 'json',
|
|
124
|
+
// Exclude project/local CLAUDE.md to prevent identity context
|
|
125
|
+
// from contaminating classification and evaluation prompts.
|
|
126
|
+
'--setting-sources', 'user',
|
|
127
|
+
];
|
|
128
|
+
// Env: hardened calls use the ALLOWLIST-only env (agent secrets never
|
|
129
|
+
// cross); the default path strips only the Claude Code session markers so a
|
|
130
|
+
// nested session can't wedge it (unchanged behavior).
|
|
131
|
+
const childEnv = hardened
|
|
132
|
+
? buildClaudeReviewerChildEnv(process.env)
|
|
133
|
+
: (() => {
|
|
134
|
+
const e = { ...process.env };
|
|
135
|
+
delete e.CLAUDECODE;
|
|
136
|
+
delete e.CLAUDE_SESSION_ID;
|
|
137
|
+
return e;
|
|
138
|
+
})();
|
|
59
139
|
const child = execFile(this.claudePath, args, {
|
|
60
140
|
// Honor a caller-supplied per-call budget (IntelligenceOptions.timeoutMs);
|
|
61
141
|
// fall back to the 30s default so every caller that omits it is unchanged.
|
|
62
142
|
// LLM-backed callers on a synchronous HTTP path (e.g. the standards-
|
|
63
143
|
// conformance gate reviewing a full spec) need more than 30s.
|
|
64
144
|
timeout: options?.timeoutMs ?? DEFAULT_TIMEOUT_MS,
|
|
65
|
-
|
|
145
|
+
// Hardened reviewer replies are full spec reviews — allow a larger buffer.
|
|
146
|
+
maxBuffer: hardened ? 8 * 1024 * 1024 : 1024 * 1024,
|
|
66
147
|
env: childEnv,
|
|
148
|
+
// Neutral scratch cwd for a hardened call (§1.4) — never the repo root.
|
|
149
|
+
...(hardened ? { cwd: resolveReviewerScratchDir() } : {}),
|
|
67
150
|
}, (error, stdout, stderr) => {
|
|
68
151
|
if (error) {
|
|
69
152
|
// Timeout or other error — reject so caller can fall back. Include a
|
|
@@ -76,6 +159,11 @@ export class ClaudeCliIntelligenceProvider {
|
|
|
76
159
|
}
|
|
77
160
|
resolve(parseJsonResult(stdout, options?.onUsage));
|
|
78
161
|
});
|
|
162
|
+
// Hardened calls pass the prompt over STDIN (§1.4) so it never appears in
|
|
163
|
+
// ps-visible argv; the default path already carries it as the `-p` arg.
|
|
164
|
+
if (hardened) {
|
|
165
|
+
child.stdin?.write(prompt);
|
|
166
|
+
}
|
|
79
167
|
// Write prompt via stdin for very long prompts (belt and suspenders)
|
|
80
168
|
child.stdin?.end();
|
|
81
169
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaudeCliIntelligenceProvider.js","sourceRoot":"","sources":["../../src/core/ClaudeCliIntelligenceProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"ClaudeCliIntelligenceProvider.js","sourceRoot":"","sources":["../../src/core/ClaudeCliIntelligenceProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -358,6 +358,7 @@ export declare class PostUpdateMigrator {
|
|
|
358
358
|
private migratePlaywrightProfilesSeed;
|
|
359
359
|
private migrateMultiMachinePostureReviewDimension;
|
|
360
360
|
private migrateThreeStandardsReviewChecks;
|
|
361
|
+
private migrateSpecConvergeAnthropicReviewerDisclosure;
|
|
361
362
|
private migrateCartographerDevGate;
|
|
362
363
|
private migrateDevGateTeethStrip;
|
|
363
364
|
private migrateHonestProgressMessagingDefaults;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostUpdateMigrator.d.ts","sourceRoot":"","sources":["../../src/core/PostUpdateMigrator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PostUpdateMigrator.d.ts","sourceRoot":"","sources":["../../src/core/PostUpdateMigrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -829,6 +829,7 @@ export class PostUpdateMigrator {
|
|
|
829
829
|
this.migrateCartographerDevGate(result);
|
|
830
830
|
this.migrateDevGateTeethStrip(result);
|
|
831
831
|
this.migrateThreeStandardsReviewChecks(result);
|
|
832
|
+
this.migrateSpecConvergeAnthropicReviewerDisclosure(result);
|
|
832
833
|
this.migrateCommitmentOwnerBackfill(result);
|
|
833
834
|
this.migratePlaywrightProfilesSeed(result);
|
|
834
835
|
this.migrateMultiMachinePostureReviewDimension(result);
|
|
@@ -1302,6 +1303,54 @@ export class PostUpdateMigrator {
|
|
|
1302
1303
|
}
|
|
1303
1304
|
}
|
|
1304
1305
|
}
|
|
1306
|
+
// ── Anthropic clean-door reviewer disclosure (REVIEWER-DOOR-REWIRING §Migration
|
|
1307
|
+
// parity, inc1) ──
|
|
1308
|
+
//
|
|
1309
|
+
// The spec-converge SKILL.md gains (a) the `--family claude-code` clean-door
|
|
1310
|
+
// reviewer family + its `clean-door-anthropic-review` disclosure field and (b)
|
|
1311
|
+
// the D7 per-round-model disclosure line. Per Migration Parity case 5b,
|
|
1312
|
+
// installBuiltinSkills() is non-destructive (never overwrites an installed
|
|
1313
|
+
// SKILL.md), so a CONTENT update reaches already-installed agents (the dev agent
|
|
1314
|
+
// included) ONLY through this dedicated idempotent migration. Same shape as
|
|
1315
|
+
// migrateThreeStandardsReviewChecks: re-copy the bundled SKILL.md only when the
|
|
1316
|
+
// installed copy lacks the capability MARKER and still looks stock (fingerprint
|
|
1317
|
+
// guard); a customized file is left untouched and reported. Idempotent: the
|
|
1318
|
+
// marker check short-circuits on every later run. Custom skills are never touched.
|
|
1319
|
+
migrateSpecConvergeAnthropicReviewerDisclosure(result) {
|
|
1320
|
+
const MARKER = 'clean-door-anthropic-review';
|
|
1321
|
+
const files = [
|
|
1322
|
+
{
|
|
1323
|
+
rel: ['skills', 'spec-converge', 'SKILL.md'],
|
|
1324
|
+
fingerprint: '# /spec-converge',
|
|
1325
|
+
label: 'spec-converge SKILL (Anthropic clean-door reviewer + D7 model disclosure)',
|
|
1326
|
+
},
|
|
1327
|
+
];
|
|
1328
|
+
for (const f of files) {
|
|
1329
|
+
try {
|
|
1330
|
+
const installed = path.join(this.config.projectDir, '.claude', ...f.rel);
|
|
1331
|
+
if (!fs.existsSync(installed))
|
|
1332
|
+
continue; // fresh installs get the bundled copy
|
|
1333
|
+
const current = fs.readFileSync(installed, 'utf8');
|
|
1334
|
+
if (current.includes(MARKER))
|
|
1335
|
+
continue; // already updated — idempotent
|
|
1336
|
+
if (!current.includes(f.fingerprint)) {
|
|
1337
|
+
result.skipped.push(`${f.label}: customized — left untouched`);
|
|
1338
|
+
continue;
|
|
1339
|
+
}
|
|
1340
|
+
const bundled = path.join(__dirname, '..', '..', ...f.rel);
|
|
1341
|
+
if (!fs.existsSync(bundled))
|
|
1342
|
+
continue;
|
|
1343
|
+
const next = fs.readFileSync(bundled, 'utf8');
|
|
1344
|
+
if (next.includes(MARKER)) {
|
|
1345
|
+
fs.writeFileSync(installed, next);
|
|
1346
|
+
result.upgraded.push(f.label);
|
|
1347
|
+
}
|
|
1348
|
+
}
|
|
1349
|
+
catch (err) {
|
|
1350
|
+
result.errors.push(`${f.label}: ${err instanceof Error ? err.message : String(err)}`);
|
|
1351
|
+
}
|
|
1352
|
+
}
|
|
1353
|
+
}
|
|
1305
1354
|
// ── Cartographer dev-gate (DEV-AGENT-DARK-GATE-ENFORCEMENT, Migration Parity) ──
|
|
1306
1355
|
//
|
|
1307
1356
|
// The zero-cost cartographer READ surfaces (doc-tree/navigate + the deterministic
|