wicked-crew 0.7.22 → 0.7.24
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/api/audit.d.ts +4 -1
- package/dist/api/audit.d.ts.map +1 -1
- package/dist/api/audit.js +5 -1
- package/dist/api/audit.js.map +1 -1
- package/dist/api/eval-store.d.ts +85 -0
- package/dist/api/eval-store.d.ts.map +1 -0
- package/dist/api/eval-store.js +176 -0
- package/dist/api/eval-store.js.map +1 -0
- package/dist/api/governance-steering.d.ts +5 -0
- package/dist/api/governance-steering.d.ts.map +1 -1
- package/dist/api/governance-steering.js +8 -9
- package/dist/api/governance-steering.js.map +1 -1
- package/dist/api/routes.d.ts +11 -0
- package/dist/api/routes.d.ts.map +1 -1
- package/dist/api/routes.js +116 -19
- package/dist/api/routes.js.map +1 -1
- package/dist/api/run-timing-index.d.ts +54 -0
- package/dist/api/run-timing-index.d.ts.map +1 -0
- package/dist/api/run-timing-index.js +82 -0
- package/dist/api/run-timing-index.js.map +1 -0
- package/dist/api/server.d.ts +4 -0
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +15 -1
- package/dist/api/server.js.map +1 -1
- package/dist/api/testing.d.ts +17 -1
- package/dist/api/testing.d.ts.map +1 -1
- package/dist/api/testing.js +93 -22
- package/dist/api/testing.js.map +1 -1
- package/dist/studio/assets/index-BmXt63Ij.js +537 -0
- package/dist/studio/assets/index-eso7X_3n.css +32 -0
- package/dist/studio/index.html +2 -2
- package/dist/studio/testid-inventory.json +411 -150
- package/endpoint-manifest.json +20 -1
- package/package.json +2 -2
- package/dist/studio/assets/index-CDWyxcSj.js +0 -537
- package/dist/studio/assets/index-Dz6mXrD5.css +0 -32
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The run→launch-time index (home command-center run metrics; api-types 0.24.0).
|
|
3
|
+
*
|
|
4
|
+
* The engine's `AgentSession` (wicked-core `domain.rs`) records no launch timestamp — checked, it
|
|
5
|
+
* carries only `archived_at` — so WHEN a run was launched is, exactly like its actor (task #88)
|
|
6
|
+
* and its retry lineage (CREW-UX-3), knowledge only the daemon's HTTP layer ever holds. The
|
|
7
|
+
* durable record is the `run.launched` audit entry's `ts` (unix MILLIS); this map is the read-side
|
|
8
|
+
* latency layer that lets `GET /runs` / `GET /runs/:id` echo `AgentSession.created_at` (unix
|
|
9
|
+
* SECONDS) without a trail scan per request.
|
|
10
|
+
*
|
|
11
|
+
* Mirrors `RetryIndex`'s posture exactly: hydrated once at server start from the SAME
|
|
12
|
+
* `run.launched` scan `RetryIndex` + `GroupIndex` already share (the crew#321 consolidation note),
|
|
13
|
+
* best-effort — a missing/unreadable trail leaves PRIOR runs undated, the pre-field behaviour, not
|
|
14
|
+
* an error — and updated at the same post-commit point that writes the audit entry, so the map can
|
|
15
|
+
* only lag by a failed hydrate, never diverge silently.
|
|
16
|
+
*/
|
|
17
|
+
import type { AuditLog } from './audit.js';
|
|
18
|
+
import type { Actor, AuditEntry } from '../core/types.js';
|
|
19
|
+
export declare class RunTimingIndex {
|
|
20
|
+
private readonly runToCreatedAt;
|
|
21
|
+
/**
|
|
22
|
+
* Consume pre-read `run.launched` entries — the seam that lets `createServer` feed this index
|
|
23
|
+
* from the ONE `readAll({ action: 'run.launched' })` it already runs for `RetryIndex` +
|
|
24
|
+
* `GroupIndex`, so boot stays at the same full-file trail scans, not one more.
|
|
25
|
+
*/
|
|
26
|
+
hydrateFromLaunchEntries(entries: AuditEntry[]): void;
|
|
27
|
+
/**
|
|
28
|
+
* Load launch times from EVERY `run.launched` entry in the trail — exhaustively, not capped, for
|
|
29
|
+
* the same reason `RetryIndex.hydrate` is (BRIEF-UX-002 C5): a launch fact thousands of runs deep
|
|
30
|
+
* must survive a restart, or a time-bucketed KPI silently drops the oldest runs. Still
|
|
31
|
+
* best-effort: a missing/unreadable trail leaves runs undated, the pre-field answer. Cost is one
|
|
32
|
+
* full-file scan at boot — the shared scan already parses the whole file.
|
|
33
|
+
*/
|
|
34
|
+
hydrate(audit: AuditLog, log?: (msg: string) => void): Promise<void>;
|
|
35
|
+
/**
|
|
36
|
+
* Record a run's launch instant (unix MILLIS — the caller passes `Date.now()`, the same clock the
|
|
37
|
+
* `run.launched` audit entry stamps, so the in-session answer and the post-restart rehydrate
|
|
38
|
+
* agree to the second). Stored as whole unix seconds.
|
|
39
|
+
*/
|
|
40
|
+
set(runId: string, launchedAtMillis: number): void;
|
|
41
|
+
/** The run's launch time in unix SECONDS, or `undefined` (the DTO spells that as an ABSENT field). */
|
|
42
|
+
createdAtFor(runId: string): number | undefined;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Record a `run.launched` audit entry AND stamp the run-timing index with the SAME durable `ts`, so
|
|
46
|
+
* `created_at` is answered LIVE (not only after a restart re-hydrates the trail) for EVERY route
|
|
47
|
+
* that launches a run — `POST /runs` and the recon/steering-author launchers alike. Centralized
|
|
48
|
+
* here (Copilot #466) so a new launch site can never again record the trail without stamping the
|
|
49
|
+
* index. `ts === 0` (audit disabled — the `noop` trail route-unit tests build) stamps nothing,
|
|
50
|
+
* keeping `created_at` derived ONLY from a durable entry, never fabricated. Returns the millis `ts`
|
|
51
|
+
* for a caller that needs it (0 when audit is disabled).
|
|
52
|
+
*/
|
|
53
|
+
export declare function recordRunLaunched(audit: AuditLog, runTimingIndex: RunTimingIndex | undefined, actor: Actor, runId: string, detail: Record<string, unknown>): number;
|
|
54
|
+
//# sourceMappingURL=run-timing-index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-timing-index.d.ts","sourceRoot":"","sources":["../../src/api/run-timing-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAW1D,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAE5D;;;;OAIG;IACH,wBAAwB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI;IAQrD;;;;;;OAMG;IACG,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAY1E;;;;OAIG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAIlD,sGAAsG;IACtG,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAGhD;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,QAAQ,EACf,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CAIR"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The run→launch-time index (home command-center run metrics; api-types 0.24.0).
|
|
3
|
+
*
|
|
4
|
+
* The engine's `AgentSession` (wicked-core `domain.rs`) records no launch timestamp — checked, it
|
|
5
|
+
* carries only `archived_at` — so WHEN a run was launched is, exactly like its actor (task #88)
|
|
6
|
+
* and its retry lineage (CREW-UX-3), knowledge only the daemon's HTTP layer ever holds. The
|
|
7
|
+
* durable record is the `run.launched` audit entry's `ts` (unix MILLIS); this map is the read-side
|
|
8
|
+
* latency layer that lets `GET /runs` / `GET /runs/:id` echo `AgentSession.created_at` (unix
|
|
9
|
+
* SECONDS) without a trail scan per request.
|
|
10
|
+
*
|
|
11
|
+
* Mirrors `RetryIndex`'s posture exactly: hydrated once at server start from the SAME
|
|
12
|
+
* `run.launched` scan `RetryIndex` + `GroupIndex` already share (the crew#321 consolidation note),
|
|
13
|
+
* best-effort — a missing/unreadable trail leaves PRIOR runs undated, the pre-field behaviour, not
|
|
14
|
+
* an error — and updated at the same post-commit point that writes the audit entry, so the map can
|
|
15
|
+
* only lag by a failed hydrate, never diverge silently.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Millis → whole unix SECONDS. The DTO field (`AgentSession.created_at`) and every other
|
|
19
|
+
* `created_at` in this wire contract (`ConformanceRule`, memory items) are unix SECONDS; the audit
|
|
20
|
+
* trail stamps millis (`AuditEntry.ts`), so the conversion happens here, once, at the seam.
|
|
21
|
+
*/
|
|
22
|
+
function toSeconds(millis) {
|
|
23
|
+
return Math.floor(millis / 1000);
|
|
24
|
+
}
|
|
25
|
+
export class RunTimingIndex {
|
|
26
|
+
runToCreatedAt = new Map();
|
|
27
|
+
/**
|
|
28
|
+
* Consume pre-read `run.launched` entries — the seam that lets `createServer` feed this index
|
|
29
|
+
* from the ONE `readAll({ action: 'run.launched' })` it already runs for `RetryIndex` +
|
|
30
|
+
* `GroupIndex`, so boot stays at the same full-file trail scans, not one more.
|
|
31
|
+
*/
|
|
32
|
+
hydrateFromLaunchEntries(entries) {
|
|
33
|
+
for (const entry of entries) {
|
|
34
|
+
if (typeof entry.runId === 'string' && typeof entry.ts === 'number' && entry.ts > 0) {
|
|
35
|
+
this.runToCreatedAt.set(entry.runId, toSeconds(entry.ts));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Load launch times from EVERY `run.launched` entry in the trail — exhaustively, not capped, for
|
|
41
|
+
* the same reason `RetryIndex.hydrate` is (BRIEF-UX-002 C5): a launch fact thousands of runs deep
|
|
42
|
+
* must survive a restart, or a time-bucketed KPI silently drops the oldest runs. Still
|
|
43
|
+
* best-effort: a missing/unreadable trail leaves runs undated, the pre-field answer. Cost is one
|
|
44
|
+
* full-file scan at boot — the shared scan already parses the whole file.
|
|
45
|
+
*/
|
|
46
|
+
async hydrate(audit, log) {
|
|
47
|
+
try {
|
|
48
|
+
this.hydrateFromLaunchEntries(await audit.readAll({ action: 'run.launched' }));
|
|
49
|
+
}
|
|
50
|
+
catch (err) {
|
|
51
|
+
log?.(`[runs] run-timing-index hydrate failed (prior runs read as undated until restart): ${err instanceof Error ? err.message : String(err)}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Record a run's launch instant (unix MILLIS — the caller passes `Date.now()`, the same clock the
|
|
56
|
+
* `run.launched` audit entry stamps, so the in-session answer and the post-restart rehydrate
|
|
57
|
+
* agree to the second). Stored as whole unix seconds.
|
|
58
|
+
*/
|
|
59
|
+
set(runId, launchedAtMillis) {
|
|
60
|
+
this.runToCreatedAt.set(runId, toSeconds(launchedAtMillis));
|
|
61
|
+
}
|
|
62
|
+
/** The run's launch time in unix SECONDS, or `undefined` (the DTO spells that as an ABSENT field). */
|
|
63
|
+
createdAtFor(runId) {
|
|
64
|
+
return this.runToCreatedAt.get(runId);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Record a `run.launched` audit entry AND stamp the run-timing index with the SAME durable `ts`, so
|
|
69
|
+
* `created_at` is answered LIVE (not only after a restart re-hydrates the trail) for EVERY route
|
|
70
|
+
* that launches a run — `POST /runs` and the recon/steering-author launchers alike. Centralized
|
|
71
|
+
* here (Copilot #466) so a new launch site can never again record the trail without stamping the
|
|
72
|
+
* index. `ts === 0` (audit disabled — the `noop` trail route-unit tests build) stamps nothing,
|
|
73
|
+
* keeping `created_at` derived ONLY from a durable entry, never fabricated. Returns the millis `ts`
|
|
74
|
+
* for a caller that needs it (0 when audit is disabled).
|
|
75
|
+
*/
|
|
76
|
+
export function recordRunLaunched(audit, runTimingIndex, actor, runId, detail) {
|
|
77
|
+
const ts = audit.record('run.launched', actor, { runId, detail });
|
|
78
|
+
if (ts > 0)
|
|
79
|
+
runTimingIndex?.set(runId, ts);
|
|
80
|
+
return ts;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=run-timing-index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-timing-index.js","sourceRoot":"","sources":["../../src/api/run-timing-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH;;;;GAIG;AACH,SAAS,SAAS,CAAC,MAAc;IAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,OAAO,cAAc;IACR,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE5D;;;;OAIG;IACH,wBAAwB,CAAC,OAAqB;QAC5C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;gBACpF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CAAC,KAAe,EAAE,GAA2B;QACxD,IAAI,CAAC;YACH,IAAI,CAAC,wBAAwB,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;QACjF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,EAAE,CACH,sFACE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CACjD,EAAE,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,KAAa,EAAE,gBAAwB;QACzC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,sGAAsG;IACtG,YAAY,CAAC,KAAa;QACxB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAe,EACf,cAA0C,EAC1C,KAAY,EACZ,KAAa,EACb,MAA+B;IAE/B,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAClE,IAAI,EAAE,GAAG,CAAC;QAAE,cAAc,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC3C,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
package/dist/api/server.d.ts
CHANGED
|
@@ -169,6 +169,10 @@ export interface CreateServerOptions {
|
|
|
169
169
|
auth?: AuthOptions;
|
|
170
170
|
/** Audit-trail path override (tests). Default `~/.wicked-crew/audit.log` / `WICKED_CREW_AUDIT_LOG`. */
|
|
171
171
|
auditPath?: string;
|
|
172
|
+
/** Eval-run-history root override (tests). Default the state home's `evals/` /
|
|
173
|
+
* `WICKED_CREW_EVAL_STORE`. Symmetric with `auditPath` — a createServer-driven test isolates its
|
|
174
|
+
* eval history here instead of writing the operator's real `~/.wicked-crew/evals/`. */
|
|
175
|
+
evalStoreRoot?: string;
|
|
172
176
|
/**
|
|
173
177
|
* The worker stall watchdog (crew#287 detection + crew#341 escalation). For every run whose
|
|
174
178
|
* engine status is `executing`, the daemon tracks the last CoreEvent observed on its own
|
package/dist/api/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/api/server.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAW9B,OAAO,EAAkC,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/api/server.ts"],"names":[],"mappings":"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"}
|
package/dist/api/server.js
CHANGED
|
@@ -10,8 +10,10 @@ import { GateCache } from './gate-cache.js';
|
|
|
10
10
|
import { ElicitationCache } from './elicitation-cache.js';
|
|
11
11
|
import { registerAuthHooks, resolveAuth } from './auth.js';
|
|
12
12
|
import { AuditLog } from './audit.js';
|
|
13
|
+
import { EvalRunStore } from './eval-store.js';
|
|
13
14
|
import { RetryIndex } from './retry-index.js';
|
|
14
15
|
import { GroupIndex } from './group-index.js';
|
|
16
|
+
import { RunTimingIndex } from './run-timing-index.js';
|
|
15
17
|
import { GuidanceIndex } from './guidance-index.js';
|
|
16
18
|
import { DeliveryIndex, deliverUnitOf, gitRunBranchIsEmpty, gitWorktreeIsClean, prUrlFrom, } from './delivery-index.js';
|
|
17
19
|
import { DeliveryDerivationCache } from './delivery-cache.js';
|
|
@@ -91,6 +93,12 @@ export async function createServer(adapter, options) {
|
|
|
91
93
|
app.addHook('onClose', async () => {
|
|
92
94
|
await audit.flush(); // don't lose the trail's tail on shutdown
|
|
93
95
|
});
|
|
96
|
+
// The eval RUN history behind `/testing/evals[/:id]` — rooted under the daemon's resolved state
|
|
97
|
+
// home (so a `--db`-isolated daemon keeps its eval history isolated too), synchronous writes, no
|
|
98
|
+
// shutdown flush to await (each run persists inline before its POST answers). The `evalStoreRoot`
|
|
99
|
+
// option lets a createServer-driven test isolate its history off the real home (symmetric with
|
|
100
|
+
// `auditPath`); production omits it and resolves through the state-home seam.
|
|
101
|
+
const evalStore = new EvalRunStore(options?.evalStoreRoot, (m) => app.log.warn(m));
|
|
94
102
|
// Seat sign-in: export the persisted worker-config root as WICKED_WORKER_HOME at boot (the
|
|
95
103
|
// PUT /settings route re-applies it on every change). The engine reads the env PER SPAWN
|
|
96
104
|
// (acp_runner.rs claude_worker_home), so boot + on-change application is sufficient — no
|
|
@@ -118,13 +126,17 @@ export async function createServer(adapter, options) {
|
|
|
118
126
|
// boot stays at three full-file trail scans, not four (the crew#321 consolidation note).
|
|
119
127
|
const retryIndex = new RetryIndex();
|
|
120
128
|
const groupIndex = new GroupIndex();
|
|
129
|
+
// Run launch time (home command-center run metrics): the third consumer of the `run.launched`
|
|
130
|
+
// scan — the entry's `ts` is the durable launch instant `AgentSession.created_at` echoes.
|
|
131
|
+
const runTimingIndex = new RunTimingIndex();
|
|
121
132
|
try {
|
|
122
133
|
const launchEntries = await audit.readAll({ action: 'run.launched' });
|
|
123
134
|
retryIndex.hydrateFromLaunchEntries(launchEntries);
|
|
124
135
|
groupIndex.hydrateFromLaunchEntries(launchEntries);
|
|
136
|
+
runTimingIndex.hydrateFromLaunchEntries(launchEntries);
|
|
125
137
|
}
|
|
126
138
|
catch (err) {
|
|
127
|
-
app.log.warn(`[runs] launch-index hydrate failed (prior runs read as not-a-retry / ungrouped until restart): ${err instanceof Error ? err.message : String(err)}`);
|
|
139
|
+
app.log.warn(`[runs] launch-index hydrate failed (prior runs read as not-a-retry / ungrouped / undated until restart): ${err instanceof Error ? err.message : String(err)}`);
|
|
128
140
|
}
|
|
129
141
|
// Operator guidance (CREW-UX-7, DES-UX-002 §7.2): same durable pattern — hydrated from the
|
|
130
142
|
// trail's `guidance.set` entries so notes survive a daemon restart.
|
|
@@ -696,6 +708,7 @@ export async function createServer(adapter, options) {
|
|
|
696
708
|
seatHealth,
|
|
697
709
|
retryIndex,
|
|
698
710
|
groupIndex,
|
|
711
|
+
runTimingIndex,
|
|
699
712
|
guidanceIndex,
|
|
700
713
|
deliveryIndex,
|
|
701
714
|
// The delivery machinery built beside the index above: the started cache, and the SAME
|
|
@@ -708,6 +721,7 @@ export async function createServer(adapter, options) {
|
|
|
708
721
|
errorRing,
|
|
709
722
|
studioRoot,
|
|
710
723
|
dropDocLedgerRows,
|
|
724
|
+
evalStore,
|
|
711
725
|
});
|
|
712
726
|
// The UI-emittable direction of the interactive seam. Registered unconditionally (a null relay
|
|
713
727
|
// answers 503, not 404) and BEFORE the static/SPA fallback below, like every other API route.
|
package/dist/api/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/api/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/api/server.ts"],"names":[],"mappings":"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"}
|
package/dist/api/testing.d.ts
CHANGED
|
@@ -22,8 +22,10 @@
|
|
|
22
22
|
import type { FastifyInstance, FastifyRequest } from 'fastify';
|
|
23
23
|
import { z } from 'zod';
|
|
24
24
|
import { type CoreAdapter } from '../core/adapter.js';
|
|
25
|
-
import type { Actor } from '../core/types.js';
|
|
25
|
+
import type { Actor, EvalRunPerTypeCount, GovernanceEvalReport, SteeringType } from '../core/types.js';
|
|
26
26
|
import type { AuditLog } from './audit.js';
|
|
27
|
+
import { type RunTimingIndex } from './run-timing-index.js';
|
|
28
|
+
import type { EvalRunStore } from './eval-store.js';
|
|
27
29
|
import type { ProjectBus } from '../projects/events.js';
|
|
28
30
|
import type { MembershipIndex } from '../projects/membership-index.js';
|
|
29
31
|
export declare const RunGovernanceEvalsSchema: z.ZodObject<{
|
|
@@ -140,6 +142,20 @@ export interface TestingRoutesDeps {
|
|
|
140
142
|
bus: ProjectBus | null;
|
|
141
143
|
index: MembershipIndex;
|
|
142
144
|
};
|
|
145
|
+
/** The run→launch-time index (home command-center run metrics) — so a recon fan's `run.launched`
|
|
146
|
+
* entries stamp `created_at` LIVE, not only after a restart re-hydrates the trail (Copilot #466).
|
|
147
|
+
* Optional so route-unit tests can omit it; `registerRoutes` always supplies it. */
|
|
148
|
+
runTimingIndex?: RunTimingIndex;
|
|
149
|
+
/** The eval RUN history store — every `POST /testing/evals/run` is recorded here (best-effort)
|
|
150
|
+
* so `GET /testing/evals[/:id]` can serve a real history. Optional so route-level unit tests
|
|
151
|
+
* that never touch the eval routes can omit it; `registerRoutes` always supplies it. */
|
|
152
|
+
evalStore?: EvalRunStore;
|
|
143
153
|
}
|
|
154
|
+
/**
|
|
155
|
+
* Derive the per-steering-type rollup from a report's results — the same four counts as the
|
|
156
|
+
* report summary, grouped by `sample.steering_type`, so the Evals dashboard's "which type carries
|
|
157
|
+
* the gaps" view is a stored field rather than a per-request recompute over the full results.
|
|
158
|
+
*/
|
|
159
|
+
export declare function perTypeRollup(results: GovernanceEvalReport['results']): Partial<Record<SteeringType, EvalRunPerTypeCount>>;
|
|
144
160
|
export declare function registerTestingRoutes(app: FastifyInstance, adapter: CoreAdapter, deps: TestingRoutesDeps): void;
|
|
145
161
|
//# sourceMappingURL=testing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/api/testing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/api/testing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,KAAK,EACL,mBAAmB,EACnB,oBAAoB,EAGpB,YAAY,EACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAOpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AA+CvE,eAAO,MAAM,wBAAwB;;;;;;;;;EAK1B,CAAC;AAEZ,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKxB,CAAC;AAQZ,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAUpB,CAAC;AAEZ,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,CAAC,GAAG,EAAE,cAAc,GAAG;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,KAAK,KAAK,CAAC;IAC5D,kGAAkG;IAClG,MAAM,EAAE,MAAM,OAAO,EAAE,CAAC;IACxB;+FAC2F;IAC3F,QAAQ,CAAC,EAAE;QAAE,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,eAAe,CAAA;KAAE,CAAC;IAC9D;;yFAEqF;IACrF,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;6FAEyF;IACzF,SAAS,CAAC,EAAE,YAAY,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,oBAAoB,CAAC,SAAS,CAAC,GACvC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC,CAkBpD;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,iBAAiB,GACtB,IAAI,CAuXN"}
|
package/dist/api/testing.js
CHANGED
|
@@ -22,8 +22,9 @@
|
|
|
22
22
|
import { randomUUID } from 'node:crypto';
|
|
23
23
|
import { z } from 'zod';
|
|
24
24
|
import { GovernanceEvalsUnsupportedError, ProjectsUnsupportedError, } from '../core/adapter.js';
|
|
25
|
+
import { recordRunLaunched } from './run-timing-index.js';
|
|
25
26
|
import { API_PREFIX } from './api-prefix.js';
|
|
26
|
-
import { STEERING_TYPE_VALUES } from './governance-steering.js';
|
|
27
|
+
import { STEERING_TYPE_VALUES, STEERING_TYPES } from './governance-steering.js';
|
|
27
28
|
import { resolveScopeRepos } from './multiscope.js';
|
|
28
29
|
import { buildReconCampaign, RECON_INTAKE_GATE_TOKEN } from '../campaigns/plan.js';
|
|
29
30
|
import { resolveProjectGraphBinding } from '../projects/graph.js';
|
|
@@ -94,6 +95,34 @@ export const TestingReconSchema = z
|
|
|
94
95
|
ungated: z.boolean().optional(),
|
|
95
96
|
})
|
|
96
97
|
.strict();
|
|
98
|
+
/**
|
|
99
|
+
* Derive the per-steering-type rollup from a report's results — the same four counts as the
|
|
100
|
+
* report summary, grouped by `sample.steering_type`, so the Evals dashboard's "which type carries
|
|
101
|
+
* the gaps" view is a stored field rather than a per-request recompute over the full results.
|
|
102
|
+
*/
|
|
103
|
+
export function perTypeRollup(results) {
|
|
104
|
+
const out = {};
|
|
105
|
+
for (const r of results) {
|
|
106
|
+
// `sample.steering_type` is an OPEN string on the wire (the engine validates it against its own
|
|
107
|
+
// vocabulary — see the sample-schema comment). Only bucket the 7 known types so `per_type`'s
|
|
108
|
+
// keys stay strictly within `SteeringType` (the api-types contract, `Partial<Record<...>>`); an
|
|
109
|
+
// off-vocabulary type is skipped, not cast in (Copilot #467). It still counts in the engine's
|
|
110
|
+
// `summary`, so per_type totals are "per KNOWN type", which may sum to ≤ summary.total. Reuses
|
|
111
|
+
// the ONE steering-type set (governance-steering.ts) rather than a second membership set.
|
|
112
|
+
if (!STEERING_TYPES.has(r.sample.steering_type))
|
|
113
|
+
continue;
|
|
114
|
+
const type = r.sample.steering_type;
|
|
115
|
+
const bucket = (out[type] ??= { total: 0, caught: 0, gaps: 0, false_positives: 0 });
|
|
116
|
+
bucket.total += 1;
|
|
117
|
+
if (r.verdict === 'caught')
|
|
118
|
+
bucket.caught += 1;
|
|
119
|
+
else if (r.verdict === 'gap')
|
|
120
|
+
bucket.gaps += 1;
|
|
121
|
+
else if (r.verdict === 'false_positive')
|
|
122
|
+
bucket.false_positives += 1;
|
|
123
|
+
}
|
|
124
|
+
return out;
|
|
125
|
+
}
|
|
97
126
|
export function registerTestingRoutes(app, adapter, deps) {
|
|
98
127
|
const { audit, actorOf } = deps;
|
|
99
128
|
// ── Run the governance evals (the Testing page's Run action) ─────────────────
|
|
@@ -120,10 +149,31 @@ export function registerTestingRoutes(app, adapter, deps) {
|
|
|
120
149
|
// Passed through verbatim — no reshaping on our side of the seam: the report IS the
|
|
121
150
|
// pinned contract, snake_case and all (`summary.false_positives`, `nearest_rules`).
|
|
122
151
|
// (Spread-rebuilt args: exactOptionalPropertyTypes — an absent key, never `undefined`.)
|
|
123
|
-
|
|
152
|
+
const report = await adapter.runGovernanceEvals({
|
|
124
153
|
...(parsed.data.type !== undefined ? { type: parsed.data.type } : {}),
|
|
125
154
|
...(parsed.data.corpus !== undefined ? { corpus: parsed.data.corpus } : {}),
|
|
126
155
|
});
|
|
156
|
+
// Record the run in the eval history (best-effort, LOUD-NON-FATAL): the report is the
|
|
157
|
+
// contract and must answer even if persistence fails, so a store miss is warned and
|
|
158
|
+
// swallowed, never a 500. `rule_store` is the daemon's own steering store the run judged.
|
|
159
|
+
if (deps.evalStore !== undefined) {
|
|
160
|
+
try {
|
|
161
|
+
await deps.evalStore.record({
|
|
162
|
+
actor: actorOf(req).id,
|
|
163
|
+
corpus: parsed.data.corpus ?? null,
|
|
164
|
+
type_filter: parsed.data.type ?? null,
|
|
165
|
+
rule_store: adapter.dbPath,
|
|
166
|
+
summary: report.summary,
|
|
167
|
+
per_type: perTypeRollup(report.results),
|
|
168
|
+
degraded: report.degraded,
|
|
169
|
+
results: report.results,
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
catch (persistErr) {
|
|
173
|
+
req.log.warn(`eval run recorded to the report but NOT to history: ${message(persistErr)}`);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return report;
|
|
127
177
|
}
|
|
128
178
|
catch (err) {
|
|
129
179
|
if (err instanceof GovernanceEvalsUnsupportedError) {
|
|
@@ -134,6 +184,31 @@ export function registerTestingRoutes(app, adapter, deps) {
|
|
|
134
184
|
return reply.code(500).send({ error: message(err) });
|
|
135
185
|
}
|
|
136
186
|
});
|
|
187
|
+
// ── The eval RUN history (the Evals section's list + drilldown) ──────────────
|
|
188
|
+
// Read back what the run route records. GLOBAL per daemon — evals judge a store, not a
|
|
189
|
+
// workspace, so there is no repo/project scope (unlike recon campaign runs). `?type=` / `?corpus=`
|
|
190
|
+
// narrow the list to comparable runs. A daemon with no history (or an addon that never recorded
|
|
191
|
+
// one) answers `{ runs: [] }`, never an error — an empty history is a valid state, not a fault.
|
|
192
|
+
app.get(`${V}/testing/evals`, { config: { manifest: { responseType: 'ListEvalRunsResponse', statusCodes: [200] } } }, async (req) => {
|
|
193
|
+
if (deps.evalStore === undefined)
|
|
194
|
+
return { runs: [] };
|
|
195
|
+
const q = req.query;
|
|
196
|
+
return {
|
|
197
|
+
runs: await deps.evalStore.list({
|
|
198
|
+
...(q.type !== undefined ? { type_filter: q.type } : {}),
|
|
199
|
+
...(q.corpus !== undefined ? { corpus: q.corpus } : {}),
|
|
200
|
+
}),
|
|
201
|
+
};
|
|
202
|
+
});
|
|
203
|
+
// One run WITH its full per-sample results — the drilldown behind a history row (the same report
|
|
204
|
+
// the run's original POST returned). 404 when the id is unknown or its detail file is gone.
|
|
205
|
+
app.get(`${V}/testing/evals/:id`, { config: { manifest: { responseType: 'EvalRunDetail', statusCodes: [200, 404] } } }, async (req, reply) => {
|
|
206
|
+
const { id } = req.params;
|
|
207
|
+
const detail = (await deps.evalStore?.get(id)) ?? null;
|
|
208
|
+
if (detail === null)
|
|
209
|
+
return reply.code(404).send({ error: `no eval run '${id}'` });
|
|
210
|
+
return detail;
|
|
211
|
+
});
|
|
137
212
|
// ── Import a named eval corpus (the Testing page's Import action) ────────────
|
|
138
213
|
// Samples land in the knowledge store under the `evals:<name>` scope — the string a later
|
|
139
214
|
// evals run names as `corpus`. Audited (a write), unlike the run above (compute over the
|
|
@@ -303,16 +378,14 @@ export function registerTestingRoutes(app, adapter, deps) {
|
|
|
303
378
|
}
|
|
304
379
|
}
|
|
305
380
|
// The same trail entry POST /runs writes — each node IS a run launch this route
|
|
306
|
-
// caused, findable by the same `?action=run.launched` query, grouped by the label
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
...(b.projectId !== undefined ? { projectId: b.projectId } : {}),
|
|
315
|
-
},
|
|
381
|
+
// caused, findable by the same `?action=run.launched` query, grouped by the label — and
|
|
382
|
+
// the shared helper stamps `created_at` from the SAME durable ts (Copilot #466).
|
|
383
|
+
recordRunLaunched(audit, deps.runTimingIndex, actorOf(req), runId, {
|
|
384
|
+
campaign,
|
|
385
|
+
recon: true,
|
|
386
|
+
...gateDetail,
|
|
387
|
+
repoRef: scope.repos[i].id,
|
|
388
|
+
...(b.projectId !== undefined ? { projectId: b.projectId } : {}),
|
|
316
389
|
});
|
|
317
390
|
}
|
|
318
391
|
return reply.code(201).send({
|
|
@@ -372,16 +445,14 @@ export function registerTestingRoutes(app, adapter, deps) {
|
|
|
372
445
|
return reply.code(busy ? 409 : 400).send({ error: msg });
|
|
373
446
|
}
|
|
374
447
|
// The same trail entry POST /runs writes — this IS a run launch, findable by the same
|
|
375
|
-
// `?action=run.launched` query — plus the shared campaign label the fan is grouped by
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
...(b.projectId !== undefined ? { projectId: b.projectId } : {}),
|
|
384
|
-
},
|
|
448
|
+
// `?action=run.launched` query — plus the shared campaign label the fan is grouped by; the
|
|
449
|
+
// shared helper stamps `created_at` from the SAME durable ts (Copilot #466).
|
|
450
|
+
recordRunLaunched(audit, deps.runTimingIndex, actorOf(req), runId, {
|
|
451
|
+
campaign,
|
|
452
|
+
recon: true,
|
|
453
|
+
...gateDetail,
|
|
454
|
+
...(target !== null ? { repoRef: target.id } : {}),
|
|
455
|
+
...(b.projectId !== undefined ? { projectId: b.projectId } : {}),
|
|
385
456
|
});
|
|
386
457
|
fileIntoProject(runId, Date.now());
|
|
387
458
|
runIds.push(runId);
|