@tokenfactory/acc-runner 0.47.16 → 0.47.18
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/build-info.generated.d.ts +1 -1
- package/dist/build-info.generated.js +2 -2
- package/dist/codex-model-catalog.d.ts +27 -0
- package/dist/codex-model-catalog.d.ts.map +1 -1
- package/dist/codex-model-catalog.js +94 -1
- package/dist/codex-model-catalog.js.map +1 -1
- package/dist/commit-guard.d.ts +3 -3
- package/dist/commit-guard.d.ts.map +1 -1
- package/dist/commit-guard.js +9 -4
- package/dist/commit-guard.js.map +1 -1
- package/dist/companion-run.d.ts.map +1 -1
- package/dist/companion-run.js +14 -7
- package/dist/companion-run.js.map +1 -1
- package/dist/gh.d.ts +4 -2
- package/dist/gh.d.ts.map +1 -1
- package/dist/gh.js +16 -4
- package/dist/gh.js.map +1 -1
- package/dist/orphan-work.d.ts +32 -0
- package/dist/orphan-work.d.ts.map +1 -0
- package/dist/orphan-work.js +69 -0
- package/dist/orphan-work.js.map +1 -0
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +14 -1
- package/dist/program.js.map +1 -1
- package/dist/task-liveness.d.ts +16 -0
- package/dist/task-liveness.d.ts.map +1 -0
- package/dist/task-liveness.js +31 -0
- package/dist/task-liveness.js.map +1 -0
- package/dist/task-runner.d.ts.map +1 -1
- package/dist/task-runner.js +142 -22
- package/dist/task-runner.js.map +1 -1
- package/dist/task-write-hook.d.ts +11 -0
- package/dist/task-write-hook.d.ts.map +1 -0
- package/dist/task-write-hook.js +22 -0
- package/dist/task-write-hook.js.map +1 -0
- package/dist/watch-chat/wire.d.ts.map +1 -1
- package/dist/watch-chat/wire.js +10 -3
- package/dist/watch-chat/wire.js.map +1 -1
- package/package.json +1 -1
- package/scripts/audit-terminal-claims-core.d.mts +66 -0
- package/scripts/audit-terminal-claims-core.mjs +164 -0
- package/scripts/audit-terminal-claims.mjs +98 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../src/watch-chat/wire.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../src/watch-chat/wire.ts"],"names":[],"mappings":"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"}
|
package/dist/watch-chat/wire.js
CHANGED
|
@@ -22,7 +22,7 @@ import { getConfiguredChatEngine } from "../engines/registry.js";
|
|
|
22
22
|
import { createCodexChatEngine } from "../engines/codex-chat.js";
|
|
23
23
|
import { fetchTurnAttachments } from "../attachments/fetch-attachment.js";
|
|
24
24
|
import { ensureRunnerSubscriptionIdentity } from "../companion-identity.js";
|
|
25
|
-
import { reportCodexModelCatalog } from "../codex-model-catalog.js";
|
|
25
|
+
import { reportClaudeModelCatalog, reportCodexModelCatalog } from "../codex-model-catalog.js";
|
|
26
26
|
import { ChatCircuitBreaker } from "../runtime/chat-circuit-breaker.js";
|
|
27
27
|
import { OwnerConversationSource, backfillActiveConversations, createConversationListener, } from "../companion.js";
|
|
28
28
|
import { createMcpConfigSession, probeMcpServer, } from "../mcp-spawn.js";
|
|
@@ -195,8 +195,9 @@ export async function startFleetChatServing(deps) {
|
|
|
195
195
|
}
|
|
196
196
|
log(`[acc-runner] fleet chat subscription ready — ${engine.id}, identity ${registration.identityId}, ` +
|
|
197
197
|
`tier ${registration.tier}, capacity ${registration.capacity}`);
|
|
198
|
-
if (engine.id === "codex") {
|
|
199
|
-
|
|
198
|
+
if (engine.id === "codex" || engine.id === "claude-code") {
|
|
199
|
+
const report = engine.id === "codex" ? reportCodexModelCatalog : reportClaudeModelCatalog;
|
|
200
|
+
const published = report({
|
|
200
201
|
publicUrl: cfg.publicUrl,
|
|
201
202
|
accessToken,
|
|
202
203
|
identityId: registration.identityId,
|
|
@@ -204,6 +205,12 @@ export async function startFleetChatServing(deps) {
|
|
|
204
205
|
...(deps.fetchImpl ? { fetchImpl: deps.fetchImpl } : {}),
|
|
205
206
|
onLog: log,
|
|
206
207
|
});
|
|
208
|
+
// Claude discovery runs one model turn per family alias; it never throws,
|
|
209
|
+
// so it publishes in the background instead of holding the lane offline.
|
|
210
|
+
if (engine.id === "codex")
|
|
211
|
+
await published;
|
|
212
|
+
else
|
|
213
|
+
void published;
|
|
207
214
|
}
|
|
208
215
|
const breaker = new ChatCircuitBreaker();
|
|
209
216
|
await breaker.load().catch(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wire.js","sourceRoot":"","sources":["../../src/watch-chat/wire.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wire.js","sourceRoot":"","sources":["../../src/watch-chat/wire.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tokenfactory/acc-runner",
|
|
3
|
-
"version": "0.47.
|
|
3
|
+
"version": "0.47.18",
|
|
4
4
|
"description": "Agent Control Center CLI (`acc`). Sign in, read the task board, ask ACC, and run agents on this machine. `acc-runner` is retained as a deprecated alias.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"private": false,
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
// Type surface for audit-terminal-claims-core.mjs, so the fixture test can
|
|
2
|
+
// import it under NodeNext + strict without allowJs.
|
|
3
|
+
export interface AuditSource { read: boolean; error?: string; earliest?: string | null }
|
|
4
|
+
export interface AuditEvent { id: string; target_id: string; created_at: string; verb: string; payload: Record<string, unknown> }
|
|
5
|
+
export interface AuditTaskEvent { task_id: string; created_at: string; kind: string; payload: Record<string, unknown> }
|
|
6
|
+
export interface AuditTask { id: string; status: string; pr_number?: number | null; repo?: string | null; branch?: string | null; runner_id?: string | null }
|
|
7
|
+
export interface AuditLock { task_id: string; runner_id: string; locked_at?: string }
|
|
8
|
+
export interface AuditRunner { id: string; current_task_id: string | null; heartbeat_at?: string | null }
|
|
9
|
+
|
|
10
|
+
export interface AuditBound {
|
|
11
|
+
statement: string;
|
|
12
|
+
reads: string[];
|
|
13
|
+
cannot_see: string[];
|
|
14
|
+
earliest_retained: Record<string, string | null>;
|
|
15
|
+
unread_sources: Array<{ source: string; error: string }>;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface AuditRow {
|
|
19
|
+
task_id: string;
|
|
20
|
+
pr_number: number | null;
|
|
21
|
+
terminal_status: string;
|
|
22
|
+
terminal_at: string;
|
|
23
|
+
evidence: Array<'claim_lock_held_past_terminal' | 'pane_output_after_terminal'>;
|
|
24
|
+
claim: { record: string | null; granted_at: string | null; runner_id: string | null; runner_id_source: string };
|
|
25
|
+
lock: { released_at: string | null; right_censored: boolean; persisted_ms: number } | null;
|
|
26
|
+
pane_output_after_terminal: { events: number; first_at: string; last_at: string; persisted_ms: number } | null;
|
|
27
|
+
cancellation_event: { verb: string; at: string; elapsed_ms: unknown; token_spend: unknown; token_spend_status: unknown } | null;
|
|
28
|
+
claim_persisted_ms: number;
|
|
29
|
+
pane_active_after_terminal_ms: number;
|
|
30
|
+
repo: string | null;
|
|
31
|
+
branch: string | null;
|
|
32
|
+
commit_after_terminal: boolean | null;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export interface AuditReport {
|
|
36
|
+
bound: AuditBound;
|
|
37
|
+
date_range: { from_inclusive: string; to_exclusive: string };
|
|
38
|
+
terminal_tasks_examined: number;
|
|
39
|
+
task_rows_examined: number;
|
|
40
|
+
count: number;
|
|
41
|
+
total_claim_time_ms: number;
|
|
42
|
+
total_pane_time_after_terminal_ms: number;
|
|
43
|
+
rows: AuditRow[];
|
|
44
|
+
current_terminal_locks: AuditLock[];
|
|
45
|
+
runners_pointing_at_terminal_tasks: Array<{ runner_id: string; current_task_id: string; heartbeat_at: string | null }>;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export const TERMINAL_AUDIT_STATUSES: string[];
|
|
49
|
+
export const CLAIM_VERB: string;
|
|
50
|
+
export const RELEASE_VERB: string;
|
|
51
|
+
export const STATUS_VERB: string;
|
|
52
|
+
export const CANCELLATION_VERBS: string[];
|
|
53
|
+
export const AUDIT_VERBS: string[];
|
|
54
|
+
export const AUDIT_READS: string[];
|
|
55
|
+
export const AUDIT_BLIND_SPOTS: string[];
|
|
56
|
+
export function auditBound(input: { sources: Record<string, AuditSource> }): AuditBound;
|
|
57
|
+
export function analyzeTerminalClaims(input: {
|
|
58
|
+
from: string;
|
|
59
|
+
to: string;
|
|
60
|
+
events: AuditEvent[];
|
|
61
|
+
taskEvents: AuditTaskEvent[];
|
|
62
|
+
tasks: AuditTask[];
|
|
63
|
+
locks: AuditLock[];
|
|
64
|
+
runners: AuditRunner[];
|
|
65
|
+
sources: Record<string, AuditSource>;
|
|
66
|
+
}): AuditReport;
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure analysis for audit-terminal-claims.mjs: given the retained records the
|
|
3
|
+
* script read, list the tasks that reached merged/archived while a runner still
|
|
4
|
+
* held a claim or file lock, and state what those records cannot show.
|
|
5
|
+
*
|
|
6
|
+
* No I/O here, so the fixture test can drive it without a database.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
export const TERMINAL_AUDIT_STATUSES = ['merged', 'archived'];
|
|
10
|
+
export const CLAIM_VERB = 'task.claim_locks_granted';
|
|
11
|
+
export const RELEASE_VERB = 'task.locks_released';
|
|
12
|
+
export const STATUS_VERB = 'task.status_changed';
|
|
13
|
+
export const CANCELLATION_VERBS = ['runner.terminal_cancelled', 'runner.write_refused'];
|
|
14
|
+
export const AUDIT_VERBS = [STATUS_VERB, CLAIM_VERB, RELEASE_VERB, ...CANCELLATION_VERBS];
|
|
15
|
+
|
|
16
|
+
/** The fixed part of the bound. The per-run part (earliest retained rows, unread sources) is added by auditBound. */
|
|
17
|
+
export const AUDIT_READS = [
|
|
18
|
+
'acc.activity_events and acc.activity_events_archive (attached partitions): task.status_changed to merged/archived; '
|
|
19
|
+
+ 'task.claim_locks_granted, the claim record acc.claim_task_with_locks writes when a runner claims a task (the claim and its file lock are one record); '
|
|
20
|
+
+ 'task.locks_released; runner.terminal_cancelled and runner.write_refused',
|
|
21
|
+
'acc.task_events kind=log with a stdout/stderr stream, for the terminal tasks only: pane output written after the terminal transition',
|
|
22
|
+
'acc.tasks: status, pr_number, repo, branch, runner_id (runner_id is attribution kept after completion, not proof of a live claim)',
|
|
23
|
+
'acc.task_file_locks and acc.runners.current_task_id: the current snapshot only, with no history',
|
|
24
|
+
];
|
|
25
|
+
|
|
26
|
+
export const AUDIT_BLIND_SPOTS = [
|
|
27
|
+
'Claims whose claim/release events were rolled off acc.activity_events and whose archive partition was detached; nothing older than the earliest retained event below can be seen.',
|
|
28
|
+
'Claims taken by any path that wrote no task.claim_locks_granted event.',
|
|
29
|
+
'A pane that kept running after the terminal transition released its lock (the release happens in the same transaction) and wrote no task_events and no cancellation event: work or spend with no output is invisible.',
|
|
30
|
+
'task_events removed with their task (on delete cascade) and any row the reading identity cannot see under RLS.',
|
|
31
|
+
'Past values of acc.runners.current_task_id; only the current pointer is read.',
|
|
32
|
+
'Commits on deleted or force-pushed branches, and push times (the commit probe reads committer timestamps).',
|
|
33
|
+
];
|
|
34
|
+
|
|
35
|
+
const ms = (iso) => Date.parse(iso);
|
|
36
|
+
const isPaneOutput = (e) => e.kind === 'log' && (e.payload?.stream === 'stdout' || e.payload?.stream === 'stderr');
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* @param {{ sources: Record<string, { read: boolean, error?: string, earliest?: string | null }> }} input
|
|
40
|
+
*/
|
|
41
|
+
export function auditBound({ sources }) {
|
|
42
|
+
const unread = Object.entries(sources)
|
|
43
|
+
.filter(([, s]) => !s.read)
|
|
44
|
+
.map(([source, s]) => ({ source, error: s.error ?? 'not read' }));
|
|
45
|
+
const earliestRetained = Object.fromEntries(
|
|
46
|
+
Object.entries(sources).filter(([, s]) => s.read && 'earliest' in s).map(([source, s]) => [source, s.earliest ?? null]),
|
|
47
|
+
);
|
|
48
|
+
return {
|
|
49
|
+
statement: 'Bounded audit: it reports only what the retained claim and lock records below can show. '
|
|
50
|
+
+ 'A task missing from rows is not shown to be clean; it may sit in a blind spot. '
|
|
51
|
+
+ 'Intervals with no release are censored at TO_ISO.',
|
|
52
|
+
reads: AUDIT_READS,
|
|
53
|
+
cannot_see: AUDIT_BLIND_SPOTS,
|
|
54
|
+
earliest_retained: earliestRetained,
|
|
55
|
+
unread_sources: unread,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* @param {{
|
|
61
|
+
* from: string, to: string,
|
|
62
|
+
* events: Array<{ id: string, target_id: string, created_at: string, verb: string, payload: Record<string, unknown> }>,
|
|
63
|
+
* taskEvents: Array<{ task_id: string, created_at: string, kind: string, payload: Record<string, unknown> }>,
|
|
64
|
+
* tasks: Array<{ id: string, status: string, pr_number?: number | null, repo?: string | null, branch?: string | null, runner_id?: string | null }>,
|
|
65
|
+
* locks: Array<{ task_id: string, runner_id: string, locked_at?: string }>,
|
|
66
|
+
* runners: Array<{ id: string, current_task_id: string | null, heartbeat_at?: string | null }>,
|
|
67
|
+
* sources: Record<string, { read: boolean, error?: string, earliest?: string | null }>,
|
|
68
|
+
* }} input
|
|
69
|
+
*/
|
|
70
|
+
export function analyzeTerminalClaims({ from, to, events, taskEvents, tasks, locks, runners, sources }) {
|
|
71
|
+
const fromMs = ms(from);
|
|
72
|
+
const toMs = ms(to);
|
|
73
|
+
const taskById = new Map(tasks.map((t) => [t.id, t]));
|
|
74
|
+
const byTask = new Map();
|
|
75
|
+
for (const e of [...events].sort((a, b) => ms(a.created_at) - ms(b.created_at))) {
|
|
76
|
+
if (!byTask.has(e.target_id)) byTask.set(e.target_id, []);
|
|
77
|
+
byTask.get(e.target_id).push(e);
|
|
78
|
+
}
|
|
79
|
+
const paneByTask = new Map();
|
|
80
|
+
for (const e of taskEvents.filter(isPaneOutput)) {
|
|
81
|
+
if (!paneByTask.has(e.task_id)) paneByTask.set(e.task_id, []);
|
|
82
|
+
paneByTask.get(e.task_id).push(e);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// One row per task, anchored at its first merged/archived transition in the window.
|
|
86
|
+
const terminals = new Map();
|
|
87
|
+
for (const [taskId, history] of byTask) {
|
|
88
|
+
const first = history.find((e) => e.verb === STATUS_VERB
|
|
89
|
+
&& TERMINAL_AUDIT_STATUSES.includes(e.payload?.to)
|
|
90
|
+
&& ms(e.created_at) >= fromMs && ms(e.created_at) < toMs);
|
|
91
|
+
if (first) terminals.set(taskId, first);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
const rows = [];
|
|
95
|
+
for (const [taskId, terminal] of terminals) {
|
|
96
|
+
const at = ms(terminal.created_at);
|
|
97
|
+
const history = byTask.get(taskId);
|
|
98
|
+
const grant = history.filter((e) => e.verb === CLAIM_VERB && ms(e.created_at) <= at).at(-1) ?? null;
|
|
99
|
+
const release = grant
|
|
100
|
+
? history.find((e) => e.verb === RELEASE_VERB && ms(e.created_at) >= ms(grant.created_at)) ?? null
|
|
101
|
+
: null;
|
|
102
|
+
// The terminal transition releases locks in its own transaction, so a release
|
|
103
|
+
// stamped at or before the terminal event is zero overrun.
|
|
104
|
+
const lockHeld = !!grant && !(release && ms(release.created_at) <= at);
|
|
105
|
+
const paneAfter = (paneByTask.get(taskId) ?? [])
|
|
106
|
+
.filter((e) => ms(e.created_at) > at && ms(e.created_at) < toMs)
|
|
107
|
+
.sort((a, b) => ms(a.created_at) - ms(b.created_at));
|
|
108
|
+
if (!lockHeld && paneAfter.length === 0) continue;
|
|
109
|
+
|
|
110
|
+
const task = taskById.get(taskId);
|
|
111
|
+
const lockPersistedMs = lockHeld ? Math.min(release ? ms(release.created_at) : toMs, toMs) - at : 0;
|
|
112
|
+
const panePersistedMs = paneAfter.length ? ms(paneAfter.at(-1).created_at) - at : 0;
|
|
113
|
+
const cancellation = history.find((e) => CANCELLATION_VERBS.includes(e.verb) && ms(e.created_at) >= at) ?? null;
|
|
114
|
+
rows.push({
|
|
115
|
+
task_id: taskId,
|
|
116
|
+
pr_number: task?.pr_number ?? null,
|
|
117
|
+
terminal_status: terminal.payload.to,
|
|
118
|
+
terminal_at: terminal.created_at,
|
|
119
|
+
evidence: [lockHeld ? 'claim_lock_held_past_terminal' : null, paneAfter.length ? 'pane_output_after_terminal' : null].filter(Boolean),
|
|
120
|
+
claim: grant
|
|
121
|
+
? { record: CLAIM_VERB, granted_at: grant.created_at, runner_id: grant.payload?.runner_id ?? null, runner_id_source: 'claim_event' }
|
|
122
|
+
: { record: null, granted_at: null, runner_id: task?.runner_id ?? null, runner_id_source: 'tasks.runner_id (attribution only; claim record not retained)' },
|
|
123
|
+
lock: grant
|
|
124
|
+
? { released_at: release?.created_at ?? null, right_censored: lockHeld && !release, persisted_ms: lockPersistedMs }
|
|
125
|
+
: null,
|
|
126
|
+
pane_output_after_terminal: paneAfter.length
|
|
127
|
+
? { events: paneAfter.length, first_at: paneAfter[0].created_at, last_at: paneAfter.at(-1).created_at, persisted_ms: panePersistedMs }
|
|
128
|
+
: null,
|
|
129
|
+
cancellation_event: cancellation
|
|
130
|
+
? {
|
|
131
|
+
verb: cancellation.verb, at: cancellation.created_at,
|
|
132
|
+
elapsed_ms: cancellation.payload?.elapsed_ms ?? null,
|
|
133
|
+
token_spend: cancellation.payload?.token_spend ?? null,
|
|
134
|
+
token_spend_status: cancellation.payload?.token_spend_status ?? null,
|
|
135
|
+
}
|
|
136
|
+
: null,
|
|
137
|
+
// Claim time is the lock held past terminal, nothing else: pane output
|
|
138
|
+
// after the lock was released is work, not a held claim, and is reported
|
|
139
|
+
// separately so the two are never summed into one figure.
|
|
140
|
+
claim_persisted_ms: lockPersistedMs,
|
|
141
|
+
pane_active_after_terminal_ms: panePersistedMs,
|
|
142
|
+
repo: task?.repo ?? null,
|
|
143
|
+
branch: task?.branch ?? null,
|
|
144
|
+
commit_after_terminal: null,
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
rows.sort((a, b) => ms(a.terminal_at) - ms(b.terminal_at));
|
|
148
|
+
|
|
149
|
+
const isTerminal = (id) => TERMINAL_AUDIT_STATUSES.includes(taskById.get(id)?.status);
|
|
150
|
+
return {
|
|
151
|
+
bound: auditBound({ sources }),
|
|
152
|
+
date_range: { from_inclusive: from, to_exclusive: to },
|
|
153
|
+
terminal_tasks_examined: terminals.size,
|
|
154
|
+
task_rows_examined: tasks.length,
|
|
155
|
+
count: rows.length,
|
|
156
|
+
total_claim_time_ms: rows.reduce((sum, row) => sum + row.claim_persisted_ms, 0),
|
|
157
|
+
total_pane_time_after_terminal_ms: rows.reduce((sum, row) => sum + row.pane_active_after_terminal_ms, 0),
|
|
158
|
+
rows,
|
|
159
|
+
current_terminal_locks: locks.filter((lock) => isTerminal(lock.task_id)),
|
|
160
|
+
runners_pointing_at_terminal_tasks: runners
|
|
161
|
+
.filter((r) => r.current_task_id && isTerminal(r.current_task_id))
|
|
162
|
+
.map((r) => ({ runner_id: r.id, current_task_id: r.current_task_id, heartbeat_at: r.heartbeat_at ?? null })),
|
|
163
|
+
};
|
|
164
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/** Report only. Usage: node packages/acc-runner/scripts/audit-terminal-claims.mjs FROM_ISO TO_ISO
|
|
2
|
+
* Uses the runner's stored login and SELECTs only. No ACC/GitHub mutations.
|
|
3
|
+
*
|
|
4
|
+
* BOUND: this audit sees only the claim and lock records that are still retained
|
|
5
|
+
* and visible to the runner's identity under RLS. It reads task.claim_locks_granted
|
|
6
|
+
* (the claim record; a claim and its file lock are one row), task.locks_released,
|
|
7
|
+
* task.status_changed and runner cancellation events from acc.activity_events plus
|
|
8
|
+
* the attached partitions of acc.activity_events_archive; pane output from
|
|
9
|
+
* acc.task_events; and the current acc.task_file_locks / acc.runners.current_task_id
|
|
10
|
+
* snapshot. It cannot see claims whose events were purged or detached, claims taken
|
|
11
|
+
* by a path that wrote no claim event, a pane that worked silently after its lock was
|
|
12
|
+
* released, or past current_task_id values. The full statement, with the earliest
|
|
13
|
+
* retained row per source and any source that could not be read, is printed as
|
|
14
|
+
* `bound` at the top of the report.
|
|
15
|
+
*/
|
|
16
|
+
import { execFile } from 'node:child_process';
|
|
17
|
+
import { promisify } from 'node:util';
|
|
18
|
+
import { getTokenProvider } from '../dist/token-provider.js';
|
|
19
|
+
import { createRunnerClient } from '../dist/supabase.js';
|
|
20
|
+
import { loadConfig, applyBootstrapConfig } from '../dist/config.js';
|
|
21
|
+
import { AUDIT_VERBS, TERMINAL_AUDIT_STATUSES, STATUS_VERB, analyzeTerminalClaims } from './audit-terminal-claims-core.mjs';
|
|
22
|
+
|
|
23
|
+
const [from, to] = process.argv.slice(2);
|
|
24
|
+
if (!from || !to || !Number.isFinite(Date.parse(from)) || !Number.isFinite(Date.parse(to)) || Date.parse(from) >= Date.parse(to)) {
|
|
25
|
+
throw new Error('Supply an increasing FROM_ISO TO_ISO date range');
|
|
26
|
+
}
|
|
27
|
+
const session = await getTokenProvider().load();
|
|
28
|
+
if (!session) throw new Error('Runner login is required; audit not run');
|
|
29
|
+
const cfg = applyBootstrapConfig(loadConfig(), session);
|
|
30
|
+
const db = createRunnerClient(cfg, session.access_token);
|
|
31
|
+
const exec = promisify(execFile);
|
|
32
|
+
|
|
33
|
+
async function all(table, columns, orderBy, filter = query => query) {
|
|
34
|
+
const out = [];
|
|
35
|
+
for (let offset = 0; ; offset += 500) {
|
|
36
|
+
const result = await filter(db.from(table).select(columns)).order(orderBy).range(offset, offset + 499);
|
|
37
|
+
if (result.error) throw new Error(`${table} read failed: ${result.error.message}`);
|
|
38
|
+
out.push(...result.data);
|
|
39
|
+
if (result.data.length < 500) return out;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
async function earliestOf(table) {
|
|
43
|
+
const r = await db.from(table).select('created_at').order('created_at').limit(1);
|
|
44
|
+
if (r.error) throw new Error(`${table} read failed: ${r.error.message}`);
|
|
45
|
+
return r.data?.[0]?.created_at ?? null;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Required sources fail the run; optional ones are recorded as unread in the bound.
|
|
49
|
+
const sources = {};
|
|
50
|
+
async function source(name, read, { required = false, withEarliest = true } = {}) {
|
|
51
|
+
try {
|
|
52
|
+
const rows = await read();
|
|
53
|
+
sources[name] = withEarliest ? { read: true, earliest: await earliestOf(name) } : { read: true };
|
|
54
|
+
return rows;
|
|
55
|
+
} catch (err) {
|
|
56
|
+
if (required) throw err;
|
|
57
|
+
sources[name] = { read: false, error: err.message };
|
|
58
|
+
return [];
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const eventColumns = 'id,target_id,created_at,verb,payload';
|
|
63
|
+
const byVerb = query => query.in('verb', AUDIT_VERBS).lt('created_at', to);
|
|
64
|
+
const hot = await source('activity_events', () => all('activity_events', eventColumns, 'id', byVerb), { required: true });
|
|
65
|
+
const archived = await source('activity_events_archive', () => all('activity_events_archive', eventColumns, 'id', byVerb));
|
|
66
|
+
const seen = new Set(hot.map(e => e.id));
|
|
67
|
+
const events = [...hot, ...archived.filter(e => !seen.has(e.id))];
|
|
68
|
+
const tasks = await source('tasks', () => all('tasks', 'id,status,pr_number,repo,branch,runner_id', 'id'), { required: true, withEarliest: false });
|
|
69
|
+
const locks = await source('task_file_locks', () => all('task_file_locks', 'task_id,runner_id,locked_at', 'task_id'), { required: true, withEarliest: false });
|
|
70
|
+
const runners = await source('runners', () => all('runners', 'id,current_task_id,heartbeat_at', 'id'), { withEarliest: false });
|
|
71
|
+
|
|
72
|
+
const terminalIds = [...new Set(events
|
|
73
|
+
.filter(e => e.verb === STATUS_VERB && TERMINAL_AUDIT_STATUSES.includes(e.payload?.to)
|
|
74
|
+
&& Date.parse(e.created_at) >= Date.parse(from) && Date.parse(e.created_at) < Date.parse(to))
|
|
75
|
+
.map(e => e.target_id))];
|
|
76
|
+
const taskEvents = await source('task_events', async () => {
|
|
77
|
+
const out = [];
|
|
78
|
+
for (let i = 0; i < terminalIds.length; i += 100) {
|
|
79
|
+
out.push(...await all('task_events', 'id,task_id,created_at,kind,payload', 'id', query => query
|
|
80
|
+
.in('task_id', terminalIds.slice(i, i + 100)).eq('kind', 'log').lt('created_at', to)));
|
|
81
|
+
}
|
|
82
|
+
return out;
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
const report = analyzeTerminalClaims({ from, to, events, taskEvents, tasks, locks, runners, sources });
|
|
86
|
+
for (const row of report.rows) {
|
|
87
|
+
if (!row.repo || !row.branch) { row.commit_probe = 'missing repo/branch'; continue; }
|
|
88
|
+
const endpoint = `repos/${row.repo}/commits?sha=${encodeURIComponent(row.branch)}&since=${encodeURIComponent(row.terminal_at)}&until=${encodeURIComponent(to)}&per_page=100`;
|
|
89
|
+
try {
|
|
90
|
+
const { stdout } = await exec('gh', ['api', '--paginate', endpoint, '--jq', '.[] | [.sha, .commit.committer.date] | @tsv'], { timeout: 60000, maxBuffer: 16 * 1024 * 1024 });
|
|
91
|
+
const commits = stdout.trim().split('\n').filter(Boolean).map(line => line.split('\t'))
|
|
92
|
+
.filter(([, date]) => Date.parse(date) > Date.parse(row.terminal_at));
|
|
93
|
+
row.commit_after_terminal = commits.length > 0;
|
|
94
|
+
row.commit_shas_after_terminal = commits.map(([sha]) => sha);
|
|
95
|
+
row.commit_probe = 'branch history by committer timestamp; not a push-time audit';
|
|
96
|
+
} catch { row.commit_probe = 'unavailable (deleted branch, permissions, or network); not inferred false'; }
|
|
97
|
+
}
|
|
98
|
+
console.log(JSON.stringify({ project: new URL(cfg.supabaseUrl).hostname, ...report }, null, 2));
|