instar 1.3.485 → 1.3.487
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/reflect.d.ts.map +1 -1
- package/dist/commands/reflect.js +4 -0
- package/dist/commands/reflect.js.map +1 -1
- package/dist/commands/route.d.ts.map +1 -1
- package/dist/commands/route.js +3 -0
- package/dist/commands/route.js.map +1 -1
- package/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +14 -0
- package/dist/commands/server.js.map +1 -1
- package/dist/core/CircuitBreakingIntelligenceProvider.d.ts +7 -0
- package/dist/core/CircuitBreakingIntelligenceProvider.d.ts.map +1 -1
- package/dist/core/CircuitBreakingIntelligenceProvider.js +50 -0
- package/dist/core/CircuitBreakingIntelligenceProvider.js.map +1 -1
- package/dist/core/ClaudeCliIntelligenceProvider.d.ts +5 -0
- package/dist/core/ClaudeCliIntelligenceProvider.d.ts.map +1 -1
- package/dist/core/ClaudeCliIntelligenceProvider.js +6 -1
- package/dist/core/ClaudeCliIntelligenceProvider.js.map +1 -1
- package/dist/core/CodexCliIntelligenceProvider.d.ts +58 -0
- package/dist/core/CodexCliIntelligenceProvider.d.ts.map +1 -1
- package/dist/core/CodexCliIntelligenceProvider.js +293 -27
- package/dist/core/CodexCliIntelligenceProvider.js.map +1 -1
- package/dist/core/GeminiCliIntelligenceProvider.d.ts +8 -0
- package/dist/core/GeminiCliIntelligenceProvider.d.ts.map +1 -1
- package/dist/core/GeminiCliIntelligenceProvider.js +8 -0
- package/dist/core/GeminiCliIntelligenceProvider.js.map +1 -1
- package/dist/core/MessagingToneGate.d.ts +23 -2
- package/dist/core/MessagingToneGate.d.ts.map +1 -1
- package/dist/core/MessagingToneGate.js +15 -1
- package/dist/core/MessagingToneGate.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +61 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/SafeGitExecutor.d.ts.map +1 -1
- package/dist/core/SafeGitExecutor.js +79 -1
- package/dist/core/SafeGitExecutor.js.map +1 -1
- package/dist/core/SessionManager.d.ts.map +1 -1
- package/dist/core/SessionManager.js +22 -0
- package/dist/core/SessionManager.js.map +1 -1
- package/dist/core/TelegramRelay.d.ts +1 -0
- package/dist/core/TelegramRelay.d.ts.map +1 -1
- package/dist/core/TelegramRelay.js +9 -1
- package/dist/core/TelegramRelay.js.map +1 -1
- package/dist/core/componentCategories.d.ts.map +1 -1
- package/dist/core/componentCategories.js +10 -0
- package/dist/core/componentCategories.js.map +1 -1
- package/dist/core/intelligenceProviderFactory.d.ts +8 -0
- package/dist/core/intelligenceProviderFactory.d.ts.map +1 -1
- package/dist/core/intelligenceProviderFactory.js +1 -0
- package/dist/core/intelligenceProviderFactory.js.map +1 -1
- package/dist/core/raw-file-path.d.ts +33 -0
- package/dist/core/raw-file-path.d.ts.map +1 -0
- package/dist/core/raw-file-path.js +105 -0
- package/dist/core/raw-file-path.js.map +1 -0
- package/dist/core/types.d.ts +17 -9
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/messaging/OutboundAdvisory.d.ts +152 -0
- package/dist/messaging/OutboundAdvisory.d.ts.map +1 -0
- package/dist/messaging/OutboundAdvisory.js +453 -0
- package/dist/messaging/OutboundAdvisory.js.map +1 -0
- package/dist/messaging/TelegramAdapter.d.ts +6 -0
- package/dist/messaging/TelegramAdapter.d.ts.map +1 -1
- package/dist/messaging/TelegramAdapter.js +4 -1
- package/dist/messaging/TelegramAdapter.js.map +1 -1
- package/dist/messaging/pending-relay-store.d.ts +7 -0
- package/dist/messaging/pending-relay-store.d.ts.map +1 -1
- package/dist/messaging/pending-relay-store.js +9 -3
- package/dist/messaging/pending-relay-store.js.map +1 -1
- package/dist/messaging/slack/SlackAdapter.d.ts +3 -0
- package/dist/messaging/slack/SlackAdapter.d.ts.map +1 -1
- package/dist/messaging/slack/SlackAdapter.js +8 -1
- package/dist/messaging/slack/SlackAdapter.js.map +1 -1
- package/dist/monitoring/FeatureMetricsLedger.d.ts +123 -1
- package/dist/monitoring/FeatureMetricsLedger.d.ts.map +1 -1
- package/dist/monitoring/FeatureMetricsLedger.js +211 -25
- package/dist/monitoring/FeatureMetricsLedger.js.map +1 -1
- package/dist/monitoring/delivery-failure-sentinel.d.ts +6 -1
- package/dist/monitoring/delivery-failure-sentinel.d.ts.map +1 -1
- package/dist/monitoring/delivery-failure-sentinel.js +15 -3
- package/dist/monitoring/delivery-failure-sentinel.js.map +1 -1
- package/dist/providers/adapters/anthropic-interactive-pool/index.d.ts.map +1 -1
- package/dist/providers/adapters/anthropic-interactive-pool/index.js +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/index.js.map +1 -1
- package/dist/providers/adapters/openai-codex/transport/codexSpawn.d.ts +93 -0
- package/dist/providers/adapters/openai-codex/transport/codexSpawn.d.ts.map +1 -1
- package/dist/providers/adapters/openai-codex/transport/codexSpawn.js +339 -0
- package/dist/providers/adapters/openai-codex/transport/codexSpawn.js.map +1 -1
- package/dist/providers/adapters/openai-codex/transport/codexUsageParser.d.ts +84 -0
- package/dist/providers/adapters/openai-codex/transport/codexUsageParser.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/transport/codexUsageParser.js +208 -0
- package/dist/providers/adapters/openai-codex/transport/codexUsageParser.js.map +1 -0
- package/dist/providers/uxConfirm/OverrideDetector.d.ts.map +1 -1
- package/dist/providers/uxConfirm/OverrideDetector.js +1 -0
- package/dist/providers/uxConfirm/OverrideDetector.js.map +1 -1
- package/dist/providers/uxConfirm/TaskClassifier.d.ts.map +1 -1
- package/dist/providers/uxConfirm/TaskClassifier.js +1 -0
- package/dist/providers/uxConfirm/TaskClassifier.js.map +1 -1
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +10 -3
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/scheduler/JobScheduler.d.ts.map +1 -1
- package/dist/scheduler/JobScheduler.js +8 -0
- package/dist/scheduler/JobScheduler.js.map +1 -1
- package/dist/security/LLMSanitizer.d.ts.map +1 -1
- package/dist/security/LLMSanitizer.js +7 -1
- package/dist/security/LLMSanitizer.js.map +1 -1
- package/dist/server/AgentServer.d.ts +1 -0
- package/dist/server/AgentServer.d.ts.map +1 -1
- package/dist/server/AgentServer.js +22 -0
- package/dist/server/AgentServer.js.map +1 -1
- package/dist/server/CapabilityIndex.js +1 -1
- package/dist/server/CapabilityIndex.js.map +1 -1
- package/dist/server/routes.d.ts +12 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +226 -4
- package/dist/server/routes.js.map +1 -1
- package/dist/threadline/PipeSessionSpawner.d.ts.map +1 -1
- package/dist/threadline/PipeSessionSpawner.js +2 -0
- package/dist/threadline/PipeSessionSpawner.js.map +1 -1
- package/dist/threadline/WarrantsReplyGate.d.ts.map +1 -1
- package/dist/threadline/WarrantsReplyGate.js +5 -1
- package/dist/threadline/WarrantsReplyGate.js.map +1 -1
- package/package.json +4 -2
- package/scripts/lint-llm-attribution.js +418 -0
- package/scripts/lint-no-direct-destructive.js +4 -0
- package/scripts/pre-push-gate.js +24 -0
- package/src/data/builtin-manifest.json +67 -67
- package/src/scaffold/templates.ts +10 -3
- package/src/templates/scripts/telegram-reply.sh +202 -10
- package/upgrades/1.3.486.md +38 -0
- package/upgrades/1.3.487.md +39 -0
- package/upgrades/side-effects/outbound-advisory-inform-only.md +252 -0
- package/upgrades/side-effects/token-audit-completeness.md +84 -0
|
@@ -10,15 +10,28 @@
|
|
|
10
10
|
* implementation. Reviewers, sentinels, canaries, and JobReflector now
|
|
11
11
|
* have a non-Claude path. The composition root picks the right
|
|
12
12
|
* implementation based on the agent's configured framework.
|
|
13
|
+
*
|
|
14
|
+
* token-audit-completeness: by default calls run as `codex exec --json`
|
|
15
|
+
* (streaming event parse → per-call token usage via onUsage; result read
|
|
16
|
+
* ONLY from the --output-last-message file). The kill-switch
|
|
17
|
+
* `intelligence.codexExecJson: false` (or env `INSTAR_CODEX_EXEC_JSON=0`)
|
|
18
|
+
* restores the previous plain-output invocation byte-for-byte.
|
|
13
19
|
*/
|
|
14
20
|
import { execFile } from 'node:child_process';
|
|
15
|
-
import { mkdtempSync, existsSync } from 'node:fs';
|
|
21
|
+
import { mkdtempSync, existsSync, readFileSync, statSync } from 'node:fs';
|
|
16
22
|
import { tmpdir } from 'node:os';
|
|
17
23
|
import { join } from 'node:path';
|
|
18
24
|
import { resolveCliModelFlag } from '../providers/adapters/openai-codex/models.js';
|
|
19
|
-
import { buildCodexChildEnv } from '../providers/adapters/openai-codex/transport/codexSpawn.js';
|
|
25
|
+
import { buildCodexChildEnv, spawnCodexExecJson, createCodexOutDir, cleanupCodexOutDir, maybeSweepStaleCodexOutDirs, } from '../providers/adapters/openai-codex/transport/codexSpawn.js';
|
|
26
|
+
import { CodexUsageAccumulator } from '../providers/adapters/openai-codex/transport/codexUsageParser.js';
|
|
20
27
|
const DEFAULT_TIMEOUT_MS = 30_000;
|
|
21
28
|
const INTELLIGENCE_SCRATCH_DIR_PREFIX = 'instar-codex-intel-scratch-';
|
|
29
|
+
/**
|
|
30
|
+
* Fail-loudly ceiling for the --output-last-message file. The old execFile
|
|
31
|
+
* path had a 1 MB maxBuffer; with that gone, an unbounded read into a string
|
|
32
|
+
* is the replacement hazard — so the file is size-checked before read.
|
|
33
|
+
*/
|
|
34
|
+
const MAX_RESULT_FILE_BYTES = 16 * 1024 * 1024;
|
|
22
35
|
let cachedScratchDir = null;
|
|
23
36
|
/**
|
|
24
37
|
* Lazily create and return an EMPTY scratch directory used as the `--cd`
|
|
@@ -45,6 +58,11 @@ let cachedScratchDir = null;
|
|
|
45
58
|
* The dir is re-verified each call: a tmp-reaper may delete it during a
|
|
46
59
|
* long-lived process, so we recreate it if it has gone missing.
|
|
47
60
|
*
|
|
61
|
+
* NOTE: model output is NEVER written into or read from this dir — its
|
|
62
|
+
* `existsSync` reuse branch does not re-verify ownership/mode. The
|
|
63
|
+
* --output-last-message file lives in a fresh per-call dir instead
|
|
64
|
+
* (createCodexOutDir).
|
|
65
|
+
*
|
|
48
66
|
* Bug (2026-05-26): ~1,550 such judgment spawns/day were re-injecting the
|
|
49
67
|
* identity + firing session_start, causing notification spam and spawn-storm
|
|
50
68
|
* delivery failures. Spec: CODEX-INTELLIGENCE-PROVIDER-CLEAN-CALL-SPEC.md.
|
|
@@ -55,53 +73,210 @@ function resolveIntelligenceScratchDir() {
|
|
|
55
73
|
cachedScratchDir = mkdtempSync(join(tmpdir(), INTELLIGENCE_SCRATCH_DIR_PREFIX));
|
|
56
74
|
return cachedScratchDir;
|
|
57
75
|
}
|
|
76
|
+
/** Both recovery levers, named in every unknown-flag error (the kill-switch
|
|
77
|
+
* contract: a recovery instruction that is false on the path emitting it is
|
|
78
|
+
* a broken rollback contract). */
|
|
79
|
+
const EXEC_JSON_RECOVERY_LEVERS = 'If this codex CLI predates --json/--output-last-message (< 0.20), disable exec-json mode via ' +
|
|
80
|
+
'`intelligence.codexExecJson: false` in .instar/config.json or env INSTAR_CODEX_EXEC_JSON=0.';
|
|
81
|
+
function unknownFlagHint(stderrTail) {
|
|
82
|
+
return /unexpected argument|unrecognized option|unknown (option|flag)/i.test(stderrTail)
|
|
83
|
+
? ` ${EXEC_JSON_RECOVERY_LEVERS}`
|
|
84
|
+
: '';
|
|
85
|
+
}
|
|
86
|
+
/** Env-only default for exec-json mode (default ON). Used when no config
|
|
87
|
+
* closure was threaded (config-less construction sites keep a working
|
|
88
|
+
* rollback lever). */
|
|
89
|
+
function execJsonEnvDefault() {
|
|
90
|
+
return process.env.INSTAR_CODEX_EXEC_JSON !== '0';
|
|
91
|
+
}
|
|
92
|
+
let warnedConfigParseFailure = false;
|
|
93
|
+
/**
|
|
94
|
+
* Build the per-call kill-switch resolver for construction sites that have a
|
|
95
|
+
* project dir. Pinned closure body (spec): a TTL-cached (30 s) raw
|
|
96
|
+
* `readFileSync` + `JSON.parse` of `.instar/config.json` reading ONLY
|
|
97
|
+
* `intelligence.codexExecJson` — never `loadConfig()` (which drags a
|
|
98
|
+
* synchronous SecretStore keychain execFileSync onto every judgment call),
|
|
99
|
+
* and never a boot-time closure over the in-memory config object (no config
|
|
100
|
+
* hot-reload exists, so it would never see a disk flip).
|
|
101
|
+
*
|
|
102
|
+
* Resolution order: the config key wins when the file parses AND the key is
|
|
103
|
+
* present; otherwise — including parse/read failure — fall through to the
|
|
104
|
+
* env lever (itself default-on). An operator hand-editing config under
|
|
105
|
+
* pressure who leaves a JSON slip gets a once-per-process parse-failure
|
|
106
|
+
* warning and a still-working env lever, not a silently-ignored kill-switch.
|
|
107
|
+
* A config flip applies within 30 s, no restart.
|
|
108
|
+
*/
|
|
109
|
+
export function createCodexExecJsonConfigResolver(configPath = join(process.cwd(), '.instar', 'config.json'), ttlMs = 30_000) {
|
|
110
|
+
let cachedAt = 0;
|
|
111
|
+
let cached = null;
|
|
112
|
+
return () => {
|
|
113
|
+
const now = Date.now();
|
|
114
|
+
if (cached !== null && now - cachedAt < ttlMs)
|
|
115
|
+
return cached;
|
|
116
|
+
cachedAt = now;
|
|
117
|
+
let raw = null;
|
|
118
|
+
try {
|
|
119
|
+
raw = readFileSync(configPath, 'utf-8');
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
// @silent-fallback-ok: missing/unreadable config is NORMAL for
|
|
123
|
+
// config-less installs — resolution falls through to the env lever
|
|
124
|
+
// below, which is the designed default, not a degradation
|
|
125
|
+
raw = null;
|
|
126
|
+
}
|
|
127
|
+
if (raw !== null) {
|
|
128
|
+
try {
|
|
129
|
+
const parsed = JSON.parse(raw);
|
|
130
|
+
const v = parsed?.intelligence?.codexExecJson;
|
|
131
|
+
if (typeof v === 'boolean') {
|
|
132
|
+
cached = v;
|
|
133
|
+
return v;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
catch (err) {
|
|
137
|
+
// @silent-fallback-ok: NOT silent — warns once per process; an
|
|
138
|
+
// operator JSON slip keeps a working env lever instead of a
|
|
139
|
+
// silently-ignored kill-switch (the spec's pinned resolution order)
|
|
140
|
+
if (!warnedConfigParseFailure) {
|
|
141
|
+
warnedConfigParseFailure = true;
|
|
142
|
+
console.warn(`[CodexCliIntelligenceProvider] .instar/config.json failed to parse (${err.message}) — ` +
|
|
143
|
+
`intelligence.codexExecJson unavailable; falling back to env INSTAR_CODEX_EXEC_JSON`);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
cached = execJsonEnvDefault();
|
|
148
|
+
return cached;
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
// ── usage-parse drift tripwire ──────────────────────────────────────────────
|
|
152
|
+
//
|
|
153
|
+
// Emission is gated to ONCE PER PROCESS LIFETIME (module-level flag):
|
|
154
|
+
// DegradationReporter's legacy path files an external feedback report per
|
|
155
|
+
// event with no feedback-side cooldown, so an hourly emission would spam the
|
|
156
|
+
// maintainer webhook ~24×/day/machine forever (P17). Once-per-boot is
|
|
157
|
+
// sufficient: the durable, always-current surface is usageCoverage in
|
|
158
|
+
// /metrics/features, not the event. The feature string is a FIXED CONSTANT —
|
|
159
|
+
// it is the Telegram dedup key, and a fixed constant prevents the P17
|
|
160
|
+
// unique-source dodge.
|
|
161
|
+
const CODEX_USAGE_DRIFT_FEATURE = 'codex-usage-parse-drift';
|
|
162
|
+
let emittedUsageDrift = false;
|
|
163
|
+
function emitUsageDriftOnce(reasons) {
|
|
164
|
+
if (emittedUsageDrift)
|
|
165
|
+
return;
|
|
166
|
+
emittedUsageDrift = true;
|
|
167
|
+
// Lazy import keeps the provider constructible in contexts where the
|
|
168
|
+
// monitoring layer isn't initialized (CLI one-shots).
|
|
169
|
+
void import('../monitoring/DegradationReporter.js')
|
|
170
|
+
.then(({ DegradationReporter }) => {
|
|
171
|
+
DegradationReporter.getInstance().report({
|
|
172
|
+
feature: CODEX_USAGE_DRIFT_FEATURE,
|
|
173
|
+
primary: 'codex exec --json per-call token usage parsed into the feature metrics ledger',
|
|
174
|
+
fallback: 'call completed but token usage was not (fully) recorded',
|
|
175
|
+
reason: reasons.join(','),
|
|
176
|
+
impact: 'codex-routed calls may be token-blind in /metrics/features (usageCoverage shows the live ratio)',
|
|
177
|
+
});
|
|
178
|
+
})
|
|
179
|
+
.catch(() => {
|
|
180
|
+
/* @silent-fallback-ok: drift reporting must never break the judgment path */
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
/** Test-only seam. */
|
|
184
|
+
export function _resetUsageDriftEmissionForTest() {
|
|
185
|
+
emittedUsageDrift = false;
|
|
186
|
+
warnedConfigParseFailure = false;
|
|
187
|
+
}
|
|
58
188
|
export class CodexCliIntelligenceProvider {
|
|
59
189
|
codexPath;
|
|
60
190
|
sandboxMode;
|
|
191
|
+
resolveExecJson;
|
|
61
192
|
constructor(options) {
|
|
62
193
|
this.codexPath = options.codexPath;
|
|
63
194
|
this.sandboxMode = options.sandboxMode ?? 'read-only';
|
|
195
|
+
this.resolveExecJson = options.resolveExecJson ?? execJsonEnvDefault;
|
|
64
196
|
// options.workingDirectory is intentionally NOT stored: judgment calls
|
|
65
197
|
// always run in an empty scratch dir (resolveIntelligenceScratchDir), so
|
|
66
198
|
// the agent's project identity + hooks never load. The option is retained
|
|
67
199
|
// on the type for API compatibility (the factory still forwards it).
|
|
200
|
+
try {
|
|
201
|
+
if (!this.resolveExecJson()) {
|
|
202
|
+
console.warn('[CodexCliIntelligenceProvider] codex exec-json disabled — codex calls are token-blind ' +
|
|
203
|
+
'(usageCoverage for codex-cli will read 0)');
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
catch {
|
|
207
|
+
/* @silent-fallback-ok: a throwing resolver must never block construction; evaluate() re-reads per call */
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
/** Hygiene args shared by BOTH modes (clean-call spec; pinned by the
|
|
211
|
+
* both-modes unit test). */
|
|
212
|
+
hygieneArgs(model, scratchDir) {
|
|
213
|
+
return [
|
|
214
|
+
'--model',
|
|
215
|
+
model,
|
|
216
|
+
'--sandbox',
|
|
217
|
+
this.sandboxMode,
|
|
218
|
+
// Run judgment calls in an empty scratch dir, NOT the agent's project
|
|
219
|
+
// dir. The project dir loads the full ~26 KB AGENTS.md identity AND
|
|
220
|
+
// fires the project's .codex/hooks.json (session_start /
|
|
221
|
+
// user_prompt_submit / stop) on every call. The scratch dir is the
|
|
222
|
+
// Codex analog of ClaudeCliIntelligenceProvider's `--setting-sources
|
|
223
|
+
// user`. See resolveIntelligenceScratchDir + the spec.
|
|
224
|
+
'--cd',
|
|
225
|
+
scratchDir,
|
|
226
|
+
// Belt-and-suspenders: hard-disable project-doc (AGENTS.md) loading
|
|
227
|
+
// even if a stray doc ever lands at or above the scratch path.
|
|
228
|
+
'-c',
|
|
229
|
+
'project_doc_max_bytes=0',
|
|
230
|
+
// Reviewer/sentinel/canary calls are deterministic short prompts
|
|
231
|
+
// that don't depend on the cwd being a trusted git repo. Codex
|
|
232
|
+
// CLI's default behavior is to refuse to run when --cd points at
|
|
233
|
+
// a non-git directory (it surfaces as
|
|
234
|
+
// "Not inside a trusted directory and --skip-git-repo-check was not specified")
|
|
235
|
+
// which breaks every Codex-based agent whose state directory
|
|
236
|
+
// isn't a git checkout. Skip the check — these calls are bounded
|
|
237
|
+
// and never modify the cwd.
|
|
238
|
+
'--skip-git-repo-check',
|
|
239
|
+
];
|
|
68
240
|
}
|
|
69
241
|
async evaluate(prompt, options) {
|
|
70
242
|
const model = resolveCliModelFlag(options?.model);
|
|
71
243
|
// Observable Intelligence: surface the resolved provider/model up front so
|
|
72
|
-
// the metrics funnel attributes the call to codex
|
|
73
|
-
//
|
|
74
|
-
// switching to `exec --json` event-stream parsing — a separate change;
|
|
75
|
-
// account-level codex cost is observable via /codex/usage.)
|
|
244
|
+
// the metrics funnel attributes the call to codex on every path (including
|
|
245
|
+
// failures and the plain mode, which surfaces no token usage).
|
|
76
246
|
try {
|
|
77
247
|
options?.onModel?.({ model, framework: 'codex-cli' });
|
|
78
248
|
}
|
|
79
249
|
catch { /* @silent-fallback-ok: onModel is pure observability — a throw must never break the LLM path */ }
|
|
250
|
+
let execJson;
|
|
251
|
+
try {
|
|
252
|
+
execJson = this.resolveExecJson();
|
|
253
|
+
}
|
|
254
|
+
catch {
|
|
255
|
+
execJson = execJsonEnvDefault(); // a throwing resolver must not take the call down
|
|
256
|
+
}
|
|
257
|
+
if (execJson) {
|
|
258
|
+
return this.evaluateExecJson(prompt, options, model);
|
|
259
|
+
}
|
|
260
|
+
return this.evaluatePlain(prompt, options, model);
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Kill-switch path — the pre-exec-json invocation, byte-for-byte (result
|
|
264
|
+
* semantics included: stdout.trim(), empty answer resolves '').
|
|
265
|
+
*
|
|
266
|
+
* SECURITY NOTE (disclosed tradeoff, not a regression): this legacy path
|
|
267
|
+
* passes the prompt as a positional argv element (ps-visible to local
|
|
268
|
+
* users) and execFile's error.message embeds the full command line —
|
|
269
|
+
* including the prompt — into thrown Errors. The exec-json path fixes
|
|
270
|
+
* both (prompt via stdin; errors carry only a bounded stderr tail).
|
|
271
|
+
* Flipping the kill-switch therefore re-opens this pre-existing
|
|
272
|
+
* prompt-disclosure channel in addition to going token-blind.
|
|
273
|
+
*/
|
|
274
|
+
evaluatePlain(prompt, options, model) {
|
|
80
275
|
const scratchDir = resolveIntelligenceScratchDir();
|
|
81
276
|
return new Promise((resolve, reject) => {
|
|
82
277
|
const args = [
|
|
83
278
|
'exec',
|
|
84
|
-
|
|
85
|
-
'--sandbox', this.sandboxMode,
|
|
86
|
-
// Run judgment calls in an empty scratch dir, NOT the agent's project
|
|
87
|
-
// dir. The project dir loads the full ~26 KB AGENTS.md identity AND
|
|
88
|
-
// fires the project's .codex/hooks.json (session_start /
|
|
89
|
-
// user_prompt_submit / stop) on every call. The scratch dir is the
|
|
90
|
-
// Codex analog of ClaudeCliIntelligenceProvider's `--setting-sources
|
|
91
|
-
// user`. See resolveIntelligenceScratchDir + the spec.
|
|
92
|
-
'--cd', scratchDir,
|
|
93
|
-
// Belt-and-suspenders: hard-disable project-doc (AGENTS.md) loading
|
|
94
|
-
// even if a stray doc ever lands at or above the scratch path.
|
|
95
|
-
'-c', 'project_doc_max_bytes=0',
|
|
96
|
-
// Reviewer/sentinel/canary calls are deterministic short prompts
|
|
97
|
-
// that don't depend on the cwd being a trusted git repo. Codex
|
|
98
|
-
// CLI's default behavior is to refuse to run when --cd points at
|
|
99
|
-
// a non-git directory (it surfaces as
|
|
100
|
-
// "Not inside a trusted directory and --skip-git-repo-check was not specified")
|
|
101
|
-
// which breaks every Codex-based agent whose state directory
|
|
102
|
-
// isn't a git checkout. Skip the check — these calls are bounded
|
|
103
|
-
// and never modify the cwd.
|
|
104
|
-
'--skip-git-repo-check',
|
|
279
|
+
...this.hygieneArgs(model, scratchDir),
|
|
105
280
|
// Pass the prompt as a positional arg. Codex CLI reads stdin
|
|
106
281
|
// for very long prompts but the positional path is fine for the
|
|
107
282
|
// narrow prompts reviewers/sentinels send (a few hundred tokens
|
|
@@ -142,5 +317,96 @@ export class CodexCliIntelligenceProvider {
|
|
|
142
317
|
child.stdin?.end();
|
|
143
318
|
});
|
|
144
319
|
}
|
|
320
|
+
/**
|
|
321
|
+
* Default path — `codex exec --json` with streaming usage parse. The
|
|
322
|
+
* result is read from the --output-last-message file, AND ONLY from there
|
|
323
|
+
* (stdout events never become the result: injection surface; Signal vs
|
|
324
|
+
* Authority — events are observability signal, the file is the authority).
|
|
325
|
+
*/
|
|
326
|
+
async evaluateExecJson(prompt, options, model) {
|
|
327
|
+
const scratchDir = resolveIntelligenceScratchDir();
|
|
328
|
+
const outDir = createCodexOutDir();
|
|
329
|
+
// Pinned ABSOLUTE: a relative path would resolve against --cd — i.e.
|
|
330
|
+
// into the long-lived cached scratch dir, which must never hold model
|
|
331
|
+
// output. createCodexOutDir returns an absolute mkdtemp path.
|
|
332
|
+
const outFile = join(outDir, 'last-message.txt');
|
|
333
|
+
const acc = new CodexUsageAccumulator();
|
|
334
|
+
let exitedZero = false;
|
|
335
|
+
try {
|
|
336
|
+
const args = [
|
|
337
|
+
'exec',
|
|
338
|
+
'--json',
|
|
339
|
+
'--output-last-message',
|
|
340
|
+
outFile,
|
|
341
|
+
...this.hygieneArgs(model, scratchDir),
|
|
342
|
+
// The prompt moves OFF argv in --json mode (argv is world-readable
|
|
343
|
+
// via `ps`; macOS ARG_MAX ~1 MB would hard-fail large prompts). The
|
|
344
|
+
// positional becomes `-` and the prompt is written to stdin.
|
|
345
|
+
'-',
|
|
346
|
+
];
|
|
347
|
+
const result = await spawnCodexExecJson(this.codexPath, args, {
|
|
348
|
+
timeoutMs: options?.timeoutMs ?? DEFAULT_TIMEOUT_MS,
|
|
349
|
+
env: buildCodexChildEnv(), // Spec 12 Rule 1a — both modes
|
|
350
|
+
prompt,
|
|
351
|
+
onLine: (line) => acc.feedLine(line),
|
|
352
|
+
onOversizedLine: () => acc.noteOversizedDiscard(),
|
|
353
|
+
});
|
|
354
|
+
if (result.exitCode === 0)
|
|
355
|
+
exitedZero = true;
|
|
356
|
+
if (result.exitCode !== 0) {
|
|
357
|
+
// Bounded stderr tail only — JSONL payloads are never concatenated
|
|
358
|
+
// wholesale into thrown Errors.
|
|
359
|
+
throw new Error(`Codex CLI error (exec --json, exit ${result.exitCode})` +
|
|
360
|
+
(result.stderrTail ? ` — ${result.stderrTail}` : '') +
|
|
361
|
+
unknownFlagHint(result.stderrTail));
|
|
362
|
+
}
|
|
363
|
+
// Result extraction — file only. Missing file after exit 0 rejects:
|
|
364
|
+
// resolving '' would silently mask --output-last-message argument rot,
|
|
365
|
+
// the worse failure (documented asymmetry vs plain mode's empty '').
|
|
366
|
+
let size;
|
|
367
|
+
try {
|
|
368
|
+
size = statSync(outFile).size;
|
|
369
|
+
}
|
|
370
|
+
catch {
|
|
371
|
+
throw new Error('Codex CLI error: --output-last-message file missing after exit 0 ' +
|
|
372
|
+
'(possible argument rot in the codex CLI).' +
|
|
373
|
+
` ${EXEC_JSON_RECOVERY_LEVERS}`);
|
|
374
|
+
}
|
|
375
|
+
if (size > MAX_RESULT_FILE_BYTES) {
|
|
376
|
+
throw new Error(`Codex CLI error: result file is ${size} bytes (cap ${MAX_RESULT_FILE_BYTES}) — refusing unbounded read`);
|
|
377
|
+
}
|
|
378
|
+
// Empty-after-trim with exit 0 resolves '' (mode-equivalent with plain).
|
|
379
|
+
return readFileSync(outFile, 'utf-8').trim();
|
|
380
|
+
}
|
|
381
|
+
finally {
|
|
382
|
+
// Usage accounting runs BEFORE evaluate()'s promise settles (async
|
|
383
|
+
// finally semantics), so the funnel's error row carries already-burned
|
|
384
|
+
// tokens even on timeout/reject. onUsage fires exactly once whenever
|
|
385
|
+
// usage was parsed — independent of whether the call succeeded.
|
|
386
|
+
try {
|
|
387
|
+
const { usage, driftReasons } = acc.finalize({ success: exitedZero });
|
|
388
|
+
if (usage) {
|
|
389
|
+
try {
|
|
390
|
+
options?.onUsage?.({
|
|
391
|
+
inputTokens: usage.inputTokens,
|
|
392
|
+
outputTokens: usage.outputTokens,
|
|
393
|
+
cachedTokens: usage.cachedTokens,
|
|
394
|
+
});
|
|
395
|
+
}
|
|
396
|
+
catch {
|
|
397
|
+
/* @silent-fallback-ok: onUsage is pure observability */
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
if (driftReasons.length > 0)
|
|
401
|
+
emitUsageDriftOnce(driftReasons);
|
|
402
|
+
}
|
|
403
|
+
finally {
|
|
404
|
+
// finally-cleanup covers ALL outcomes; the bounded stale sweep is the
|
|
405
|
+
// crashed-process backstop. Fire-and-forget — never awaited.
|
|
406
|
+
cleanupCodexOutDir(outDir);
|
|
407
|
+
maybeSweepStaleCodexOutDirs();
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
}
|
|
145
411
|
}
|
|
146
412
|
//# sourceMappingURL=CodexCliIntelligenceProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodexCliIntelligenceProvider.js","sourceRoot":"","sources":["../../src/core/CodexCliIntelligenceProvider.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"CodexCliIntelligenceProvider.js","sourceRoot":"","sources":["../../src/core/CodexCliIntelligenceProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,14 @@
|
|
|
20
20
|
* and the env allowlist + billing-var hard-delete live in
|
|
21
21
|
* providers/adapters/gemini-cli/transport/geminiSpawn.ts, imported here so
|
|
22
22
|
* the alive path and the registry adapter can never diverge on safety.
|
|
23
|
+
*
|
|
24
|
+
* CANNOT-SURFACE-USAGE (token-audit-completeness, documented exemption):
|
|
25
|
+
* this provider NEVER invokes options.onUsage — the gemini CLI's one-shot
|
|
26
|
+
* plain-text output carries no per-call token usage block, so there is
|
|
27
|
+
* nothing to parse. gemini-cli is therefore an `exempt: true` row in
|
|
28
|
+
* /metrics/features usageCoverage. If a future gemini CLI gains a usage
|
|
29
|
+
* surface, remove the exemption in FeatureMetricsLedger.USAGE_EXEMPT_FRAMEWORKS
|
|
30
|
+
* and wire the parse — the provider usage-contract test pins this contract.
|
|
23
31
|
*/
|
|
24
32
|
import type { IntelligenceProvider, IntelligenceOptions } from './types.js';
|
|
25
33
|
import { type GeminiCapacityPolicyConfig } from '../providers/adapters/gemini-cli/observability/geminiCapacityPolicy.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeminiCliIntelligenceProvider.d.ts","sourceRoot":"","sources":["../../src/core/GeminiCliIntelligenceProvider.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"GeminiCliIntelligenceProvider.d.ts","sourceRoot":"","sources":["../../src/core/GeminiCliIntelligenceProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAO5E,OAAO,EAIL,KAAK,0BAA0B,EAChC,MAAM,wEAAwE,CAAC;AAKhF,MAAM,WAAW,oCAAoC;IACnD,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,0BAA0B,CAAC;CAC7C;AAED,qBAAa,6BAA8B,YAAW,oBAAoB;IACxE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyC;gBAE5D,OAAO,EAAE,oCAAoC;IAQnD,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;CAsE/E"}
|
|
@@ -20,6 +20,14 @@
|
|
|
20
20
|
* and the env allowlist + billing-var hard-delete live in
|
|
21
21
|
* providers/adapters/gemini-cli/transport/geminiSpawn.ts, imported here so
|
|
22
22
|
* the alive path and the registry adapter can never diverge on safety.
|
|
23
|
+
*
|
|
24
|
+
* CANNOT-SURFACE-USAGE (token-audit-completeness, documented exemption):
|
|
25
|
+
* this provider NEVER invokes options.onUsage — the gemini CLI's one-shot
|
|
26
|
+
* plain-text output carries no per-call token usage block, so there is
|
|
27
|
+
* nothing to parse. gemini-cli is therefore an `exempt: true` row in
|
|
28
|
+
* /metrics/features usageCoverage. If a future gemini CLI gains a usage
|
|
29
|
+
* surface, remove the exemption in FeatureMetricsLedger.USAGE_EXEMPT_FRAMEWORKS
|
|
30
|
+
* and wire the parse — the provider usage-contract test pins this contract.
|
|
23
31
|
*/
|
|
24
32
|
import { resolveCliModelFlag } from '../providers/adapters/gemini-cli/models.js';
|
|
25
33
|
import { buildGeminiChildEnv, buildGeminiOneShotArgv, spawnGeminiAndWait, } from '../providers/adapters/gemini-cli/transport/geminiSpawn.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeminiCliIntelligenceProvider.js","sourceRoot":"","sources":["../../src/core/GeminiCliIntelligenceProvider.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"GeminiCliIntelligenceProvider.js","sourceRoot":"","sources":["../../src/core/GeminiCliIntelligenceProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,6 +61,13 @@ export interface ToneReviewContextMessage {
|
|
|
61
61
|
*
|
|
62
62
|
* See docs/signal-vs-authority.md for the principle.
|
|
63
63
|
*/
|
|
64
|
+
/**
|
|
65
|
+
* What kind of message is this? Single-sourced union — widened with
|
|
66
|
+
* 'automated' (background-job / scheduled-task sends, stamped structurally
|
|
67
|
+
* by the scheduler env, never declared by the model). Spec:
|
|
68
|
+
* docs/specs/outbound-jargon-filepath-gap.md §2.1.
|
|
69
|
+
*/
|
|
70
|
+
export type MessageKind = 'reply' | 'health-alert' | 'unknown' | 'automated';
|
|
64
71
|
export interface ToneReviewSignals {
|
|
65
72
|
/** Junk-payload detector: does the candidate look like a debug/sanity-check token? */
|
|
66
73
|
junk?: {
|
|
@@ -150,6 +157,19 @@ export interface ToneReviewSignals {
|
|
|
150
157
|
/** Number of attempts made (0 if attempted=false). */
|
|
151
158
|
attempts: number;
|
|
152
159
|
};
|
|
160
|
+
/**
|
|
161
|
+
* Raw-file-path detector signal (see src/core/raw-file-path.ts).
|
|
162
|
+
*
|
|
163
|
+
* SIGNAL ONLY. Anchors the existing B2_FILE_PATH judgment with the exact
|
|
164
|
+
* deterministic match — a legitimate "I edited src/foo.ts" stays the
|
|
165
|
+
* authority's call. No new rule, no floor. Spec:
|
|
166
|
+
* docs/specs/outbound-jargon-filepath-gap.md §2.3.
|
|
167
|
+
*/
|
|
168
|
+
filePath?: {
|
|
169
|
+
detected: boolean;
|
|
170
|
+
/** First offending path, bounded to 120 chars by the detector. */
|
|
171
|
+
match?: string;
|
|
172
|
+
};
|
|
153
173
|
}
|
|
154
174
|
export interface ToneReviewContext {
|
|
155
175
|
channel: string;
|
|
@@ -168,9 +188,10 @@ export interface ToneReviewContext {
|
|
|
168
188
|
/**
|
|
169
189
|
* What kind of message is this? Health-alert-specific rules (B12, B13, B14)
|
|
170
190
|
* only apply when this is 'health-alert'. Default is 'reply' — the
|
|
171
|
-
* standard agent-to-user reply path.
|
|
191
|
+
* standard agent-to-user reply path. 'automated' marks background-job /
|
|
192
|
+
* scheduled-task sends (stamped by the scheduler env, not the model).
|
|
172
193
|
*/
|
|
173
|
-
messageKind?:
|
|
194
|
+
messageKind?: MessageKind;
|
|
174
195
|
}
|
|
175
196
|
export declare class MessagingToneGate {
|
|
176
197
|
private provider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessagingToneGate.d.ts","sourceRoot":"","sources":["../../src/core/MessagingToneGate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AASvD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uFAAuF;IACvF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAsBD,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,iBAAiB;IAChC,sFAAsF;IACtF,IAAI,CAAC,EAAE;QACL,QAAQ,EAAE,OAAO,CAAC;QAClB,gFAAgF;QAChF,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,6FAA6F;IAC7F,SAAS,CAAC,EAAE;QACV,QAAQ,EAAE,OAAO,CAAC;QAClB,mIAAmI;QACnI,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,uFAAuF;QACvF,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE;QACX,QAAQ,EAAE,OAAO,CAAC;QAClB,oEAAoE;QACpE,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,sCAAsC;QACtC,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,yEAAyE;QACzE,YAAY,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/C,CAAC;IACF;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE;QACP,QAAQ,EAAE,OAAO,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE;QACT,8EAA8E;QAC9E,IAAI,EAAE,OAAO,CAAC;QACd,mCAAmC;QACnC,IAAI,CAAC,EAAE,qBAAqB,GAAG,qBAAqB,GAAG,mBAAmB,CAAC;QAC3E,oEAAoE;QACpE,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,+EAA+E;QAC/E,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE;QACT,+CAA+C;QAC/C,SAAS,EAAE,OAAO,CAAC;QACnB,mEAAmE;QACnE,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;QAC1B,sDAAsD;QACtD,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,cAAc,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC5C,yEAAyE;IACzE,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB
|
|
1
|
+
{"version":3,"file":"MessagingToneGate.d.ts","sourceRoot":"","sources":["../../src/core/MessagingToneGate.ts"],"names":[],"mappings":"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"}
|
|
@@ -282,10 +282,18 @@ ${JSON.stringify(text)}
|
|
|
282
282
|
}
|
|
283
283
|
renderMessageKind(messageKind) {
|
|
284
284
|
const kind = messageKind ?? 'reply';
|
|
285
|
+
if (kind === 'automated') {
|
|
286
|
+
// Describe the kind to the authority — accurate context for the judgment
|
|
287
|
+
// power it ALREADY has. Deliberately no new rule and no health-alert rule
|
|
288
|
+
// re-scoping (B12 stays health-alert-only): the operator constraint for
|
|
289
|
+
// automated sends is inform-the-sender, never new blocking power.
|
|
290
|
+
return (`\n=== MESSAGE KIND ===\nautomated\n` +
|
|
291
|
+
`(This message was composed by a background job / scheduled task, not by the agent in live conversation — the kind was stamped structurally by the scheduler, not declared by the model. The standard reply rules B1–B9 apply as usual. Health-alert rules B12–B14 do NOT apply. Jargon and raw-file-path signals, when present, are context for the rules you already have — not new rules.)\n`);
|
|
292
|
+
}
|
|
285
293
|
return `\n=== MESSAGE KIND ===\n${kind}\n`;
|
|
286
294
|
}
|
|
287
295
|
renderSignals(signals) {
|
|
288
|
-
if (!signals || (!signals.junk && !signals.duplicate && !signals.paraphrase && !signals.jargon && !signals.selfHeal && !signals.arcCheck)) {
|
|
296
|
+
if (!signals || (!signals.junk && !signals.duplicate && !signals.paraphrase && !signals.jargon && !signals.selfHeal && !signals.arcCheck && !signals.filePath)) {
|
|
289
297
|
return '\n=== UPSTREAM SIGNALS ===\n(no signals reported)\n';
|
|
290
298
|
}
|
|
291
299
|
const lines = ['', '=== UPSTREAM SIGNALS ==='];
|
|
@@ -317,6 +325,12 @@ ${JSON.stringify(text)}
|
|
|
317
325
|
if (signals.selfHeal) {
|
|
318
326
|
lines.push(`- self-heal: attempted=${signals.selfHeal.attempted} succeeded=${signals.selfHeal.succeeded ?? 'n/a'} attempts=${signals.selfHeal.attempts}`);
|
|
319
327
|
}
|
|
328
|
+
if (signals.filePath) {
|
|
329
|
+
// Raw-file-path detector is SIGNAL ONLY — it anchors the existing
|
|
330
|
+
// B2_FILE_PATH judgment with the exact deterministic match. The match
|
|
331
|
+
// is rendered as an inert quoted token, never instruction-shaped prose.
|
|
332
|
+
lines.push(`- raw-file-path detector (signal-only, anchors B2_FILE_PATH): detected=${signals.filePath.detected}${signals.filePath.match ? ` detected path: ${JSON.stringify(signals.filePath.match.slice(0, 120))}` : ''}`);
|
|
333
|
+
}
|
|
320
334
|
if (signals.arcCheck && signals.arcCheck.fire) {
|
|
321
335
|
// ArcCheck is SIGNAL ONLY. The gate may fold the rewrite hint into its
|
|
322
336
|
// rewrite plan via the suggestion field, but never blocks on this alone.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessagingToneGate.js","sourceRoot":"","sources":["../../src/core/MessagingToneGate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,MAAM,MAAM,aAAa,CAAC;AAGjC;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,OAAO,CAAC;AA+BnC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,gBAAgB;IAChB,cAAc;IACd,eAAe;IACf,oBAAoB;IACpB,iBAAiB;IACjB,YAAY;IACZ,iBAAiB;IACjB,yBAAyB;IACzB,2BAA2B;IAC3B,oBAAoB;IACpB,4BAA4B;IAC5B,qCAAqC;IACrC,yBAAyB;IACzB,wBAAwB;IACxB,qBAAqB;IACrB,mBAAmB;IACnB,mBAAmB;CACpB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"MessagingToneGate.js","sourceRoot":"","sources":["../../src/core/MessagingToneGate.ts"],"names":[],"mappings":"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"}
|
|
@@ -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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"}
|