instar 1.3.289 → 1.3.291
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 +2 -0
- package/dist/commands/server.js.map +1 -1
- package/dist/monitoring/PromptGate.d.ts +9 -0
- package/dist/monitoring/PromptGate.d.ts.map +1 -1
- package/dist/monitoring/PromptGate.js +29 -0
- package/dist/monitoring/PromptGate.js.map +1 -1
- package/package.json +1 -1
- package/scripts/instar-dev-precommit.js +31 -10
- package/src/data/builtin-manifest.json +2 -2
- package/upgrades/1.3.290.md +21 -0
- package/upgrades/1.3.291.md +26 -0
- package/upgrades/decisions-per-entry.eli16.md +5 -0
- package/upgrades/side-effects/decisions-per-entry.md +44 -0
- package/upgrades/side-effects/promptgate-auto-dismiss-memory.md +91 -0
|
@@ -57,8 +57,10 @@ export declare function stripAnsi(text: string): string;
|
|
|
57
57
|
export declare class InputDetector extends EventEmitter {
|
|
58
58
|
private config;
|
|
59
59
|
private lastOutput;
|
|
60
|
+
private lastContentFingerprint;
|
|
60
61
|
private stableCount;
|
|
61
62
|
private emittedPrompts;
|
|
63
|
+
private autoDismissedPrompts;
|
|
62
64
|
/** Post-emission cooldown: session → timestamp of last emission */
|
|
63
65
|
private lastEmissionTime;
|
|
64
66
|
private static readonly COOLDOWN_MS;
|
|
@@ -117,6 +119,13 @@ export declare class InputDetector extends EventEmitter {
|
|
|
117
119
|
* provided by stableCount + post-emission cooldown.
|
|
118
120
|
*/
|
|
119
121
|
onInputSent(sessionName: string): void;
|
|
122
|
+
/**
|
|
123
|
+
* Called after a deterministic auto-dismiss key is successfully sent.
|
|
124
|
+
* Unlike normal prompt dedup, this memory survives onInputSent(): some
|
|
125
|
+
* terminal panes keep the dismissed prompt text visible until new output
|
|
126
|
+
* arrives, and re-clearing normal dedup would otherwise re-fire every tick.
|
|
127
|
+
*/
|
|
128
|
+
onAutoDismissSent(prompt: DetectedPrompt): void;
|
|
120
129
|
/**
|
|
121
130
|
* Mark a prompt as rejected (user cancelled). Prevents re-fire for 60s.
|
|
122
131
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromptGate.d.ts","sourceRoot":"","sources":["../../src/monitoring/PromptGate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAM3C,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,cAAc,CAAC;AAE3F,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC;IACxD,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,sDAAsD;IACtD,oBAAoB,EAAE,MAAM,CAAC;IAC7B,+BAA+B;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,0FAA0F;IAC1F,YAAY,CAAC,EAAE,OAAO,kBAAkB,EAAE,oBAAoB,CAAC;CAChE;AAID;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAY9C;AA4UD,qBAAa,aAAc,SAAQ,YAAY;
|
|
1
|
+
{"version":3,"file":"PromptGate.d.ts","sourceRoot":"","sources":["../../src/monitoring/PromptGate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAM3C,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,cAAc,CAAC;AAE3F,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC;IACxD,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,sDAAsD;IACtD,oBAAoB,EAAE,MAAM,CAAC;IAC7B,+BAA+B;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,0FAA0F;IAC1F,YAAY,CAAC,EAAE,OAAO,kBAAkB,EAAE,oBAAoB,CAAC;CAChE;AAID;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAY9C;AA4UD,qBAAa,aAAc,SAAQ,YAAY;IAyCjC,OAAO,CAAC,MAAM;IAxC1B,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,sBAAsB,CAA6B;IAC3D,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,oBAAoB,CAAkC;IAE9D,mEAAmE;IACnE,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAQ;IAE3C,8DAA8D;IAC9D,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAU;IAErD,2DAA2D;IAC3D,OAAO,CAAC,mBAAmB,CAAqB;IAEhD;;;;;;;;;;OAUG;IACH,OAAO,CAAC,aAAa,CAA4D;IACjF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAM;IAEjD;;;;;;OAMG;IACH,OAAO,CAAC,eAAe,CAA6B;gBAEhC,MAAM,EAAE,mBAAmB;IAI/C;;;OAGG;IACH,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAiExE;;OAEG;IACH,OAAO,CAAC,SAAS;IAwCjB;;;;OAIG;IACH,sFAAsF;IACtF,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAW;YAE1C,SAAS;IAkIvB;;;;;;;;OAQG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAWtC;;;;;OAKG;IACH,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAU/C;;OAEG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI;IAKhF;;OAEG;IACH,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAiBlC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,cAAc;IAkBtB;;OAEG;IACH,aAAa,IAAI,IAAI;IASrB,OAAO,CAAC,WAAW;CAOpB"}
|
|
@@ -324,8 +324,10 @@ const PROMPT_PATTERNS = [
|
|
|
324
324
|
export class InputDetector extends EventEmitter {
|
|
325
325
|
config;
|
|
326
326
|
lastOutput = new Map();
|
|
327
|
+
lastContentFingerprint = new Map();
|
|
327
328
|
stableCount = new Map();
|
|
328
329
|
emittedPrompts = new Map();
|
|
330
|
+
autoDismissedPrompts = new Map();
|
|
329
331
|
/** Post-emission cooldown: session → timestamp of last emission */
|
|
330
332
|
lastEmissionTime = new Map();
|
|
331
333
|
static COOLDOWN_MS = 5000;
|
|
@@ -374,6 +376,12 @@ export class InputDetector extends EventEmitter {
|
|
|
374
376
|
const allLines = trimTrailingBlankRows(stripped.split('\n'));
|
|
375
377
|
const lines = allLines.slice(-this.config.detectionWindowLines);
|
|
376
378
|
const tailText = lines.join('\n');
|
|
379
|
+
const contentFingerprint = createHash('sha256').update(tailText).digest('hex');
|
|
380
|
+
const previousContentFingerprint = this.lastContentFingerprint.get(sessionName);
|
|
381
|
+
if (previousContentFingerprint && previousContentFingerprint !== contentFingerprint) {
|
|
382
|
+
this.autoDismissedPrompts.delete(sessionName);
|
|
383
|
+
}
|
|
384
|
+
this.lastContentFingerprint.set(sessionName, contentFingerprint);
|
|
377
385
|
// --- Debounce: require 2 consecutive identical captures (quiescence) ---
|
|
378
386
|
// First capture sets the baseline. Second identical capture confirms stability.
|
|
379
387
|
const prev = this.lastOutput.get(sessionName);
|
|
@@ -423,6 +431,9 @@ export class InputDetector extends EventEmitter {
|
|
|
423
431
|
*/
|
|
424
432
|
emitIfNew(sessionName, match, tailLines) {
|
|
425
433
|
const fingerprint = this.fingerprint(sessionName, match.type, tailLines.join('\n'));
|
|
434
|
+
if (match.autoDismissKey && this.autoDismissedPrompts.get(sessionName)?.has(fingerprint)) {
|
|
435
|
+
return null;
|
|
436
|
+
}
|
|
426
437
|
// Check rejected cooling
|
|
427
438
|
const rejectedExpiry = this.rejectedFingerprints.get(fingerprint);
|
|
428
439
|
if (rejectedExpiry && Date.now() < rejectedExpiry)
|
|
@@ -606,6 +617,22 @@ When in doubt, respond NO_PROMPT. False positives cause spam.`;
|
|
|
606
617
|
// Bump generation so any mid-flight llmDetect drops its NO_PROMPT write.
|
|
607
618
|
this.cacheGeneration.set(sessionName, (this.cacheGeneration.get(sessionName) ?? 0) + 1);
|
|
608
619
|
}
|
|
620
|
+
/**
|
|
621
|
+
* Called after a deterministic auto-dismiss key is successfully sent.
|
|
622
|
+
* Unlike normal prompt dedup, this memory survives onInputSent(): some
|
|
623
|
+
* terminal panes keep the dismissed prompt text visible until new output
|
|
624
|
+
* arrives, and re-clearing normal dedup would otherwise re-fire every tick.
|
|
625
|
+
*/
|
|
626
|
+
onAutoDismissSent(prompt) {
|
|
627
|
+
if (!prompt.autoDismissKey)
|
|
628
|
+
return;
|
|
629
|
+
let prompts = this.autoDismissedPrompts.get(prompt.sessionName);
|
|
630
|
+
if (!prompts) {
|
|
631
|
+
prompts = new Set();
|
|
632
|
+
this.autoDismissedPrompts.set(prompt.sessionName, prompts);
|
|
633
|
+
}
|
|
634
|
+
prompts.add(this.fingerprint(prompt.sessionName, prompt.type, prompt.raw));
|
|
635
|
+
}
|
|
609
636
|
/**
|
|
610
637
|
* Mark a prompt as rejected (user cancelled). Prevents re-fire for 60s.
|
|
611
638
|
*/
|
|
@@ -618,8 +645,10 @@ When in doubt, respond NO_PROMPT. False positives cause spam.`;
|
|
|
618
645
|
*/
|
|
619
646
|
cleanup(sessionName) {
|
|
620
647
|
this.lastOutput.delete(sessionName);
|
|
648
|
+
this.lastContentFingerprint.delete(sessionName);
|
|
621
649
|
this.stableCount.delete(sessionName);
|
|
622
650
|
this.emittedPrompts.delete(sessionName);
|
|
651
|
+
this.autoDismissedPrompts.delete(sessionName);
|
|
623
652
|
this.lastEmissionTime.delete(sessionName);
|
|
624
653
|
this.llmRelayTimestamps.delete(sessionName);
|
|
625
654
|
this.pendingLlmDetection.delete(sessionName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromptGate.js","sourceRoot":"","sources":["../../src/monitoring/PromptGate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PromptGate.js","sourceRoot":"","sources":["../../src/monitoring/PromptGate.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -36,7 +36,15 @@ const __filename = fileURLToPath(import.meta.url);
|
|
|
36
36
|
const __dirname = path.dirname(__filename);
|
|
37
37
|
const ROOT = path.resolve(__dirname, '..');
|
|
38
38
|
const TRACES_DIR = path.join(ROOT, '.instar', 'instar-dev-traces');
|
|
39
|
-
|
|
39
|
+
// Legacy single-file audit log (frozen 2026-06-05 — read-only history).
|
|
40
|
+
// Every gated commit used to APPEND one line here; because the line rides the
|
|
41
|
+
// commit (the task-#62 fix), any two PRs in flight both modified this file's
|
|
42
|
+
// tail and conflicted at the merge point — a structural conflict generator at
|
|
43
|
+
// parallel-PR cadence (live hit: PR #824 went CI-green then failed merge on
|
|
44
|
+
// exactly this file). New entries are one-file-per-decision under
|
|
45
|
+
// DECISIONS_DIR instead: distinct filenames can never conflict.
|
|
46
|
+
// (The frozen legacy file remains at .instar/instar-dev-decisions.jsonl.)
|
|
47
|
+
const DECISIONS_DIR = path.join(ROOT, '.instar', 'instar-dev-decisions');
|
|
40
48
|
const WINDOW_MS = 60 * 60 * 1000; // 60 minutes
|
|
41
49
|
const MIN_ARTIFACT_CHARS = 200;
|
|
42
50
|
|
|
@@ -257,7 +265,7 @@ const decision = decideRequirementSet(declaredTier);
|
|
|
257
265
|
// belowFloor = the agent declared UNDER the risk-signaled floor. We never
|
|
258
266
|
// block on it (the mind holds authority) — the record is the backstop.
|
|
259
267
|
const belowFloor = declaredTier != null && declaredTier < tierSignal.riskFloor;
|
|
260
|
-
writeDecisionAudit({
|
|
268
|
+
const decisionEntryPath = writeDecisionAudit({
|
|
261
269
|
slug,
|
|
262
270
|
suggestedTier: tierSignal.suggestedTier,
|
|
263
271
|
declaredTier,
|
|
@@ -276,7 +284,7 @@ if (belowFloor) {
|
|
|
276
284
|
console.error(` declared Tier ${declaredTier} < risk floor ${tierSignal.riskFloor}. Risk signals:`);
|
|
277
285
|
for (const r of tierSignal.reasons) console.error(` • ${r}`);
|
|
278
286
|
if (tierReasoning) console.error(` Your tierReasoning: ${tierReasoning}`);
|
|
279
|
-
console.error(` Recorded to ${path.relative(ROOT,
|
|
287
|
+
console.error(` Recorded to ${path.relative(ROOT, decisionEntryPath ?? DECISIONS_DIR)} (belowFloor:true).`);
|
|
280
288
|
console.error('');
|
|
281
289
|
}
|
|
282
290
|
|
|
@@ -791,26 +799,39 @@ function blockCommit(files, reason) {
|
|
|
791
799
|
// lines describe real gate evaluations.
|
|
792
800
|
function writeDecisionAudit({ slug, suggestedTier, declaredTier, riskFloor, riskFloorReasons, belowFloor, files, loc }) {
|
|
793
801
|
try {
|
|
794
|
-
fs.mkdirSync(
|
|
795
|
-
|
|
796
|
-
|
|
802
|
+
fs.mkdirSync(DECISIONS_DIR, { recursive: true });
|
|
803
|
+
const ts = new Date().toISOString();
|
|
804
|
+
// Filename: sortable timestamp + sanitized slug → chronological `ls`,
|
|
805
|
+
// and a DISTINCT file per decision so parallel PRs can never conflict
|
|
806
|
+
// on the audit trail (each adds its own file; git merges additions of
|
|
807
|
+
// different paths trivially, including GitHub's server-side merge).
|
|
808
|
+
const safeSlug = String(slug).toLowerCase().replace(/[^a-z0-9-]+/g, '-').replace(/^-+|-+$/g, '') || 'unknown';
|
|
809
|
+
let entryPath = path.join(DECISIONS_DIR, `${ts.replace(/[:.]/g, '-')}-${safeSlug}.json`);
|
|
810
|
+
let n = 1;
|
|
811
|
+
while (fs.existsSync(entryPath)) {
|
|
812
|
+
entryPath = path.join(DECISIONS_DIR, `${ts.replace(/[:.]/g, '-')}-${safeSlug}-${n++}.json`);
|
|
813
|
+
}
|
|
814
|
+
fs.writeFileSync(
|
|
815
|
+
entryPath,
|
|
797
816
|
JSON.stringify({
|
|
798
|
-
ts
|
|
817
|
+
ts,
|
|
799
818
|
slug,
|
|
800
819
|
suggestedTier,
|
|
801
820
|
declaredTier,
|
|
802
|
-
// riskFloor (the number) keeps the
|
|
821
|
+
// riskFloor (the number) keeps the entry self-contained for later review
|
|
803
822
|
// without re-running the classifier — not just the derived belowFloor.
|
|
804
823
|
riskFloor,
|
|
805
824
|
riskFloorReasons,
|
|
806
825
|
belowFloor,
|
|
807
826
|
files,
|
|
808
827
|
loc,
|
|
809
|
-
}) + '\n',
|
|
828
|
+
}, null, 2) + '\n',
|
|
810
829
|
);
|
|
811
|
-
execSync(`git add ${JSON.stringify(path.relative(ROOT,
|
|
830
|
+
execSync(`git add ${JSON.stringify(path.relative(ROOT, entryPath))}`, { cwd: ROOT });
|
|
831
|
+
return entryPath;
|
|
812
832
|
} catch {
|
|
813
833
|
// best-effort — never block on audit I/O
|
|
834
|
+
return null;
|
|
814
835
|
}
|
|
815
836
|
}
|
|
816
837
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./builtin-manifest.schema.json",
|
|
3
3
|
"schemaVersion": 1,
|
|
4
|
-
"generatedAt": "2026-06-
|
|
5
|
-
"instarVersion": "1.3.
|
|
4
|
+
"generatedAt": "2026-06-05T12:08:30.329Z",
|
|
5
|
+
"instarVersion": "1.3.291",
|
|
6
6
|
"entryCount": 198,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
`writeDecisionAudit` in `scripts/instar-dev-precommit.js` writes one file per decision instead of appending a line to one shared JSONL. Two PRs each ADDING a distinct path can never merge-conflict; appending to the same file's tail always did. Same payload, same best-effort/never-block semantics, collision-suffixed filenames.
|
|
9
|
+
|
|
10
|
+
## What to Tell Your User
|
|
11
|
+
|
|
12
|
+
Nothing user-visible — this is contributor infrastructure. Pull requests no longer fail to merge over the development decision-audit log.
|
|
13
|
+
|
|
14
|
+
## Summary of New Capabilities
|
|
15
|
+
|
|
16
|
+
- Each gated commit's decision-audit record is now its own file under `.instar/instar-dev-decisions/<timestamp>-<slug>.json` (chronological by filename), staged so it still rides the commit it describes.
|
|
17
|
+
- The legacy `.instar/instar-dev-decisions.jsonl` is frozen history — no new appends.
|
|
18
|
+
|
|
19
|
+
## Evidence
|
|
20
|
+
|
|
21
|
+
Live failure this fixes (2026-06-05): PR #824 passed all 19 CI checks, then `gh pr merge --squash --admin` failed with "Pull Request has merge conflicts" — `git merge` against main showed exactly ONE conflicted file, `.instar/instar-dev-decisions.jsonl`, because sibling PRs had appended their own audit lines to the same tail while #824 was in CI. Unblocked manually by union-resolving; this change removes the class. Pinned by `tests/unit/instar-dev-precommit-audit-staging.test.ts`: the gate-blocked commit still stages its entry file (the #814 property preserved), two evaluations produce two DISTINCT paths (the conflict-immunity property), and the frozen legacy JSONL is not appended to; the deferrals suite's audit-shape test re-pinned to the per-entry record (riskFloor number, belowFloor, suggestedTier, reasons array). 16/16 tests green.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
Fixed PromptGate auto-dismiss repeats for deterministic prompts whose stale text remains visible in the terminal capture after the dismiss key is sent. PromptGate now records successful auto-dismisses separately from normal prompt dedup, keeps that memory across the input reset, and clears it only when the captured pane content changes.
|
|
9
|
+
|
|
10
|
+
The server records dismiss memory only when the key send reports success. Failed sends do not poison the cache, so a prompt can still be retried if the key was not delivered.
|
|
11
|
+
|
|
12
|
+
## What to Tell Your User
|
|
13
|
+
|
|
14
|
+
- **Less repeated modal handling**: "When I dismiss a known-safe terminal prompt for another agent, I should stop pressing the same stale prompt every few seconds while the terminal catches up."
|
|
15
|
+
|
|
16
|
+
## Summary of New Capabilities
|
|
17
|
+
|
|
18
|
+
| Capability | How to Use |
|
|
19
|
+
|-----------|-----------|
|
|
20
|
+
| PromptGate successful auto-dismiss memory | Automatic for deterministic auto-dismiss prompts such as known Gemini CLI modals. |
|
|
21
|
+
|
|
22
|
+
## Evidence
|
|
23
|
+
|
|
24
|
+
Observed before: after PromptGate successfully auto-dismissed the Gemini package-runner install modal, the stale prompt text remained inside the capture window and PromptGate fired the same auto-dismiss again roughly every monitor cycle.
|
|
25
|
+
|
|
26
|
+
Observed after: focused PromptGate regression tests verify that a successfully auto-dismissed prompt does not re-fire while pane content is unchanged, that failed sends do not create dismiss memory, and that changed pane content re-arms the same prompt shape.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Parallel PRs stop colliding on the decision-audit log
|
|
2
|
+
|
|
3
|
+
Every gated commit records a small audit note (what tier was declared, what the risk classifier suggested). A recent fix made that note ride along inside the commit itself — which solved one problem (notes were evaporating with temporary build folders) but quietly created another: all the notes went into ONE shared file, each commit appending a line at the end. Git can't merge two different "last lines" of the same file, so whenever two pull requests were in flight at the same time — which is now the normal state with three agents shipping in parallel — the second one to merge hit a conflict on that file. This actually happened within hours: a PR passed every check and then failed to merge over nothing but the audit log.
|
|
4
|
+
|
|
5
|
+
The fix: each decision now gets its own tiny file (named by timestamp and change name) inside a decisions folder, instead of a line appended to a shared file. Two PRs each ADDING a different file never conflict — git and GitHub merge that trivially. Nothing about the audit content changes, the note still rides the commit it describes, and the old log file stays in place as frozen history. The chronological order you used to get from reading the file top-to-bottom now comes from sorting filenames, which start with the timestamp.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Side-Effects Review — per-entry decision-audit files (task #80)
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `decisions-per-entry`
|
|
4
|
+
**Date:** `2026-06-05`
|
|
5
|
+
**Author:** `echo`
|
|
6
|
+
**Second-pass reviewer:** `self-review under the Tier-1 lite lane; the audit-continuity question (does the trail survive the format change?) addressed below`
|
|
7
|
+
|
|
8
|
+
## Summary of the change
|
|
9
|
+
|
|
10
|
+
`writeDecisionAudit` in the pre-commit gate writes each decision as its own file `.instar/instar-dev-decisions/<ts>-<slug>.json` (staged immediately, preserving #814's ride-the-commit property) instead of appending one line to the shared `.instar/instar-dev-decisions.jsonl`. Distinct paths per PR cannot merge-conflict — including GitHub's server-side merge, which does not honor custom merge drivers. The legacy JSONL freezes in place as history.
|
|
11
|
+
|
|
12
|
+
## Decision-point inventory
|
|
13
|
+
|
|
14
|
+
- `writeDecisionAudit` — modified — per-entry file write + stage; same payload fields (ts/slug/tiers/riskFloor/reasons/belowFloor/files/loc); collision-suffix counter for same-ms-same-slug; returns the entry path (used by the belowFloor console message).
|
|
15
|
+
- `DECISIONS_LOG` const — removed (legacy path noted in comment); `DECISIONS_DIR` added.
|
|
16
|
+
- Tests — `instar-dev-precommit-audit-staging.test.ts` re-pinned to the per-entry contract + a NEW conflict-immunity test (two evaluations → two distinct paths) + asserts the legacy JSONL is NOT created; `instar-dev-precommit-deferrals.test.ts` audit-shape test re-pinned.
|
|
17
|
+
|
|
18
|
+
## 1. Direction-of-failure analysis
|
|
19
|
+
|
|
20
|
+
- **Old failure (live, PR #824):** CI-green PR fails admin-merge on the audit file tail — recurring at parallel-PR cadence, blocks every second merge, requires manual union resolution each time.
|
|
21
|
+
- **New worst case:** the writer remains best-effort (try/catch, never blocks the gate) — an audit I/O failure loses ONE entry, exactly as before. Filename collision (same ms + same slug) is suffix-countered, pinned by test.
|
|
22
|
+
- **Audit continuity:** the legacy file is untouched history; new entries are chronologically sortable by filename (`ls` order = time order). Readers: only tests read the trail today (grep-verified); both updated.
|
|
23
|
+
- **In-flight PRs written under the old scheme:** once main's shared file stops growing, their single appended line vs main's unchanged tail merges CLEANLY — landing this fix un-jams the conflict class for already-open PRs too (the conflict needed BOTH sides appending).
|
|
24
|
+
|
|
25
|
+
## 2. Over-permit
|
|
26
|
+
|
|
27
|
+
None — the gate's blocking logic is untouched; only where the audit record lands.
|
|
28
|
+
|
|
29
|
+
## 3. Scope deliberately NOT taken
|
|
30
|
+
|
|
31
|
+
- No migration of legacy JSONL lines into per-entry files — history stays where it was written; a reader that wants the full trail reads both (documented in the script comment).
|
|
32
|
+
- No `.gitattributes merge=union` belt for the legacy file — GitHub's server-side merge ignores it, and with the file frozen the local-rebase benefit is moot.
|
|
33
|
+
|
|
34
|
+
## 4. Migration parity
|
|
35
|
+
|
|
36
|
+
None needed — the gate script lives in the repo (`scripts/`), not in agent-installed files; every checkout gets it with the commit. `.instar/instar-dev-decisions/` is created on demand by the writer.
|
|
37
|
+
|
|
38
|
+
## 5. Token/cost impact
|
|
39
|
+
|
|
40
|
+
None — same write volume, one file create vs one append per gated commit.
|
|
41
|
+
|
|
42
|
+
## 6. Rollback
|
|
43
|
+
|
|
44
|
+
Revert the commit; the writer returns to appending the shared JSONL (and the conflict class returns with it).
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Side-Effects Review — PromptGate auto-dismiss memory
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `promptgate-auto-dismiss-memory`
|
|
4
|
+
**Date:** `2026-06-05`
|
|
5
|
+
**Author:** `instar-codey`
|
|
6
|
+
**Second-pass reviewer:** `self-review required by PromptGate/session-input surface; concur`
|
|
7
|
+
|
|
8
|
+
## Summary of the change
|
|
9
|
+
|
|
10
|
+
PromptGate deterministic auto-dismiss prompts were repeatedly firing when the terminal kept the same dismissed prompt text visible after the dismiss key was sent. The server called `onInputSent()` after auto-dismiss to clear normal cooldown/dedup for the next real prompt, but that also allowed the identical stale prompt to re-emit. This change adds a separate in-memory successful-auto-dismiss cache in `src/monitoring/PromptGate.ts`, records into it from the auto-dismiss consumer in `src/commands/server.ts` only when `sendKey` returns true, and clears it when the captured pane content changes or the session is cleaned up.
|
|
11
|
+
|
|
12
|
+
## Decision-point inventory
|
|
13
|
+
|
|
14
|
+
- PromptGate auto-dismiss emission — **modify** — suppresses a previously successful auto-dismiss fingerprint while the pane content is unchanged.
|
|
15
|
+
- Server auto-dismiss consumer — **modify** — records successful auto-dismisses in the detector before resetting normal input state.
|
|
16
|
+
- Normal prompt detection/dedup — **pass-through** — unchanged for prompts without `autoDismissKey`.
|
|
17
|
+
- LLM `NO_PROMPT` cache — **pass-through** — unchanged; this fix is separate from the prior token-burn cache.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 1. Over-block
|
|
22
|
+
|
|
23
|
+
Legitimate repeated auto-dismiss prompts with byte-identical prompt text in byte-identical pane content will be suppressed until the pane content changes. That is intentional: if the pane has not changed after a successful key send, the visible prompt is stale terminal text, not a new modal. Failed key sends do not enter the cache, so delivery failures can still retry.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 2. Under-block
|
|
28
|
+
|
|
29
|
+
If the terminal redraws the same prompt with any content change, the cache clears and PromptGate may auto-dismiss again. This is the intended re-arm boundary because a changed pane can represent a real new modal or a re-rendered still-blocking state. The change does not attempt cursor-position analysis; it uses the existing captured-text boundary.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 3. Level-of-abstraction fit
|
|
34
|
+
|
|
35
|
+
The memory lives inside PromptGate because PromptGate owns prompt fingerprints and dedup semantics. The server remains the right place to decide whether the key send succeeded, so it records successful auto-dismisses after `sendKey` returns true. This avoids placing delivery-success knowledge inside the detector and avoids teaching the server how to fingerprint prompt text.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 4. Signal vs authority compliance
|
|
40
|
+
|
|
41
|
+
**Required reference:** [docs/signal-vs-authority.md](../../docs/signal-vs-authority.md)
|
|
42
|
+
|
|
43
|
+
- [ ] No — this change produces a signal consumed by an existing smart gate.
|
|
44
|
+
- [ ] No — this change has no block/allow surface.
|
|
45
|
+
- [x] Yes — but this is deterministic dedup/memoization of a prior successful deterministic auto-dismiss, not a brittle semantic classifier.
|
|
46
|
+
- [ ] Yes, with brittle logic — STOP. Reshape the design.
|
|
47
|
+
|
|
48
|
+
PromptGate already held authority to emit deterministic auto-dismiss prompts. This change narrows repeat emission for the exact prompt fingerprint after a successful key send. It does not add a new modal detector, approve any new action, or change LLM classification authority.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## 5. Interactions
|
|
53
|
+
|
|
54
|
+
- **Shadowing:** the successful-auto-dismiss cache runs before normal emitted-prompt dedup. It only applies when the match has `autoDismissKey`.
|
|
55
|
+
- **Double-fire:** reduces double-fire by preventing the same stale prompt from re-emitting after `onInputSent()` clears normal dedup.
|
|
56
|
+
- **Races:** if pane content changes before the next tick, the cache clears and the prompt can re-arm. If `sendKey` fails, no cache entry is recorded.
|
|
57
|
+
- **Feedback loops:** no persistent feedback loop. State is per-process and per-session.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## 6. External surfaces
|
|
62
|
+
|
|
63
|
+
Visible behavior changes for agents using PromptGate: repeated auto-dismiss log lines for the same unchanged stale prompt should stop. No API, config, persistent state, migration, Telegram route, dashboard route, or model behavior changes. The server log still records the original auto-dismiss with `sent=true/false`.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## 7. Rollback cost
|
|
68
|
+
|
|
69
|
+
Rollback is a pure code revert and patch release. No state migration or cleanup is needed because dismiss memory is in-memory only. During rollback, the prior repeated auto-dismiss behavior can return for stale terminal captures.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Conclusion
|
|
74
|
+
|
|
75
|
+
The fix is narrow and tied to the observed failure: successful deterministic auto-dismisses now get a memory layer that survives the normal input reset and is invalidated by real pane-content changes. Focused tests cover successful suppression, failed-send retry, and re-arm on content change.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Second-pass review
|
|
80
|
+
|
|
81
|
+
**Reviewer:** instar-codey self-review
|
|
82
|
+
**Independent read of the artifact:** concur
|
|
83
|
+
|
|
84
|
+
I re-read the change as a PromptGate/session-input reviewer. The main risk was suppressing a real prompt after a failed key send; recording only when `sendKey` returns true addresses that. The other risk was never re-arming; clearing on captured content change and cleanup bounds the memory.
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Evidence pointers
|
|
89
|
+
|
|
90
|
+
- Focused unit gate: `npx vitest run tests/unit/PromptGate.test.ts` — 62 tests passed.
|
|
91
|
+
- Regression cases added: successful auto-dismiss suppresses unchanged stale pane text; failed send does not suppress; changed pane content re-arms.
|