@akagilnc/pi-workflow-roles 0.1.3891 → 0.1.3900
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/CLAUDE.md +1 -1
- package/dist/acp-host/production-host.js +32 -78
- package/dist/headless-host/production-host.js +32 -78
- package/dist/public-cli/doctor-run.js +1 -1
- package/dist/public-cli/judge-run.js +1 -1
- package/dist/public-cli/main.js +194 -280
- package/dist/public-cli/post-admission.js +57 -98
- package/dist/public-cli/run-lifecycle.js +3 -3
- package/dist/public-cli/settlement.js +47 -47
- package/dist/public-cli/turn-request.js +3 -0
- package/dist/submission-ledger.js +7 -8
- package/package.json +1 -1
- package/src/host-contracts.ts +2 -3
- package/src/public-cli/coder-run.ts +34 -52
- package/src/public-cli/collector-run.ts +2 -1
- package/src/public-cli/doctor-run.ts +2 -1
- package/src/public-cli/fixer-run.ts +35 -50
- package/src/public-cli/judge-run.ts +2 -1
- package/src/public-cli/merger-run.ts +36 -51
- package/src/public-cli/post-admission.ts +104 -132
- package/src/public-cli/reviewer-run.ts +35 -50
- package/src/public-cli/run-lifecycle.ts +3 -3
- package/src/public-cli/settlement.ts +49 -28
- package/src/public-cli/turn-request.ts +5 -0
- package/src/submission-ledger.ts +7 -7
|
@@ -39,8 +39,9 @@ import {
|
|
|
39
39
|
} from "./turn-request.ts";
|
|
40
40
|
import {
|
|
41
41
|
presentControlledFailure,
|
|
42
|
-
|
|
42
|
+
resolveResumeMethodMaterialAdapters,
|
|
43
43
|
runPostAdmissionResumable,
|
|
44
|
+
runPostAdmissionSeatResume,
|
|
44
45
|
type PostAdmissionAdapters,
|
|
45
46
|
type PostAdmissionEnv,
|
|
46
47
|
resumeTurnRequestProjectionOptions,
|
|
@@ -82,10 +83,15 @@ function coderAdapters(
|
|
|
82
83
|
methodProvenance?: PackagedMethodSkillProvenance,
|
|
83
84
|
): PostAdmissionAdapters<AdmittedCoderInvocation> {
|
|
84
85
|
return {
|
|
85
|
-
trySettle: (admitted, authority) =>
|
|
86
|
-
trySettleCoderTerminalResult(
|
|
87
|
-
|
|
88
|
-
|
|
86
|
+
trySettle: (admitted, authority, scope) =>
|
|
87
|
+
trySettleCoderTerminalResult(
|
|
88
|
+
admitted,
|
|
89
|
+
authority,
|
|
90
|
+
{
|
|
91
|
+
...(methodProvenance === undefined ? {} : { methodProvenance }),
|
|
92
|
+
},
|
|
93
|
+
scope,
|
|
94
|
+
),
|
|
89
95
|
};
|
|
90
96
|
}
|
|
91
97
|
|
|
@@ -216,55 +222,31 @@ export async function runPublicCoderResume(
|
|
|
216
222
|
admitted?: AdmittedCoderInvocation;
|
|
217
223
|
terminal?: TerminalResult;
|
|
218
224
|
}> {
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
loaded = await loadResumableCoderRun(env.home, request.runId, env.principalAuthority);
|
|
222
|
-
} catch (error) {
|
|
223
|
-
if (error instanceof CliUsageError) {
|
|
224
|
-
presentStructuralRejection(error, io);
|
|
225
|
-
return { exitCode: 2 };
|
|
226
|
-
}
|
|
227
|
-
throw error;
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
const { admitted } = loaded;
|
|
231
|
-
|
|
232
|
-
let methodProvenance: PackagedMethodSkillProvenance | undefined;
|
|
233
|
-
if (admitted.phase === "apply") {
|
|
234
|
-
try {
|
|
235
|
-
const material = await loadPackagedMethodSkillMaterial(
|
|
236
|
-
env.packageRoot,
|
|
237
|
-
"tdd",
|
|
238
|
-
);
|
|
239
|
-
methodProvenance = material.provenance;
|
|
240
|
-
} catch (error) {
|
|
241
|
-
return (await presentControlledFailure(
|
|
242
|
-
admitted,
|
|
243
|
-
{
|
|
244
|
-
timedOut: false,
|
|
245
|
-
code: null,
|
|
246
|
-
stderr: "",
|
|
247
|
-
thrown: error,
|
|
248
|
-
knownCause: "activation",
|
|
249
|
-
},
|
|
250
|
-
coderAdapters(),
|
|
251
|
-
env.principalAuthority,
|
|
252
|
-
io,
|
|
253
|
-
)) as { exitCode: number; admitted: AdmittedCoderInvocation; terminal: TerminalResult };
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
const turnRequest = buildCoderTurnRequest(
|
|
258
|
-
admitted,
|
|
259
|
-
resumeTurnRequestProjectionOptions(admitted, request, env),
|
|
260
|
-
);
|
|
261
|
-
|
|
262
|
-
return await runPostAdmissionManualResume({
|
|
263
|
-
admitted,
|
|
225
|
+
return await runPostAdmissionSeatResume({
|
|
226
|
+
request,
|
|
264
227
|
env,
|
|
265
228
|
io,
|
|
266
|
-
|
|
267
|
-
|
|
229
|
+
load: (effective) =>
|
|
230
|
+
loadResumableCoderRun(env.home, effective.runId, env.principalAuthority),
|
|
231
|
+
buildTurnRequest: (admitted, effective) =>
|
|
232
|
+
buildCoderTurnRequest(
|
|
233
|
+
admitted,
|
|
234
|
+
resumeTurnRequestProjectionOptions(admitted, effective, env),
|
|
235
|
+
),
|
|
236
|
+
adapters: coderAdapters(),
|
|
237
|
+
// Apply-only method; plan resume keeps empty provenance (same as initial).
|
|
238
|
+
afterAdmittedLoad: (admitted) =>
|
|
239
|
+
resolveResumeMethodMaterialAdapters({
|
|
240
|
+
admitted,
|
|
241
|
+
authority: env.principalAuthority,
|
|
242
|
+
io,
|
|
243
|
+
shouldLoad: admitted.phase === "apply",
|
|
244
|
+
loadMaterial: () =>
|
|
245
|
+
loadPackagedMethodSkillMaterial(env.packageRoot, "tdd"),
|
|
246
|
+
adaptersWith: (material) => coderAdapters(material.provenance),
|
|
247
|
+
emptyAdapters: coderAdapters(),
|
|
248
|
+
knownCause: "activation",
|
|
249
|
+
}),
|
|
268
250
|
...(env.engine === undefined ? {} : { effectiveEngine: env.engine }),
|
|
269
251
|
});
|
|
270
252
|
}
|
|
@@ -126,7 +126,8 @@ export async function runPublicCollector(
|
|
|
126
126
|
|
|
127
127
|
function collectorAdapters(): PostAdmissionAdapters<AdmittedCollectorInvocation> {
|
|
128
128
|
return {
|
|
129
|
-
trySettle: (admitted, authority) =>
|
|
129
|
+
trySettle: (admitted, authority, scope) =>
|
|
130
|
+
trySettleCollectorTerminalResult(admitted, authority, scope),
|
|
130
131
|
shouldPresentSettled: () => true,
|
|
131
132
|
resolveRunnerKnownFailure: async ({ result, sessionFile }) => {
|
|
132
133
|
const infrastructureFailure = await readCollectorInfrastructureFailure(sessionFile);
|
|
@@ -120,7 +120,8 @@ export async function runPublicDoctor(
|
|
|
120
120
|
|
|
121
121
|
function doctorAdapters(): PostAdmissionAdapters<AdmittedDoctorInvocation> {
|
|
122
122
|
return {
|
|
123
|
-
trySettle: (admitted, authority) =>
|
|
123
|
+
trySettle: (admitted, authority, scope) =>
|
|
124
|
+
trySettleDoctorTerminalResult(admitted, authority, scope),
|
|
124
125
|
shouldPresentSettled: (terminal) =>
|
|
125
126
|
isLawfulTypedTerminalOutcome(terminal.roleOutcome),
|
|
126
127
|
};
|
|
@@ -42,8 +42,9 @@ import {
|
|
|
42
42
|
} from "./turn-request.ts";
|
|
43
43
|
import {
|
|
44
44
|
presentControlledFailure,
|
|
45
|
-
|
|
45
|
+
resolveResumeMethodMaterialAdapters,
|
|
46
46
|
runPostAdmissionResumable,
|
|
47
|
+
runPostAdmissionSeatResume,
|
|
47
48
|
type PostAdmissionAdapters,
|
|
48
49
|
type PostAdmissionEnv,
|
|
49
50
|
resumeTurnRequestProjectionOptions,
|
|
@@ -87,17 +88,22 @@ function fixerAdapters(
|
|
|
87
88
|
methodMaterial?: PackagedMethodSkillMaterial,
|
|
88
89
|
): PostAdmissionAdapters<AdmittedFixerInvocation> {
|
|
89
90
|
return {
|
|
90
|
-
trySettle: (admitted, authority) =>
|
|
91
|
+
trySettle: (admitted, authority, scope) =>
|
|
91
92
|
methodMaterial === undefined
|
|
92
93
|
? Promise.resolve(undefined)
|
|
93
|
-
: trySettleFixerTerminalResult(
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
94
|
+
: trySettleFixerTerminalResult(
|
|
95
|
+
admitted,
|
|
96
|
+
authority,
|
|
97
|
+
{
|
|
98
|
+
methodProvenance: methodMaterial.provenance,
|
|
99
|
+
methodSkillPath: methodMaterial.skillPath,
|
|
100
|
+
methodSkillConfiguredPath: resolvePackagedMethodSkillPath(
|
|
101
|
+
packageRoot,
|
|
102
|
+
"diagnosing-bugs",
|
|
103
|
+
),
|
|
104
|
+
},
|
|
105
|
+
scope,
|
|
106
|
+
),
|
|
101
107
|
};
|
|
102
108
|
}
|
|
103
109
|
|
|
@@ -231,48 +237,27 @@ export async function runPublicFixerResume(
|
|
|
231
237
|
admitted?: AdmittedFixerInvocation;
|
|
232
238
|
terminal?: TerminalResult;
|
|
233
239
|
}> {
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
loaded = await loadResumableFixerRun(env.home, request.runId, env.principalAuthority);
|
|
237
|
-
} catch (error) {
|
|
238
|
-
if (error instanceof CliUsageError) {
|
|
239
|
-
presentStructuralRejection(error, io);
|
|
240
|
-
return { exitCode: 2 };
|
|
241
|
-
}
|
|
242
|
-
throw error;
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
const { admitted } = loaded;
|
|
246
|
-
|
|
247
|
-
let methodMaterial: PackagedMethodSkillMaterial;
|
|
248
|
-
try {
|
|
249
|
-
methodMaterial = await loadFixerMethodMaterial(env.packageRoot);
|
|
250
|
-
} catch (error) {
|
|
251
|
-
return (await presentControlledFailure(
|
|
252
|
-
admitted,
|
|
253
|
-
{
|
|
254
|
-
timedOut: false,
|
|
255
|
-
code: null,
|
|
256
|
-
stderr: "",
|
|
257
|
-
thrown: error,
|
|
258
|
-
},
|
|
259
|
-
fixerAdapters(env.packageRoot),
|
|
260
|
-
env.principalAuthority,
|
|
261
|
-
io,
|
|
262
|
-
)) as { exitCode: number; admitted: AdmittedFixerInvocation; terminal: TerminalResult };
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
const turnRequest = buildFixerTurnRequest(
|
|
266
|
-
admitted,
|
|
267
|
-
resumeTurnRequestProjectionOptions(admitted, request, env),
|
|
268
|
-
);
|
|
269
|
-
|
|
270
|
-
return await runPostAdmissionManualResume({
|
|
271
|
-
admitted,
|
|
240
|
+
return await runPostAdmissionSeatResume({
|
|
241
|
+
request,
|
|
272
242
|
env,
|
|
273
243
|
io,
|
|
274
|
-
|
|
275
|
-
|
|
244
|
+
load: (effective) =>
|
|
245
|
+
loadResumableFixerRun(env.home, effective.runId, env.principalAuthority),
|
|
246
|
+
buildTurnRequest: (admitted, effective) =>
|
|
247
|
+
buildFixerTurnRequest(
|
|
248
|
+
admitted,
|
|
249
|
+
resumeTurnRequestProjectionOptions(admitted, effective, env),
|
|
250
|
+
),
|
|
251
|
+
adapters: fixerAdapters(env.packageRoot),
|
|
252
|
+
afterAdmittedLoad: (admitted) =>
|
|
253
|
+
resolveResumeMethodMaterialAdapters({
|
|
254
|
+
admitted,
|
|
255
|
+
authority: env.principalAuthority,
|
|
256
|
+
io,
|
|
257
|
+
loadMaterial: () => loadFixerMethodMaterial(env.packageRoot),
|
|
258
|
+
adaptersWith: (material) => fixerAdapters(env.packageRoot, material),
|
|
259
|
+
emptyAdapters: fixerAdapters(env.packageRoot),
|
|
260
|
+
}),
|
|
276
261
|
...(env.engine === undefined ? {} : { effectiveEngine: env.engine }),
|
|
277
262
|
});
|
|
278
263
|
}
|
|
@@ -54,7 +54,8 @@ export function buildJudgeTurnRequest(
|
|
|
54
54
|
|
|
55
55
|
function judgeAdapters(): PostAdmissionAdapters<AdmittedJudgeInvocation> {
|
|
56
56
|
return {
|
|
57
|
-
trySettle: (admitted, authority) =>
|
|
57
|
+
trySettle: (admitted, authority, scope) =>
|
|
58
|
+
trySettleJudgeTerminalResult(admitted, authority, scope),
|
|
58
59
|
resolveRunnerKnownFailure: async ({ result, sessionFile }) => {
|
|
59
60
|
const infrastructureFailure = await readEngineDetourInfrastructureFailure(sessionFile);
|
|
60
61
|
return (
|
|
@@ -40,8 +40,9 @@ import {
|
|
|
40
40
|
} from "./turn-request.ts";
|
|
41
41
|
import {
|
|
42
42
|
presentControlledFailure,
|
|
43
|
-
|
|
43
|
+
resolveResumeMethodMaterialAdapters,
|
|
44
44
|
runPostAdmissionResumable,
|
|
45
|
+
runPostAdmissionSeatResume,
|
|
45
46
|
type PostAdmissionAdapters,
|
|
46
47
|
type PostAdmissionEnv,
|
|
47
48
|
resumeTurnRequestProjectionOptions,
|
|
@@ -83,17 +84,22 @@ function mergerAdapters(
|
|
|
83
84
|
methodMaterial?: PackagedMethodSkillMaterial,
|
|
84
85
|
): PostAdmissionAdapters<AdmittedMergerInvocation> {
|
|
85
86
|
return {
|
|
86
|
-
trySettle: (admitted, authority) =>
|
|
87
|
+
trySettle: (admitted, authority, scope) =>
|
|
87
88
|
methodMaterial === undefined
|
|
88
89
|
? Promise.resolve(undefined)
|
|
89
|
-
: trySettleMergerTerminalResult(
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
90
|
+
: trySettleMergerTerminalResult(
|
|
91
|
+
admitted,
|
|
92
|
+
authority,
|
|
93
|
+
{
|
|
94
|
+
methodProvenance: methodMaterial.provenance,
|
|
95
|
+
methodSkillPath: methodMaterial.skillPath,
|
|
96
|
+
methodSkillConfiguredPath: resolvePackagedMethodSkillPath(
|
|
97
|
+
packageRoot,
|
|
98
|
+
"resolving-merge-conflicts",
|
|
99
|
+
),
|
|
100
|
+
},
|
|
101
|
+
scope,
|
|
102
|
+
),
|
|
97
103
|
shouldPresentSettled: (t) =>
|
|
98
104
|
isLawfulTypedTerminalOutcome(t.roleOutcome) || t.roleOutcome.kind === "incomplete",
|
|
99
105
|
};
|
|
@@ -258,49 +264,28 @@ export async function runPublicMergerResume(
|
|
|
258
264
|
admitted?: AdmittedMergerInvocation;
|
|
259
265
|
terminal?: TerminalResult;
|
|
260
266
|
}> {
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
loaded = await loadResumableMergerRun(env.home, request.runId, env.principalAuthority);
|
|
264
|
-
} catch (error) {
|
|
265
|
-
if (error instanceof CliUsageError) {
|
|
266
|
-
presentStructuralRejection(error, io);
|
|
267
|
-
return { exitCode: 2 };
|
|
268
|
-
}
|
|
269
|
-
throw error;
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
const { admitted } = loaded;
|
|
273
|
-
|
|
274
|
-
let methodMaterial: PackagedMethodSkillMaterial;
|
|
275
|
-
try {
|
|
276
|
-
methodMaterial = await loadMergerMethodMaterial(env.packageRoot);
|
|
277
|
-
} catch (error) {
|
|
278
|
-
return (await presentControlledFailure(
|
|
279
|
-
admitted,
|
|
280
|
-
{
|
|
281
|
-
timedOut: false,
|
|
282
|
-
code: null,
|
|
283
|
-
stderr: "",
|
|
284
|
-
thrown: error,
|
|
285
|
-
knownCause: "activation",
|
|
286
|
-
},
|
|
287
|
-
mergerAdapters(env.packageRoot),
|
|
288
|
-
env.principalAuthority,
|
|
289
|
-
io,
|
|
290
|
-
)) as { exitCode: number; admitted: AdmittedMergerInvocation; terminal: TerminalResult };
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
const turnRequest = buildMergerTurnRequest(
|
|
294
|
-
admitted,
|
|
295
|
-
resumeTurnRequestProjectionOptions(admitted, request, env),
|
|
296
|
-
);
|
|
297
|
-
|
|
298
|
-
return await runPostAdmissionManualResume({
|
|
299
|
-
admitted,
|
|
267
|
+
return await runPostAdmissionSeatResume({
|
|
268
|
+
request,
|
|
300
269
|
env,
|
|
301
270
|
io,
|
|
302
|
-
|
|
303
|
-
|
|
271
|
+
load: (effective) =>
|
|
272
|
+
loadResumableMergerRun(env.home, effective.runId, env.principalAuthority),
|
|
273
|
+
buildTurnRequest: (admitted, effective) =>
|
|
274
|
+
buildMergerTurnRequest(
|
|
275
|
+
admitted,
|
|
276
|
+
resumeTurnRequestProjectionOptions(admitted, effective, env),
|
|
277
|
+
),
|
|
278
|
+
adapters: mergerAdapters(env.packageRoot),
|
|
279
|
+
afterAdmittedLoad: (admitted) =>
|
|
280
|
+
resolveResumeMethodMaterialAdapters({
|
|
281
|
+
admitted,
|
|
282
|
+
authority: env.principalAuthority,
|
|
283
|
+
io,
|
|
284
|
+
loadMaterial: () => loadMergerMethodMaterial(env.packageRoot),
|
|
285
|
+
adaptersWith: (material) => mergerAdapters(env.packageRoot, material),
|
|
286
|
+
emptyAdapters: mergerAdapters(env.packageRoot),
|
|
287
|
+
knownCause: "activation",
|
|
288
|
+
}),
|
|
304
289
|
...(env.engine === undefined ? {} : { effectiveEngine: env.engine }),
|
|
305
290
|
});
|
|
306
291
|
}
|