agent-nuvira 3.3.17 → 3.3.19
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/agents/orchestrator.d.ts.map +1 -1
- package/dist/agents/orchestrator.js +10 -2
- package/dist/agents/orchestrator.js.map +1 -1
- package/dist/agents/prompt-assembly.js +2 -2
- package/dist/agents/prompt-assembly.js.map +1 -1
- package/dist/cli/chat.d.ts.map +1 -1
- package/dist/cli/chat.js +25 -2
- package/dist/cli/chat.js.map +1 -1
- package/dist/cli/cli-program.d.ts.map +1 -1
- package/dist/cli/cli-program.js +5 -0
- package/dist/cli/cli-program.js.map +1 -1
- package/dist/cli/loop-executor.d.ts.map +1 -1
- package/dist/cli/loop-executor.js +68 -10
- package/dist/cli/loop-executor.js.map +1 -1
- package/dist/cli/state.d.ts +22 -0
- package/dist/cli/state.d.ts.map +1 -0
- package/dist/cli/state.js +156 -0
- package/dist/cli/state.js.map +1 -0
- package/dist/inference/model-validator.d.ts.map +1 -1
- package/dist/inference/model-validator.js +64 -2
- package/dist/inference/model-validator.js.map +1 -1
- package/dist/learning/failure-bookkeeping.d.ts +5 -2
- package/dist/learning/failure-bookkeeping.d.ts.map +1 -1
- package/dist/learning/failure-bookkeeping.js +30 -2
- package/dist/learning/failure-bookkeeping.js.map +1 -1
- package/dist/learning/provider-fallback.d.ts +6 -3
- package/dist/learning/provider-fallback.d.ts.map +1 -1
- package/dist/learning/provider-fallback.js +22 -0
- package/dist/learning/provider-fallback.js.map +1 -1
- package/dist/learning/reasoning-trace.d.ts +17 -1
- package/dist/learning/reasoning-trace.d.ts.map +1 -1
- package/dist/learning/reasoning-trace.js +8 -0
- package/dist/learning/reasoning-trace.js.map +1 -1
- package/dist/learning/turn-report.d.ts +37 -1
- package/dist/learning/turn-report.d.ts.map +1 -1
- package/dist/learning/turn-report.js +61 -3
- package/dist/learning/turn-report.js.map +1 -1
- package/dist/learning/working-state.d.ts +79 -3
- package/dist/learning/working-state.d.ts.map +1 -1
- package/dist/learning/working-state.js +199 -6
- package/dist/learning/working-state.js.map +1 -1
- package/dist/tools/child-agent-runtime.js +3 -2
- package/dist/tools/child-agent-runtime.js.map +1 -1
- package/dist/tools/edit-verification.d.ts +60 -5
- package/dist/tools/edit-verification.d.ts.map +1 -1
- package/dist/tools/edit-verification.js +333 -48
- package/dist/tools/edit-verification.js.map +1 -1
- package/dist/tools/loop-project-context.js +2 -2
- package/dist/tools/loop-project-context.js.map +1 -1
- package/dist/tools/tool-loop.d.ts +34 -0
- package/dist/tools/tool-loop.d.ts.map +1 -1
- package/dist/tools/tool-loop.js +83 -6
- package/dist/tools/tool-loop.js.map +1 -1
- package/dist/web-dashboard/server.d.ts.map +1 -1
- package/dist/web-dashboard/server.js +47 -3
- package/dist/web-dashboard/server.js.map +1 -1
- package/dist/web-dashboard/src/types.d.ts +21 -1
- package/dist/web-dashboard/src/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/web-dashboard/public/assets/{index-goRHl73H.js → index-Bz7QqQ_N.js} +86 -86
- package/src/web-dashboard/public/assets/index-Bz7QqQ_N.js.map +1 -0
- package/src/web-dashboard/public/assets/{index-tK8Y2qHB.css → index-cBWT2qxn.css} +1 -1
- package/src/web-dashboard/public/index.html +2 -2
- package/src/web-dashboard/public/assets/index-goRHl73H.js.map +0 -1
|
@@ -108,6 +108,18 @@ export function buildTurnReport(input) {
|
|
|
108
108
|
...(s.note ? { note: s.note } : {}),
|
|
109
109
|
}))
|
|
110
110
|
: [];
|
|
111
|
+
// A plan outlives a turn: `plan_todo` running is the ONLY evidence this turn
|
|
112
|
+
// declared or advanced it, so an untouched plan's statuses are carried
|
|
113
|
+
// context. Derived (not taken on trust) unless the caller states it.
|
|
114
|
+
const planTouched = input.planTouched ?? successfulToolCalls.includes('plan_todo');
|
|
115
|
+
const planCarried = Boolean(plan) && steps.length > 0 && !planTouched;
|
|
116
|
+
// PER-FILE verification truth: the loop's precise split when it was handed
|
|
117
|
+
// over, and otherwise the honest aggregate fallback — an unverified mutated
|
|
118
|
+
// turn owes a check on every changed path, a verified one owes none.
|
|
119
|
+
const verifiedPaths = [...new Set(input.verifiedPaths ?? [])];
|
|
120
|
+
const unverifiedPaths = input.unverifiedPaths !== undefined
|
|
121
|
+
? [...new Set(input.unverifiedPaths)]
|
|
122
|
+
: [];
|
|
111
123
|
const stepCounts = {
|
|
112
124
|
done: steps.filter((s) => s.status === 'done').length,
|
|
113
125
|
blocked: steps.filter((s) => s.status === 'blocked').length,
|
|
@@ -171,6 +183,16 @@ export function buildTurnReport(input) {
|
|
|
171
183
|
else {
|
|
172
184
|
verification = 'not-applicable';
|
|
173
185
|
}
|
|
186
|
+
// The fallback per-file split, computed AFTER the verdict: when the caller did
|
|
187
|
+
// not hand over the loop's precise truth, an unverified mutation owes a check
|
|
188
|
+
// on every changed path (nothing exercised them), and a verified/settled turn
|
|
189
|
+
// owes none. This is the same rule the ledger applies, restated so a caller
|
|
190
|
+
// that omits the split still gets an honest one.
|
|
191
|
+
if (input.unverifiedPaths === undefined && verification === 'unverified' && mutated) {
|
|
192
|
+
for (const p of changedPaths)
|
|
193
|
+
if (!verifiedPaths.includes(p))
|
|
194
|
+
unverifiedPaths.push(p);
|
|
195
|
+
}
|
|
174
196
|
// E4 — bind each step's status to the turn's verification evidence. A step
|
|
175
197
|
// marked done while the turn itself is unverified/blocked is annotated, so
|
|
176
198
|
// the report cannot read as a clean checklist over unverified work.
|
|
@@ -185,16 +207,21 @@ export function buildTurnReport(input) {
|
|
|
185
207
|
}
|
|
186
208
|
const summary = buildSummary({
|
|
187
209
|
planned: Boolean(plan),
|
|
210
|
+
planCarried,
|
|
188
211
|
stepCounts,
|
|
189
212
|
verification,
|
|
190
213
|
mutations: input.mutations ?? 0,
|
|
191
214
|
changedPaths,
|
|
215
|
+
verifiedPaths,
|
|
216
|
+
unverifiedPaths,
|
|
192
217
|
assumptions,
|
|
193
218
|
cost: input.cost,
|
|
194
219
|
});
|
|
195
220
|
return {
|
|
196
221
|
goal: input.goal,
|
|
197
222
|
planned: Boolean(plan),
|
|
223
|
+
planTouched,
|
|
224
|
+
planCarried,
|
|
198
225
|
steps,
|
|
199
226
|
stepCounts,
|
|
200
227
|
toolCalls,
|
|
@@ -203,6 +230,8 @@ export function buildTurnReport(input) {
|
|
|
203
230
|
...(checksPassed === undefined ? {} : { checksPassed }),
|
|
204
231
|
mutations: input.mutations ?? 0,
|
|
205
232
|
changedPaths,
|
|
233
|
+
verifiedPaths,
|
|
234
|
+
unverifiedPaths,
|
|
206
235
|
verification,
|
|
207
236
|
flags,
|
|
208
237
|
assumptions,
|
|
@@ -215,9 +244,17 @@ export function buildTurnReport(input) {
|
|
|
215
244
|
function buildSummary(input) {
|
|
216
245
|
const parts = [];
|
|
217
246
|
if (input.planned) {
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
247
|
+
if (input.planCarried) {
|
|
248
|
+
// A plan this turn never touched must NOT read as this turn's progress:
|
|
249
|
+
// measured 2026-10-09, a two-day-old plan surfaced as "1/7 steps" on the
|
|
250
|
+
// turn the user was reading.
|
|
251
|
+
parts.push(`plan carried from an earlier turn — ${input.stepCounts.done}/${input.stepCounts.total} done, not advanced this turn`);
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
parts.push(`${input.stepCounts.done}/${input.stepCounts.total} steps done`);
|
|
255
|
+
if (input.stepCounts.blocked > 0)
|
|
256
|
+
parts.push(`${input.stepCounts.blocked} blocked`);
|
|
257
|
+
}
|
|
221
258
|
}
|
|
222
259
|
if (input.changedPaths.length > 0) {
|
|
223
260
|
parts.push(`${input.changedPaths.length} file(s) changed`);
|
|
@@ -225,6 +262,14 @@ function buildSummary(input) {
|
|
|
225
262
|
else if (input.mutations > 0) {
|
|
226
263
|
parts.push(`${input.mutations} change(s)`);
|
|
227
264
|
}
|
|
265
|
+
// PER-FILE debt, said out loud when the turn was only PARTIALLY verified:
|
|
266
|
+
// some changed paths a check exercised and some it did not. The aggregate
|
|
267
|
+
// verdict cannot express that, so the number of paths still owed a check is
|
|
268
|
+
// the one fact a reader needs to finish the job.
|
|
269
|
+
if (input.unverifiedPaths.length > 0 && input.verifiedPaths.length > 0) {
|
|
270
|
+
parts.push(`partially verified — ${input.unverifiedPaths.length} path(s) still unverified: ${input.unverifiedPaths.slice(0, 6).join(', ')}` +
|
|
271
|
+
(input.unverifiedPaths.length > 6 ? ` +${input.unverifiedPaths.length - 6} more` : ''));
|
|
272
|
+
}
|
|
228
273
|
// E1 — an assumption is always worth saying: it is a decision the USER did not
|
|
229
274
|
// make, and it must not be silent even on a turn that changed nothing.
|
|
230
275
|
if (input.assumptions.length > 0) {
|
|
@@ -288,6 +333,19 @@ export function formatTurnReport(report) {
|
|
|
288
333
|
// "what it did" and "what it cost" are the two things a user judges a turn on.
|
|
289
334
|
if (report.cost)
|
|
290
335
|
lines.push(` 💰 ${formatCost(report.cost)}`);
|
|
336
|
+
// The carried-plan disclosure: the steps above are CONTEXT from an earlier
|
|
337
|
+
// turn, not this turn's progress. Without it the step list reads as work the
|
|
338
|
+
// turn just reported (measured 2026-10-09).
|
|
339
|
+
if (report.planCarried) {
|
|
340
|
+
lines.push(' 📋 that plan was carried from an earlier turn — THIS turn did not advance it.');
|
|
341
|
+
}
|
|
342
|
+
// PER-FILE debt: name the changed paths no check exercised, so a partially
|
|
343
|
+
// verified turn says WHICH files are still owed a check.
|
|
344
|
+
if (report.unverifiedPaths.length > 0) {
|
|
345
|
+
const shown = report.unverifiedPaths.slice(0, 8).join(', ');
|
|
346
|
+
lines.push(` ⚠️ ${report.unverifiedPaths.length} changed path(s) no check exercised this turn: ${shown}` +
|
|
347
|
+
(report.unverifiedPaths.length > 8 ? ` (+${report.unverifiedPaths.length - 8} more)` : ''));
|
|
348
|
+
}
|
|
291
349
|
if (report.verification === 'unverified') {
|
|
292
350
|
lines.push(' ⚠️ UNVERIFIED — a change or claim was not confirmed by any observation.');
|
|
293
351
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-report.js","sourceRoot":"","sources":["../../src/learning/turn-report.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"turn-report.js","sourceRoot":"","sources":["../../src/learning/turn-report.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,22 @@
|
|
|
21
21
|
* Honours `NUVIRA_MEMORY_DIR` / `BUFF_MEMORY_DIR` like the reasoning traces.
|
|
22
22
|
* Every write is best-effort — a ledger write must NEVER break a turn.
|
|
23
23
|
*/
|
|
24
|
+
/**
|
|
25
|
+
* One outstanding unverified change: a path that mutated and that no check has
|
|
26
|
+
* since exercised.
|
|
27
|
+
*
|
|
28
|
+
* WHY THIS IS A SET AND NOT A COUNT. The ledger used to record only
|
|
29
|
+
* `unverifiedEdits: 2` — which cannot be reconciled: the next turn cannot tell
|
|
30
|
+
* WHICH file is owed a check, so a verification of anything (or a root-level
|
|
31
|
+
* `npm test` that never loaded the file's own suite) settled the whole backlog.
|
|
32
|
+
* The calculator audit's lesson was "the artifact is the source of truth"; a
|
|
33
|
+
* debt you cannot name an artifact for is not one.
|
|
34
|
+
*/
|
|
35
|
+
export interface UnverifiedPath {
|
|
36
|
+
path: string;
|
|
37
|
+
/** Epoch ms this path was last changed while unverified. */
|
|
38
|
+
at: number;
|
|
39
|
+
}
|
|
24
40
|
/** One project's working state — everything worth remembering between turns. */
|
|
25
41
|
export interface ProjectWorkingState {
|
|
26
42
|
/** Absolute project path (the ledger key). */
|
|
@@ -32,10 +48,16 @@ export interface ProjectWorkingState {
|
|
|
32
48
|
/** Turns recorded against this project. */
|
|
33
49
|
turns: number;
|
|
34
50
|
/**
|
|
35
|
-
*
|
|
36
|
-
*
|
|
51
|
+
* Turns that left unverified changes outstanding. Reset to 0 when the debt set
|
|
52
|
+
* empties. `unverifiedPaths` is the authoritative list; this is the count a
|
|
53
|
+
* reader shows when it only has room for a number.
|
|
37
54
|
*/
|
|
38
55
|
unverifiedEdits: number;
|
|
56
|
+
/**
|
|
57
|
+
* The outstanding per-file debt (see {@link UnverifiedPath}). A path leaves
|
|
58
|
+
* this list only when a verification actually covered it.
|
|
59
|
+
*/
|
|
60
|
+
unverifiedPaths: UnverifiedPath[];
|
|
39
61
|
/** Epoch ms of the last turn that verified (ran tests/typecheck/browser). */
|
|
40
62
|
lastVerifiedAt?: number;
|
|
41
63
|
/**
|
|
@@ -59,6 +81,14 @@ export interface TurnRecord {
|
|
|
59
81
|
verified?: boolean;
|
|
60
82
|
/** The turn mutated the workspace and verified nothing. */
|
|
61
83
|
unverifiedEdit?: boolean;
|
|
84
|
+
/**
|
|
85
|
+
* PER-FILE truth from `assessEditActivity` — the changed paths a check
|
|
86
|
+
* actually exercised. When either list is supplied the turn is recorded in
|
|
87
|
+
* per-path mode: the debt is settled per file, not wholesale.
|
|
88
|
+
*/
|
|
89
|
+
verifiedPaths?: readonly string[];
|
|
90
|
+
/** The changed paths no check covered this turn — the new debt. */
|
|
91
|
+
unverifiedPaths?: readonly string[];
|
|
62
92
|
/** The user's message for this turn (scanned for a regression signal). */
|
|
63
93
|
userMessage?: string;
|
|
64
94
|
}
|
|
@@ -68,6 +98,8 @@ export declare const MAX_FILES = 40;
|
|
|
68
98
|
export declare const MAX_ISSUES = 8;
|
|
69
99
|
/** Cap on remembered tools per project. */
|
|
70
100
|
export declare const MAX_TOOLS = 24;
|
|
101
|
+
/** Cap on outstanding unverified paths (oldest drop first). */
|
|
102
|
+
export declare const MAX_UNVERIFIED_PATHS = 40;
|
|
71
103
|
/** Normalize a project path so the same project always maps to one entry. */
|
|
72
104
|
export declare function normalizeProjectPath(projectPath: string): string;
|
|
73
105
|
/**
|
|
@@ -117,6 +149,41 @@ export declare function getWorkingState(projectPath: string): ProjectWorkingStat
|
|
|
117
149
|
export declare function recordWorkingState(projectPath: string, turn: TurnRecord): ProjectWorkingState;
|
|
118
150
|
/** Forget one project (or the whole ledger when no path is given). */
|
|
119
151
|
export declare function clearWorkingState(projectPath?: string): void;
|
|
152
|
+
/** What a git read says about the workspace behind the ledger. */
|
|
153
|
+
export interface WorkspaceReconciliation {
|
|
154
|
+
/** True when `projectPath` is inside a git work tree we could read. */
|
|
155
|
+
isGitRepo: boolean;
|
|
156
|
+
/** Repo-relative paths with uncommitted changes. */
|
|
157
|
+
dirty: string[];
|
|
158
|
+
/**
|
|
159
|
+
* Dirty paths the ledger never recorded as touched — an edit made outside the
|
|
160
|
+
* agent, or a session that died before it could record. This is the gap the
|
|
161
|
+
* ledger alone cannot see: it trusts its own report of what it changed.
|
|
162
|
+
*/
|
|
163
|
+
unrecorded: string[];
|
|
164
|
+
/**
|
|
165
|
+
* Dirty paths MODIFIED AFTER the last verification. These are the changes no
|
|
166
|
+
* passing check can speak for; empty when the ledger has never verified
|
|
167
|
+
* anything (then `unverifiedPaths` carries the signal instead, and listing the
|
|
168
|
+
* whole dirty tree would just be noise).
|
|
169
|
+
*/
|
|
170
|
+
staleSinceVerification: string[];
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Re-read the WORLD behind the ledger: what is actually changed on disk, and
|
|
174
|
+
* whether anything changed after the last verification.
|
|
175
|
+
*
|
|
176
|
+
* WHY THIS EXISTS. The ledger records what the LOOP said it changed. That is a
|
|
177
|
+
* report, and the repo's own invariant (see `docs/rca_false_success_and_no_resume.md`
|
|
178
|
+
* §6) is that a report is a proposal — "re-read the world: files on disk, VCS
|
|
179
|
+
* status". Two real cases the report cannot cover: an edit made by something
|
|
180
|
+
* other than the agent, and a turn killed before it recorded anything. Both are
|
|
181
|
+
* exactly "work from the previous session whose state nobody knows".
|
|
182
|
+
*
|
|
183
|
+
* Read-only, bounded by a timeout, and best-effort: a directory that is not a
|
|
184
|
+
* repository (or has no git) reconciles to nothing rather than throwing.
|
|
185
|
+
*/
|
|
186
|
+
export declare function reconcileWithWorkspace(state: ProjectWorkingState | null, projectPath: string, now?: number): WorkspaceReconciliation;
|
|
120
187
|
/**
|
|
121
188
|
* Format the state as a compact, model-readable block ('' when there is
|
|
122
189
|
* nothing worth saying — a pristine project must not add noise to the prompt).
|
|
@@ -124,5 +191,14 @@ export declare function clearWorkingState(projectPath?: string): void;
|
|
|
124
191
|
* Kept short on purpose: this rides in EVERY turn, so a verbose block would
|
|
125
192
|
* recreate the very drift it exists to prevent.
|
|
126
193
|
*/
|
|
127
|
-
export declare function formatWorkingState(state: ProjectWorkingState | null, now?: number): string;
|
|
194
|
+
export declare function formatWorkingState(state: ProjectWorkingState | null, now?: number, reconciled?: WorkspaceReconciliation): string;
|
|
195
|
+
/**
|
|
196
|
+
* The block every surface injects: the ledger PLUS the git reconciliation of the
|
|
197
|
+
* same workspace. One call so the CLI loop, the dashboard prompt assembly and the
|
|
198
|
+
* orchestrator cannot read the ledger without re-reading the world beside it.
|
|
199
|
+
*
|
|
200
|
+
* Returns '' for a project with nothing to say (a pristine workspace must add no
|
|
201
|
+
* prompt weight). Best-effort throughout.
|
|
202
|
+
*/
|
|
203
|
+
export declare function workingStateBlock(projectPath: string, now?: number): string;
|
|
128
204
|
//# sourceMappingURL=working-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"working-state.d.ts","sourceRoot":"","sources":["../../src/learning/working-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;
|
|
1
|
+
{"version":3,"file":"working-state.d.ts","sourceRoot":"","sources":["../../src/learning/working-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,9 +22,10 @@
|
|
|
22
22
|
* Every write is best-effort — a ledger write must NEVER break a turn.
|
|
23
23
|
*/
|
|
24
24
|
import { envBuff, resolveNuviraHome } from '../config/paths.js';
|
|
25
|
-
import {
|
|
25
|
+
import { spawnSync } from 'node:child_process';
|
|
26
|
+
import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync } from 'node:fs';
|
|
26
27
|
import { homedir } from 'node:os';
|
|
27
|
-
import { join, parse, resolve } from 'node:path';
|
|
28
|
+
import { isAbsolute, join, parse, resolve } from 'node:path';
|
|
28
29
|
// ─── Constants ──────────────────────────────────────────────────────────────
|
|
29
30
|
const CURRENT_VERSION = 1;
|
|
30
31
|
/** Cap on remembered files per project (oldest drop first). */
|
|
@@ -33,6 +34,10 @@ export const MAX_FILES = 40;
|
|
|
33
34
|
export const MAX_ISSUES = 8;
|
|
34
35
|
/** Cap on remembered tools per project. */
|
|
35
36
|
export const MAX_TOOLS = 24;
|
|
37
|
+
/** Cap on outstanding unverified paths (oldest drop first). */
|
|
38
|
+
export const MAX_UNVERIFIED_PATHS = 40;
|
|
39
|
+
/** Git read timeout — a repository read must never stall a turn. */
|
|
40
|
+
const GIT_TIMEOUT_MS = 2_500;
|
|
36
41
|
// ─── Storage ────────────────────────────────────────────────────────────────
|
|
37
42
|
function memoryDir() {
|
|
38
43
|
return envBuff('MEMORY_DIR') || join(resolveNuviraHome(), 'memory');
|
|
@@ -48,6 +53,12 @@ function readFileSafe() {
|
|
|
48
53
|
if (!data || typeof data !== 'object' || !data.projects || typeof data.projects !== 'object') {
|
|
49
54
|
return { version: CURRENT_VERSION, projects: {} };
|
|
50
55
|
}
|
|
56
|
+
// Normalize on read: an entry written before per-path debt existed has no
|
|
57
|
+
// `unverifiedPaths`, and every reader treats it as a list.
|
|
58
|
+
for (const project of Object.values(data.projects)) {
|
|
59
|
+
if (!Array.isArray(project.unverifiedPaths))
|
|
60
|
+
project.unverifiedPaths = [];
|
|
61
|
+
}
|
|
51
62
|
return data;
|
|
52
63
|
}
|
|
53
64
|
catch {
|
|
@@ -166,11 +177,18 @@ export function recordWorkingState(projectPath, turn) {
|
|
|
166
177
|
toolsUsed: [],
|
|
167
178
|
turns: 0,
|
|
168
179
|
unverifiedEdits: 0,
|
|
180
|
+
unverifiedPaths: [],
|
|
169
181
|
openIssues: [],
|
|
170
182
|
corrections: 0,
|
|
171
183
|
updatedAt: now,
|
|
172
184
|
};
|
|
173
|
-
const next = {
|
|
185
|
+
const next = {
|
|
186
|
+
...prev,
|
|
187
|
+
filesTouched: [...prev.filesTouched],
|
|
188
|
+
toolsUsed: [...prev.toolsUsed],
|
|
189
|
+
unverifiedPaths: [...(prev.unverifiedPaths ?? [])],
|
|
190
|
+
openIssues: [...prev.openIssues],
|
|
191
|
+
};
|
|
174
192
|
next.turns = prev.turns + 1;
|
|
175
193
|
next.updatedAt = now;
|
|
176
194
|
// Files — dedupe (move-to-end so recency is meaningful) then cap.
|
|
@@ -193,9 +211,34 @@ export function recordWorkingState(projectPath, turn) {
|
|
|
193
211
|
if (next.toolsUsed.length > MAX_TOOLS) {
|
|
194
212
|
next.toolsUsed = next.toolsUsed.slice(-MAX_TOOLS);
|
|
195
213
|
}
|
|
196
|
-
// Verification debt
|
|
197
|
-
|
|
214
|
+
// ── Verification debt ───────────────────────────────────────────────────
|
|
215
|
+
// PER-PATH mode (either list supplied): settle the debt file by file. A
|
|
216
|
+
// verification of one change must not clear the debt on another, and a root
|
|
217
|
+
// check that never loaded a nested package's suite must not clear it either —
|
|
218
|
+
// which is exactly why the caller now hands over the paths a check covered.
|
|
219
|
+
const perPath = turn.verifiedPaths !== undefined || turn.unverifiedPaths !== undefined;
|
|
220
|
+
if (perPath) {
|
|
221
|
+
const settled = new Set((turn.verifiedPaths ?? []).filter(Boolean));
|
|
222
|
+
const kept = next.unverifiedPaths.filter((u) => !settled.has(u.path));
|
|
223
|
+
const byPath = new Map(kept.map((u) => [u.path, u]));
|
|
224
|
+
for (const p of turn.unverifiedPaths ?? []) {
|
|
225
|
+
if (p)
|
|
226
|
+
byPath.set(p, { path: p, at: now });
|
|
227
|
+
}
|
|
228
|
+
next.unverifiedPaths = [...byPath.values()].slice(-MAX_UNVERIFIED_PATHS);
|
|
229
|
+
if (settled.size > 0) {
|
|
230
|
+
next.lastVerifiedAt = now;
|
|
231
|
+
// A proven fix answers the open reports.
|
|
232
|
+
next.openIssues = [];
|
|
233
|
+
}
|
|
234
|
+
next.unverifiedEdits =
|
|
235
|
+
next.unverifiedPaths.length === 0
|
|
236
|
+
? 0
|
|
237
|
+
: prev.unverifiedEdits + ((turn.unverifiedPaths ?? []).length > 0 ? 1 : 0);
|
|
238
|
+
}
|
|
239
|
+
else if (turn.verified) {
|
|
198
240
|
next.unverifiedEdits = 0;
|
|
241
|
+
next.unverifiedPaths = [];
|
|
199
242
|
next.lastVerifiedAt = now;
|
|
200
243
|
// A proven fix answers the open reports.
|
|
201
244
|
next.openIssues = [];
|
|
@@ -233,6 +276,115 @@ export function clearWorkingState(projectPath) {
|
|
|
233
276
|
delete data.projects[normalizeProjectPath(projectPath)];
|
|
234
277
|
writeFileSafe(data);
|
|
235
278
|
}
|
|
279
|
+
/** No git answer — used on every best-effort failure path. */
|
|
280
|
+
const NO_RECONCILIATION = {
|
|
281
|
+
isGitRepo: false,
|
|
282
|
+
dirty: [],
|
|
283
|
+
unrecorded: [],
|
|
284
|
+
staleSinceVerification: [],
|
|
285
|
+
};
|
|
286
|
+
/** Run a read-only git command in `dir`; '' on any failure (never throws). */
|
|
287
|
+
function gitRead(dir, args) {
|
|
288
|
+
try {
|
|
289
|
+
const r = spawnSync('git', args, {
|
|
290
|
+
cwd: dir,
|
|
291
|
+
encoding: 'utf-8',
|
|
292
|
+
timeout: GIT_TIMEOUT_MS,
|
|
293
|
+
maxBuffer: 4 * 1024 * 1024,
|
|
294
|
+
});
|
|
295
|
+
if (r.status !== 0 || !r.stdout)
|
|
296
|
+
return '';
|
|
297
|
+
return r.stdout;
|
|
298
|
+
}
|
|
299
|
+
catch {
|
|
300
|
+
return '';
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Parse `git status --porcelain` output into repo-relative paths.
|
|
305
|
+
*
|
|
306
|
+
* Handles the two shapes that are not straight line-slices: a rename prints
|
|
307
|
+
* `R old -> new` (the NEW path is the one on disk), and git QUOTES a path with
|
|
308
|
+
* unusual bytes. Malformed lines are skipped rather than guessed at.
|
|
309
|
+
*/
|
|
310
|
+
function parsePorcelainPaths(out) {
|
|
311
|
+
const paths = [];
|
|
312
|
+
for (const line of out.split('\n')) {
|
|
313
|
+
if (line.length < 4)
|
|
314
|
+
continue;
|
|
315
|
+
let rest = line.slice(3);
|
|
316
|
+
const arrow = rest.lastIndexOf(' -> ');
|
|
317
|
+
if (arrow !== -1)
|
|
318
|
+
rest = rest.slice(arrow + 4);
|
|
319
|
+
if (rest.startsWith('"') && rest.endsWith('"') && rest.length > 1) {
|
|
320
|
+
rest = rest.slice(1, -1).replace(/\\(.)/g, '$1');
|
|
321
|
+
}
|
|
322
|
+
if (rest.trim())
|
|
323
|
+
paths.push(rest);
|
|
324
|
+
}
|
|
325
|
+
return paths;
|
|
326
|
+
}
|
|
327
|
+
/** Are two paths the same file? (One may be absolute, the other repo-relative.) */
|
|
328
|
+
function samePath(a, b, projectPath) {
|
|
329
|
+
if (a === b)
|
|
330
|
+
return true;
|
|
331
|
+
const abs = (p) => (isAbsolute(p) ? resolve(p) : resolve(projectPath, p));
|
|
332
|
+
try {
|
|
333
|
+
return abs(a) === abs(b);
|
|
334
|
+
}
|
|
335
|
+
catch {
|
|
336
|
+
return false;
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
/** File mtime in ms, or 0 when it cannot be read (never throws). */
|
|
340
|
+
function mtimeMs(path) {
|
|
341
|
+
try {
|
|
342
|
+
return statSync(path).mtimeMs;
|
|
343
|
+
}
|
|
344
|
+
catch {
|
|
345
|
+
return 0;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Re-read the WORLD behind the ledger: what is actually changed on disk, and
|
|
350
|
+
* whether anything changed after the last verification.
|
|
351
|
+
*
|
|
352
|
+
* WHY THIS EXISTS. The ledger records what the LOOP said it changed. That is a
|
|
353
|
+
* report, and the repo's own invariant (see `docs/rca_false_success_and_no_resume.md`
|
|
354
|
+
* §6) is that a report is a proposal — "re-read the world: files on disk, VCS
|
|
355
|
+
* status". Two real cases the report cannot cover: an edit made by something
|
|
356
|
+
* other than the agent, and a turn killed before it recorded anything. Both are
|
|
357
|
+
* exactly "work from the previous session whose state nobody knows".
|
|
358
|
+
*
|
|
359
|
+
* Read-only, bounded by a timeout, and best-effort: a directory that is not a
|
|
360
|
+
* repository (or has no git) reconciles to nothing rather than throwing.
|
|
361
|
+
*/
|
|
362
|
+
export function reconcileWithWorkspace(state, projectPath, now = Date.now()) {
|
|
363
|
+
try {
|
|
364
|
+
const dir = normalizeProjectPath(projectPath);
|
|
365
|
+
const inside = gitRead(dir, ['rev-parse', '--is-inside-work-tree']).trim();
|
|
366
|
+
if (inside !== 'true')
|
|
367
|
+
return NO_RECONCILIATION;
|
|
368
|
+
// `-uall` lists untracked FILES individually; the paths are what matter here.
|
|
369
|
+
const dirty = parsePorcelainPaths(gitRead(dir, ['status', '--porcelain', '-uall']));
|
|
370
|
+
if (dirty.length === 0)
|
|
371
|
+
return { isGitRepo: true, dirty: [], unrecorded: [], staleSinceVerification: [] };
|
|
372
|
+
const touched = state?.filesTouched ?? [];
|
|
373
|
+
const unrecorded = dirty.filter((p) => !touched.some((t) => samePath(t, p, dir)));
|
|
374
|
+
const verifiedAt = state?.lastVerifiedAt;
|
|
375
|
+
const staleSinceVerification = verifiedAt === undefined
|
|
376
|
+
? []
|
|
377
|
+
: dirty.filter((p) => {
|
|
378
|
+
const at = mtimeMs(resolve(dir, p));
|
|
379
|
+
return at > verifiedAt;
|
|
380
|
+
});
|
|
381
|
+
return { isGitRepo: true, dirty, unrecorded, staleSinceVerification };
|
|
382
|
+
}
|
|
383
|
+
catch {
|
|
384
|
+
// Best-effort — the ledger must never break a turn.
|
|
385
|
+
return NO_RECONCILIATION;
|
|
386
|
+
}
|
|
387
|
+
}
|
|
236
388
|
// ─── Formatting (the injected block) ────────────────────────────────────────
|
|
237
389
|
function relativeAge(ts, now) {
|
|
238
390
|
const mins = Math.max(0, Math.round((now - ts) / 60_000));
|
|
@@ -252,7 +404,7 @@ function relativeAge(ts, now) {
|
|
|
252
404
|
* Kept short on purpose: this rides in EVERY turn, so a verbose block would
|
|
253
405
|
* recreate the very drift it exists to prevent.
|
|
254
406
|
*/
|
|
255
|
-
export function formatWorkingState(state, now = Date.now()) {
|
|
407
|
+
export function formatWorkingState(state, now = Date.now(), reconciled) {
|
|
256
408
|
if (!state)
|
|
257
409
|
return '';
|
|
258
410
|
const lines = [];
|
|
@@ -263,9 +415,31 @@ export function formatWorkingState(state, now = Date.now()) {
|
|
|
263
415
|
if (state.unverifiedEdits > 0) {
|
|
264
416
|
lines.push(`• ⚠️ ${state.unverifiedEdits} edit turn(s) were NEVER verified — do not assume they work; re-check before building on them.`);
|
|
265
417
|
}
|
|
418
|
+
// The per-file debt, named. A count cannot be acted on ("re-check before
|
|
419
|
+
// building on THEM" leaves the model to guess which files); the paths can.
|
|
420
|
+
const owed = state.unverifiedPaths ?? [];
|
|
421
|
+
if (owed.length > 0) {
|
|
422
|
+
const shown = owed.slice(-5);
|
|
423
|
+
const named = shown.map((u) => `${u.path} (${relativeAge(u.at, now)})`).join(', ');
|
|
424
|
+
lines.push(`• ⚠️ Unverified changes (${owed.length}): ${named}${owed.length > shown.length ? ', …' : ''} — no check has exercised these.`);
|
|
425
|
+
}
|
|
266
426
|
if (state.lastVerifiedAt !== undefined) {
|
|
267
427
|
lines.push(`• Last verified: ${relativeAge(state.lastVerifiedAt, now)} (a test/typecheck/browser run passed).`);
|
|
268
428
|
}
|
|
429
|
+
// What GIT says the workspace holds, when it disagrees with (or adds to) the
|
|
430
|
+
// ledger's own report. Capped: this rides in every prompt.
|
|
431
|
+
if (reconciled?.isGitRepo) {
|
|
432
|
+
const stale = reconciled.staleSinceVerification;
|
|
433
|
+
if (stale.length > 0) {
|
|
434
|
+
const shown = stale.slice(0, 5);
|
|
435
|
+
lines.push(`• ⚠️ ${stale.length} file(s) changed on disk AFTER the last verification: ${shown.join(', ')}${stale.length > shown.length ? ', …' : ''} — nothing has checked them.`);
|
|
436
|
+
}
|
|
437
|
+
const extra = reconciled.unrecorded;
|
|
438
|
+
if (extra.length > 0) {
|
|
439
|
+
const shown = extra.slice(0, 5);
|
|
440
|
+
lines.push(`• ${extra.length} changed file(s) this ledger never recorded (an edit outside the agent, or a turn that died mid-work): ${shown.join(', ')}${extra.length > shown.length ? ', …' : ''}`);
|
|
441
|
+
}
|
|
442
|
+
}
|
|
269
443
|
if (state.openIssues.length > 0) {
|
|
270
444
|
const latest = state.openIssues[state.openIssues.length - 1];
|
|
271
445
|
lines.push(`• User has reported ${state.corrections} regression(s). Most recent report: "${latest}" — fix THIS, do not re-diagnose from scratch.`);
|
|
@@ -274,4 +448,23 @@ export function formatWorkingState(state, now = Date.now()) {
|
|
|
274
448
|
return '';
|
|
275
449
|
return `[Working state — carried from previous turns in THIS project]\n${lines.join('\n')}`;
|
|
276
450
|
}
|
|
451
|
+
/**
|
|
452
|
+
* The block every surface injects: the ledger PLUS the git reconciliation of the
|
|
453
|
+
* same workspace. One call so the CLI loop, the dashboard prompt assembly and the
|
|
454
|
+
* orchestrator cannot read the ledger without re-reading the world beside it.
|
|
455
|
+
*
|
|
456
|
+
* Returns '' for a project with nothing to say (a pristine workspace must add no
|
|
457
|
+
* prompt weight). Best-effort throughout.
|
|
458
|
+
*/
|
|
459
|
+
export function workingStateBlock(projectPath, now = Date.now()) {
|
|
460
|
+
try {
|
|
461
|
+
const state = getWorkingState(projectPath);
|
|
462
|
+
if (!state)
|
|
463
|
+
return '';
|
|
464
|
+
return formatWorkingState(state, now, reconcileWithWorkspace(state, projectPath, now));
|
|
465
|
+
}
|
|
466
|
+
catch {
|
|
467
|
+
return '';
|
|
468
|
+
}
|
|
469
|
+
}
|
|
277
470
|
//# sourceMappingURL=working-state.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"working-state.js","sourceRoot":"","sources":["../../src/learning/working-state.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"working-state.js","sourceRoot":"","sources":["../../src/learning/working-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -481,7 +481,7 @@ async function runToolLoop(config, allowed, provider, type, transport, loop) {
|
|
|
481
481
|
* flag. Nothing here depends on whether the nudge fired.
|
|
482
482
|
*/
|
|
483
483
|
const finish = (result, truncated) => {
|
|
484
|
-
const activity = assessEditActivity(successfulToolCalls, verificationEvidence, mutatedPaths);
|
|
484
|
+
const activity = assessEditActivity(successfulToolCalls, verificationEvidence, mutatedPaths, config.cwd ?? process.cwd());
|
|
485
485
|
const out = { result, llmCalls, toolCalls, ...base, truncated };
|
|
486
486
|
if (activity.needsVerification)
|
|
487
487
|
out.unverifiedEdit = true;
|
|
@@ -546,7 +546,8 @@ async function runToolLoop(config, allowed, provider, type, transport, loop) {
|
|
|
546
546
|
// runnable check must still finish, and the residual `unverifiedEdit` flag
|
|
547
547
|
// carries the honesty for that case.
|
|
548
548
|
if (verificationNudges < 1 &&
|
|
549
|
-
assessEditActivity(successfulToolCalls, verificationEvidence, mutatedPaths
|
|
549
|
+
assessEditActivity(successfulToolCalls, verificationEvidence, mutatedPaths, config.cwd ?? process.cwd())
|
|
550
|
+
.needsVerification) {
|
|
550
551
|
verificationNudges += 1;
|
|
551
552
|
iterationLimit += 1;
|
|
552
553
|
const mutations = successfulToolCalls.filter(isMutationTool);
|