ai-foreman 1.7.29 → 2.0.1
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/README.md +1 -1
- package/dist/adapters/claude.d.ts +23 -12
- package/dist/adapters/claude.js +231 -26
- package/dist/adapters/codex.d.ts +19 -7
- package/dist/adapters/codex.js +202 -19
- package/dist/adapters/recovering.d.ts +2 -0
- package/dist/adapters/recovering.js +5 -1
- package/dist/adapters/structured.d.ts +71 -0
- package/dist/adapters/structured.js +213 -0
- package/dist/adapters/types.d.ts +85 -9
- package/dist/agentRun.d.ts +2 -0
- package/dist/agentRun.js +2 -1
- package/dist/boundedTurnEvidence.d.ts +18 -0
- package/dist/boundedTurnEvidence.js +76 -0
- package/dist/branch/currentGuard.d.ts +2 -0
- package/dist/branch/currentGuard.js +2 -0
- package/dist/branch/git.js +3 -8
- package/dist/branch/planner.js +1 -4
- package/dist/branch/runner.d.ts +2 -1
- package/dist/branch/runner.js +10 -7
- package/dist/buildAdmission.js +4 -0
- package/dist/buildApproval.d.ts +15 -0
- package/dist/buildApproval.js +28 -9
- package/dist/buildAssignment.d.ts +1 -0
- package/dist/buildAssignment.js +82 -23
- package/dist/buildInterventions.d.ts +2 -2
- package/dist/buildInterventions.js +11 -4
- package/dist/buildLaunchGate.js +3 -2
- package/dist/buildRuns.d.ts +1 -0
- package/dist/buildRuns.js +6 -1
- package/dist/builderGuidanceFollowup.js +17 -6
- package/dist/cli/doctor.js +3 -1
- package/dist/cli/manager.js +22 -20
- package/dist/cli/start.js +85 -39
- package/dist/cli/tickets.d.ts +0 -8
- package/dist/cli/tickets.js +50 -60
- package/dist/continuity.d.ts +10 -16
- package/dist/continuity.js +223 -208
- package/dist/continuityOrigin.d.ts +13 -0
- package/dist/continuityOrigin.js +91 -0
- package/dist/dispatchNotSent.d.ts +4 -0
- package/dist/dispatchNotSent.js +10 -0
- package/dist/foreman.d.ts +15 -16
- package/dist/foreman.js +70 -278
- package/dist/gitExclude.d.ts +16 -0
- package/dist/gitExclude.js +46 -0
- package/dist/graph/boundary.d.ts +1 -1
- package/dist/graph/boundary.js +1 -1
- package/dist/graph/host.js +8 -19
- package/dist/graph/manager.d.ts +1 -1
- package/dist/graph/manager.js +1 -1
- package/dist/graph/preparation.d.ts +38 -0
- package/dist/graph/preparation.js +7 -6
- package/dist/graph/semantic.d.ts +1 -0
- package/dist/graph/semantic.js +4 -1
- package/dist/graph/session.js +7 -2
- package/dist/graph/turn.d.ts +3 -4
- package/dist/graph/turn.js +29 -41
- package/dist/handoffProtocol.js +2 -2
- package/dist/handoffs.d.ts +5 -3
- package/dist/handoffs.js +92 -88
- package/dist/hostGraphApplicability.d.ts +2 -1
- package/dist/hostGraphApplicability.js +17 -19
- package/dist/hostQaAugmentation.js +21 -4
- package/dist/hostQaComparison.d.ts +21 -2
- package/dist/hostQaComparison.js +43 -29
- package/dist/hostSourcePreservation.d.ts +38 -0
- package/dist/hostSourcePreservation.js +72 -0
- package/dist/humanDecision.d.ts +7 -0
- package/dist/humanDecision.js +11 -0
- package/dist/interviews.d.ts +7 -0
- package/dist/interviews.js +18 -1
- package/dist/legacyCommunicationDisplay.d.ts +2 -0
- package/dist/legacyCommunicationDisplay.js +2 -0
- package/dist/managerPacket.js +3 -3
- package/dist/markers.d.ts +4 -3
- package/dist/markers.js +4 -20
- package/dist/observability.js +3 -8
- package/dist/probeIpc.d.ts +14 -0
- package/dist/probeIpc.js +29 -0
- package/dist/qaBuildGate.d.ts +21 -0
- package/dist/qaBuildGate.js +60 -13
- package/dist/qaBuilderCoverage.js +22 -13
- package/dist/qaBuilderEvidence.d.ts +16 -1
- package/dist/qaBuilderEvidence.js +48 -8
- package/dist/qaContractCoverage.d.ts +2 -2
- package/dist/qaContractCoverage.js +4 -9
- package/dist/qaContractDelivery.js +34 -20
- package/dist/qaCoverageAssembly.d.ts +22 -0
- package/dist/qaCoverageAssembly.js +16 -0
- package/dist/qaDeliveryJournal.d.ts +2 -0
- package/dist/qaDeliveryJournal.js +19 -0
- package/dist/qaFailureDelivery.js +97 -85
- package/dist/qaHostTransformation.d.ts +26 -0
- package/dist/qaHostTransformation.js +100 -0
- package/dist/qaPreparation.d.ts +8 -20
- package/dist/qaPreparation.js +153 -254
- package/dist/qaPreparationInputs.js +19 -0
- package/dist/qaPreparationStore.d.ts +11 -0
- package/dist/qaPreparationStore.js +44 -4
- package/dist/qaPrerequisites.d.ts +2 -1
- package/dist/qaPrerequisites.js +21 -1
- package/dist/qaProtocolV2.d.ts +15 -0
- package/dist/qaRecovery.d.ts +0 -3
- package/dist/qaRecovery.js +21 -27
- package/dist/qaReview.js +241 -406
- package/dist/qaReviewEvidence.d.ts +7 -3
- package/dist/qaReviewEvidence.js +15 -4
- package/dist/qaRuntime.js +1 -1
- package/dist/qaSnapshot.js +76 -21
- package/dist/qaStructuredResponse.d.ts +18 -0
- package/dist/qaStructuredResponse.js +81 -0
- package/dist/qaTimeline.js +2 -2
- package/dist/qaVerificationContract.d.ts +1 -2
- package/dist/qaVerificationContract.js +24 -35
- package/dist/readinessGate.js +5 -4
- package/dist/recoveryOwners.d.ts +32 -0
- package/dist/recoveryOwners.js +87 -0
- package/dist/runtimePreflight.d.ts +11 -0
- package/dist/runtimePreflight.js +77 -0
- package/dist/runtimeReadiness.js +23 -15
- package/dist/sources/sourceRegistry.d.ts +0 -3
- package/dist/sources/sourceRegistry.js +0 -42
- package/dist/statusReporter.d.ts +2 -0
- package/dist/statusReporter.js +2 -0
- package/dist/structuredCutover.d.ts +31 -0
- package/dist/structuredCutover.js +510 -0
- package/dist/structuredCutoverFiles.d.ts +10 -0
- package/dist/structuredCutoverFiles.js +181 -0
- package/dist/structuredDispatchAuthority.d.ts +22 -0
- package/dist/structuredDispatchAuthority.js +110 -0
- package/dist/structuredDispatchRecord.d.ts +29 -0
- package/dist/structuredDispatchRecord.js +36 -0
- package/dist/structuredLiveBudget.d.ts +2 -0
- package/dist/structuredLiveBudget.js +23 -0
- package/dist/structuredOperation.d.ts +18 -0
- package/dist/structuredOperation.js +279 -0
- package/dist/supervisedStart.js +35 -21
- package/dist/ticketPlanning.d.ts +1 -376
- package/dist/ticketPlanning.js +2 -49
- package/dist/ticketPopulation.d.ts +0 -3
- package/dist/ticketPopulation.js +4 -21
- package/dist/ticketPopulationPageAuthority.d.ts +13 -0
- package/dist/ticketPopulationPageAuthority.js +30 -0
- package/dist/ticketPopulationPaging.d.ts +27 -0
- package/dist/ticketPopulationPaging.js +127 -0
- package/dist/tickets/renderMarkdown.d.ts +14 -0
- package/dist/tickets/renderMarkdown.js +39 -5
- package/dist/tickets/ticketLoader.js +10 -0
- package/dist/tickets/ticketSchema.d.ts +107 -0
- package/dist/tickets/ticketSchema.js +4 -1
- package/dist/workflowDb.d.ts +116 -3
- package/dist/workflowDb.js +852 -61
- package/dist/workflowReader.d.ts +1 -0
- package/dist/workflowReader.js +9 -0
- package/package.json +23 -7
package/dist/workflowReader.d.ts
CHANGED
|
@@ -135,6 +135,7 @@ export declare class WorkflowReader {
|
|
|
135
135
|
preparationSuccessor(runId: string): string;
|
|
136
136
|
pendingBuildLaunches(runId: string): import("./buildAdmission.js").BuildLaunch[];
|
|
137
137
|
buildAdmission(): import("./buildAdmission.js").BuildAdmission | undefined;
|
|
138
|
+
private verifyContinuityHeads;
|
|
138
139
|
continuityHeads(runId: string): Array<{
|
|
139
140
|
role: string;
|
|
140
141
|
state: string;
|
package/dist/workflowReader.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { verifyContinuityHeads } from "./continuityOrigin.js";
|
|
1
2
|
import { bytesDigest } from "./graph/util.js";
|
|
2
3
|
import { measureQaPreparation } from "./qaPreparationMetrics.js";
|
|
3
4
|
import { graphDerivedAllowed } from "./graph/derived.js";
|
|
4
5
|
import { readGraphRecord } from "./graph/storage.js";
|
|
5
6
|
import { checkBuildOwnershipSchema, canonicalProject } from "./buildAdmission.js";
|
|
7
|
+
import { assertStructuredCutoverComplete } from "./structuredCutover.js";
|
|
6
8
|
import { existsSync } from "node:fs";
|
|
7
9
|
import { join, resolve } from "node:path";
|
|
8
10
|
import Database from "better-sqlite3";
|
|
@@ -20,6 +22,7 @@ export class WorkflowReader {
|
|
|
20
22
|
this.db = new Database(path, { readonly: true, fileMustExist: true });
|
|
21
23
|
this.db.pragma("query_only = ON");
|
|
22
24
|
try {
|
|
25
|
+
assertStructuredCutoverComplete(this.db);
|
|
23
26
|
checkBuildOwnershipSchema(this.db);
|
|
24
27
|
}
|
|
25
28
|
catch (error) {
|
|
@@ -214,9 +217,15 @@ export class WorkflowReader {
|
|
|
214
217
|
return undefined;
|
|
215
218
|
}
|
|
216
219
|
}
|
|
220
|
+
verifyContinuityHeads(runId) {
|
|
221
|
+
if (!this.db)
|
|
222
|
+
return;
|
|
223
|
+
verifyContinuityHeads(this.db, this.projectDir, runId);
|
|
224
|
+
}
|
|
217
225
|
continuityHeads(runId) {
|
|
218
226
|
if (!this.db)
|
|
219
227
|
return [];
|
|
228
|
+
this.verifyContinuityHeads(runId);
|
|
220
229
|
try {
|
|
221
230
|
return this.db.prepare("SELECT * FROM continuity_heads WHERE run_id=? ORDER BY role").all(runId).map(row => ({ role: String(row.role), state: String(row.state), sequence: Number(row.event_sequence), digest: String(row.digest), updatedAt: String(row.updated_at) }));
|
|
222
231
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ai-foreman",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"description": "An orchestrator that keeps Codex CLI / Claude Code builders moving through their step list unattended. Part of Rafi.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -93,6 +93,22 @@
|
|
|
93
93
|
"types": "./dist/workflowReader.d.ts",
|
|
94
94
|
"default": "./dist/workflowReader.js"
|
|
95
95
|
},
|
|
96
|
+
"./recovery-owners.js": {
|
|
97
|
+
"types": "./dist/recoveryOwners.d.ts",
|
|
98
|
+
"default": "./dist/recoveryOwners.js"
|
|
99
|
+
},
|
|
100
|
+
"./runtime-preflight.js": {
|
|
101
|
+
"types": "./dist/runtimePreflight.d.ts",
|
|
102
|
+
"default": "./dist/runtimePreflight.js"
|
|
103
|
+
},
|
|
104
|
+
"./process-identity.js": {
|
|
105
|
+
"types": "./dist/processIdentity.d.ts",
|
|
106
|
+
"default": "./dist/processIdentity.js"
|
|
107
|
+
},
|
|
108
|
+
"./tickets/reset.js": {
|
|
109
|
+
"types": "./dist/tickets/reset.d.ts",
|
|
110
|
+
"default": "./dist/tickets/reset.js"
|
|
111
|
+
},
|
|
96
112
|
"./ticket-history-reader.js": {
|
|
97
113
|
"types": "./dist/ticketHistoryReader.d.ts",
|
|
98
114
|
"default": "./dist/ticketHistoryReader.js"
|
|
@@ -281,7 +297,7 @@
|
|
|
281
297
|
"dev": "tsx src/index.ts",
|
|
282
298
|
"test": "node scripts/test-offline.mjs",
|
|
283
299
|
"typecheck": "tsc --noEmit",
|
|
284
|
-
"test:live-providers": "RAFI_LIVE_PROVIDER_SESSIONS=1 tsx --test test/providerSmoke.test.ts",
|
|
300
|
+
"test:live-providers": "RAFI_LIVE_PROVIDER_SESSIONS=1 node --import tsx --test test/providerSmoke.test.ts",
|
|
285
301
|
"prepublishOnly": "tsc -p ../spec/tsconfig.build.json && pnpm build && pnpm --filter ai-foreman test && tsc --noEmit"
|
|
286
302
|
},
|
|
287
303
|
"keywords": [
|
|
@@ -295,7 +311,7 @@
|
|
|
295
311
|
"cli"
|
|
296
312
|
],
|
|
297
313
|
"engines": {
|
|
298
|
-
"node": "
|
|
314
|
+
"node": "24.x"
|
|
299
315
|
},
|
|
300
316
|
"packageManager": "pnpm@10.2.1",
|
|
301
317
|
"optionalDependencies": {
|
|
@@ -305,21 +321,21 @@
|
|
|
305
321
|
"@clack/prompts": "^1.4.0",
|
|
306
322
|
"ajv": "^8.20.0",
|
|
307
323
|
"ajv-formats": "^3.0.1",
|
|
308
|
-
"better-sqlite3": "^
|
|
324
|
+
"better-sqlite3": "^13.0.3",
|
|
309
325
|
"commander": "^12.1.0",
|
|
310
326
|
"ignore": "7.0.5",
|
|
311
327
|
"luxon": "^3.7.2",
|
|
312
328
|
"parse5": "7.2.1",
|
|
313
329
|
"pdfjs-dist": "4.10.38",
|
|
314
|
-
"rafi-spec": "0.
|
|
315
|
-
"special-agents": "0.
|
|
330
|
+
"rafi-spec": "0.9.1",
|
|
331
|
+
"special-agents": "0.9.1",
|
|
316
332
|
"yaml": "^2.5.1",
|
|
317
333
|
"zod": "4.4.3"
|
|
318
334
|
},
|
|
319
335
|
"devDependencies": {
|
|
320
336
|
"@types/better-sqlite3": "^7.6.13",
|
|
321
337
|
"@types/luxon": "^3.7.1",
|
|
322
|
-
"@types/node": "^
|
|
338
|
+
"@types/node": "^24.0.0",
|
|
323
339
|
"tsx": "^4.19.0",
|
|
324
340
|
"typescript": "^5.6.0"
|
|
325
341
|
}
|