@tiangong-ai/cli 0.0.31 → 0.0.33
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/AGENTS.md +2 -2
- package/README.md +140 -98
- package/dist/research/orchestration.js +519 -21
- package/dist/research/orchestration.js.map +1 -1
- package/dist/research/workspace/acquisition.d.ts +71 -0
- package/dist/research/workspace/acquisition.js +593 -0
- package/dist/research/workspace/acquisition.js.map +1 -0
- package/dist/research/workspace/artifacts.d.ts +43 -0
- package/dist/research/workspace/artifacts.js +544 -0
- package/dist/research/workspace/artifacts.js.map +1 -0
- package/dist/research/workspace/broker.d.ts +5 -0
- package/dist/research/workspace/broker.js +318 -43
- package/dist/research/workspace/broker.js.map +1 -1
- package/dist/research/workspace/companion-readiness.d.ts +11 -0
- package/dist/research/workspace/companion-readiness.js +75 -0
- package/dist/research/workspace/companion-readiness.js.map +1 -0
- package/dist/research/workspace/discovery-planning.d.ts +25 -0
- package/dist/research/workspace/discovery-planning.js +106 -0
- package/dist/research/workspace/discovery-planning.js.map +1 -0
- package/dist/research/workspace/discovery-status.d.ts +46 -0
- package/dist/research/workspace/discovery-status.js +183 -0
- package/dist/research/workspace/discovery-status.js.map +1 -0
- package/dist/research/workspace/discovery.d.ts +25 -0
- package/dist/research/workspace/discovery.js +268 -0
- package/dist/research/workspace/discovery.js.map +1 -0
- package/dist/research/workspace/downloads.d.ts +76 -0
- package/dist/research/workspace/downloads.js +274 -0
- package/dist/research/workspace/downloads.js.map +1 -0
- package/dist/research/workspace/evidence-ledger.d.ts +52 -0
- package/dist/research/workspace/evidence-ledger.js +487 -0
- package/dist/research/workspace/evidence-ledger.js.map +1 -0
- package/dist/research/workspace/evidence.d.ts +1 -0
- package/dist/research/workspace/evidence.js +2 -0
- package/dist/research/workspace/evidence.js.map +1 -1
- package/dist/research/workspace/input-plan.js +4 -0
- package/dist/research/workspace/input-plan.js.map +1 -1
- package/dist/research/workspace/native-activity.d.ts +65 -0
- package/dist/research/workspace/native-activity.js +153 -0
- package/dist/research/workspace/native-activity.js.map +1 -0
- package/dist/research/workspace/preflight.d.ts +18 -0
- package/dist/research/workspace/preflight.js +47 -20
- package/dist/research/workspace/preflight.js.map +1 -1
- package/dist/research/workspace/projects.d.ts +3 -1
- package/dist/research/workspace/projects.js +357 -5
- package/dist/research/workspace/projects.js.map +1 -1
- package/dist/research/workspace/runtime.d.ts +171 -3
- package/dist/research/workspace/runtime.js +1582 -77
- package/dist/research/workspace/runtime.js.map +1 -1
- package/dist/research/workspace/sanitization.js +28 -6
- package/dist/research/workspace/sanitization.js.map +1 -1
- package/dist/research/workspace/schemas.d.ts +3 -0
- package/dist/research/workspace/schemas.js +206 -33
- package/dist/research/workspace/schemas.js.map +1 -1
- package/dist/research/workspace/setup-catalog.js +2 -2
- package/dist/research/workspace/setup-wizard.js +45 -17
- package/dist/research/workspace/setup-wizard.js.map +1 -1
- package/dist/research/workspace/setup.d.ts +27 -5
- package/dist/research/workspace/setup.js +400 -85
- package/dist/research/workspace/setup.js.map +1 -1
- package/dist/research/workspace/types.d.ts +38 -3
- package/dist/research/workspace/workspace.d.ts +2 -0
- package/dist/research/workspace/workspace.js +128 -26
- package/dist/research/workspace/workspace.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export type ContextRole = "workspace" | "setup" | "unmanaged" | "invalid";
|
|
2
|
-
export type ProjectStatus = "ready" | "running" | "blocked" | "complete";
|
|
2
|
+
export type ProjectStatus = "ready" | "running" | "blocked" | "complete" | "stale" | "waiting-user" | "waiting-external" | "archived" | "abandoned";
|
|
3
3
|
export type PackageStatus = "pending" | "ready" | "running" | "retry" | "failed" | "complete";
|
|
4
4
|
export type PackageKind = "agent" | "verify";
|
|
5
5
|
export type AgentKind = "codex" | "claude";
|
|
6
6
|
export type AgentReasoningEffort = "minimal" | "low" | "medium" | "high" | "xhigh" | "max";
|
|
7
7
|
export type AgentVerbosity = "low" | "medium" | "high";
|
|
8
8
|
export type ResearchMode = "smoke-test" | "production-research";
|
|
9
|
-
export type AgentPackageStage = "discover" | "analyze" | "synthesize" | "review";
|
|
9
|
+
export type AgentPackageStage = "discover" | "acquire" | "analyze" | "synthesize" | "review";
|
|
10
10
|
export interface AgentPricing {
|
|
11
11
|
inputUsdPerMillionTokens: number;
|
|
12
12
|
cachedInputUsdPerMillionTokens: number;
|
|
@@ -14,6 +14,11 @@ export interface AgentPricing {
|
|
|
14
14
|
}
|
|
15
15
|
export interface AgentRoute {
|
|
16
16
|
agent: AgentKind;
|
|
17
|
+
/**
|
|
18
|
+
* Producer reasoning belongs to the current interactive host. Only the
|
|
19
|
+
* independent reviewer is allowed to run as a child CLI process.
|
|
20
|
+
*/
|
|
21
|
+
executionMode?: "native-host" | "headless-cli";
|
|
17
22
|
binary: string;
|
|
18
23
|
wrapperTargetBinary?: string;
|
|
19
24
|
model: string | null;
|
|
@@ -140,6 +145,10 @@ export interface ProjectInput {
|
|
|
140
145
|
contextSha256?: string;
|
|
141
146
|
contextBytes?: number;
|
|
142
147
|
contextRanges?: ProjectInputLineRange[];
|
|
148
|
+
sourceType?: string;
|
|
149
|
+
dimensions?: string[];
|
|
150
|
+
fullText?: boolean;
|
|
151
|
+
publicationDate?: string | null;
|
|
143
152
|
addedAt: string;
|
|
144
153
|
}
|
|
145
154
|
export interface ProjectInputLineRange {
|
|
@@ -176,6 +185,7 @@ export interface ProjectEvidenceRequirements {
|
|
|
176
185
|
dimensions: string[];
|
|
177
186
|
sourceTypes: string[];
|
|
178
187
|
requiredCapabilityIds?: string[];
|
|
188
|
+
requiredCompanionIds?: string[];
|
|
179
189
|
requiredDiscoveryScopes?: string[];
|
|
180
190
|
minSources: number;
|
|
181
191
|
minFullTextSources: number;
|
|
@@ -185,7 +195,7 @@ export interface ProjectEvidenceRequirements {
|
|
|
185
195
|
}
|
|
186
196
|
export interface WorkPackage {
|
|
187
197
|
id: string;
|
|
188
|
-
stage: "discover" | "analyze" | "synthesize" | "review" | "close";
|
|
198
|
+
stage: "discover" | "acquire" | "analyze" | "synthesize" | "review" | "close";
|
|
189
199
|
kind: PackageKind;
|
|
190
200
|
executor: "producer" | "reviewer" | "mechanical";
|
|
191
201
|
dependencies: string[];
|
|
@@ -219,6 +229,30 @@ export interface ProjectState {
|
|
|
219
229
|
evidenceRequirements: ProjectEvidenceRequirements;
|
|
220
230
|
packages: WorkPackage[];
|
|
221
231
|
usage: ProjectUsage;
|
|
232
|
+
lineage: {
|
|
233
|
+
kind: "primary" | "fork" | "addendum";
|
|
234
|
+
derivedFrom: string | null;
|
|
235
|
+
supersedes: string | null;
|
|
236
|
+
supersededBy: string | null;
|
|
237
|
+
baseSnapshotId: string | null;
|
|
238
|
+
baseSnapshotSha256: string | null;
|
|
239
|
+
};
|
|
240
|
+
handoff: {
|
|
241
|
+
state: "agent-actionable" | "user-action-required" | "external-response-required";
|
|
242
|
+
reasonCode: string | null;
|
|
243
|
+
summary: string | null;
|
|
244
|
+
requestedActions: string[];
|
|
245
|
+
evidenceGaps: string[];
|
|
246
|
+
requestedAt: string | null;
|
|
247
|
+
resolvedAt: string | null;
|
|
248
|
+
resolutionNote: string | null;
|
|
249
|
+
};
|
|
250
|
+
evidenceState: {
|
|
251
|
+
currentSnapshotId: string | null;
|
|
252
|
+
currentSnapshotSha256: string | null;
|
|
253
|
+
closureSnapshotId: string | null;
|
|
254
|
+
staleReason: string | null;
|
|
255
|
+
};
|
|
222
256
|
}
|
|
223
257
|
export interface OutputRecord {
|
|
224
258
|
path: string;
|
|
@@ -282,6 +316,7 @@ export interface RunRecord {
|
|
|
282
316
|
failureDetails?: Record<string, unknown> | null | undefined;
|
|
283
317
|
runtime: AgentRuntimeFingerprint | null;
|
|
284
318
|
telemetry?: AgentExecutionTelemetry | undefined;
|
|
319
|
+
accountingMode?: "measured" | "reserved-native-host" | "mechanical";
|
|
285
320
|
}
|
|
286
321
|
export interface JournalEvent {
|
|
287
322
|
schemaVersion: 1;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type AgentExecutionRequest } from "./executor.js";
|
|
2
|
+
import { doctorExternalCapabilities } from "./external-skills.js";
|
|
2
3
|
import type { AgentRoute, RuntimeLock, WorkspaceConfig, WorkspaceDoctorResult, WorkspaceMarker, ResearchMode, ExecutionResult, AgentRuntimeFingerprint, WorkspaceDoctorAttestation } from "./types.js";
|
|
3
4
|
export declare function initializeResearchWorkspace(targetPath: string, name: string | undefined, mode?: ResearchMode): Promise<{
|
|
4
5
|
workspace: string;
|
|
@@ -12,6 +13,7 @@ export interface DoctorOptions {
|
|
|
12
13
|
agentSmoke?: boolean;
|
|
13
14
|
capabilitySmoke?: boolean;
|
|
14
15
|
capabilityFetcher?: typeof fetch;
|
|
16
|
+
capabilityDoctorResult?: Awaited<ReturnType<typeof doctorExternalCapabilities>>;
|
|
15
17
|
environment?: NodeJS.ProcessEnv;
|
|
16
18
|
executor?: (request: AgentExecutionRequest) => Promise<ExecutionResult>;
|
|
17
19
|
runtimeFingerprinter?: (route: AgentRoute, environment: NodeJS.ProcessEnv) => Promise<AgentRuntimeFingerprint>;
|
|
@@ -14,8 +14,8 @@ import { parseStructuredStageOutput, schemaForStage } from "./schemas.js";
|
|
|
14
14
|
import { sanitizeResearchText } from "./sanitization.js";
|
|
15
15
|
import { acquireFileLock, canonicalJson, ensureDirectory, isObject, pathExists, readJsonFile, requireAbsolutePath, sha256File, sha256Text, workspacePaths, writeJsonAtomic, } from "./storage.js";
|
|
16
16
|
const DOCTOR_ATTESTATION_TTL_MS = 24 * 60 * 60 * 1000;
|
|
17
|
-
const
|
|
18
|
-
maxTokens:
|
|
17
|
+
const DEFAULT_SMOKE_BUDGET = {
|
|
18
|
+
maxTokens: 650_000,
|
|
19
19
|
maxCostUsd: 60,
|
|
20
20
|
maxWallSeconds: 72 * 60 * 60,
|
|
21
21
|
maxFilesPerPackage: 20,
|
|
@@ -24,12 +24,14 @@ const DEFAULT_BUDGET = {
|
|
|
24
24
|
confirmationCostUsd: 10,
|
|
25
25
|
packageMaxTokens: {
|
|
26
26
|
discover: 230_000,
|
|
27
|
-
|
|
27
|
+
acquire: 80_000,
|
|
28
|
+
analyze: 70_000,
|
|
28
29
|
synthesize: 70_000,
|
|
29
|
-
review:
|
|
30
|
+
review: 190_000,
|
|
30
31
|
},
|
|
31
32
|
packageMaxWallSeconds: {
|
|
32
33
|
discover: 2 * 60 * 60,
|
|
34
|
+
acquire: 2 * 60 * 60,
|
|
33
35
|
analyze: 2 * 60 * 60,
|
|
34
36
|
synthesize: 60 * 60,
|
|
35
37
|
review: 60 * 60,
|
|
@@ -38,10 +40,45 @@ const DEFAULT_BUDGET = {
|
|
|
38
40
|
maxRepairTokens: 4_000,
|
|
39
41
|
maxBrokerResponseBytes: 512 * 1024,
|
|
40
42
|
maxBrokerContextTokens: 12_000,
|
|
41
|
-
|
|
43
|
+
// This is a reviewed hard ceiling. Each project derives a smaller working
|
|
44
|
+
// budget from its evidence requirements and stops as soon as coverage is met.
|
|
45
|
+
maxBrokerCalls: 24,
|
|
42
46
|
maxBrokerItems: 100,
|
|
43
47
|
maxInputContextTokens: 12_000,
|
|
44
48
|
};
|
|
49
|
+
// Production uses deliberately generous but finite ceilings. Coverage-driven
|
|
50
|
+
// planning and early stop control ordinary spend; these values are the final
|
|
51
|
+
// runaway guard, not a target for a successful research run.
|
|
52
|
+
const DEFAULT_PRODUCTION_BUDGET = {
|
|
53
|
+
maxTokens: 20_000_000,
|
|
54
|
+
maxCostUsd: 2_000,
|
|
55
|
+
maxWallSeconds: 14 * 24 * 60 * 60,
|
|
56
|
+
maxFilesPerPackage: 500,
|
|
57
|
+
maxBytesPerPackage: 512 * 1024 * 1024,
|
|
58
|
+
maxAttemptsPerPackage: 3,
|
|
59
|
+
confirmationCostUsd: 10,
|
|
60
|
+
packageMaxTokens: {
|
|
61
|
+
discover: 12_000_000,
|
|
62
|
+
acquire: 2_000_000,
|
|
63
|
+
analyze: 1_500_000,
|
|
64
|
+
synthesize: 1_500_000,
|
|
65
|
+
review: 2_500_000,
|
|
66
|
+
},
|
|
67
|
+
packageMaxWallSeconds: {
|
|
68
|
+
discover: 48 * 60 * 60,
|
|
69
|
+
acquire: 48 * 60 * 60,
|
|
70
|
+
analyze: 24 * 60 * 60,
|
|
71
|
+
synthesize: 24 * 60 * 60,
|
|
72
|
+
review: 24 * 60 * 60,
|
|
73
|
+
},
|
|
74
|
+
maxOutputTokens: 32_000,
|
|
75
|
+
maxRepairTokens: 16_000,
|
|
76
|
+
maxBrokerResponseBytes: 8 * 1024 * 1024,
|
|
77
|
+
maxBrokerContextTokens: 32_000,
|
|
78
|
+
maxBrokerCalls: 256,
|
|
79
|
+
maxBrokerItems: 500,
|
|
80
|
+
maxInputContextTokens: 128_000,
|
|
81
|
+
};
|
|
45
82
|
export async function initializeResearchWorkspace(targetPath, name, mode = "smoke-test") {
|
|
46
83
|
const root = requireAbsolutePath(targetPath, "Workspace path");
|
|
47
84
|
await mkdir(root, { recursive: true, mode: 0o755 });
|
|
@@ -70,13 +107,20 @@ export async function initializeResearchWorkspace(targetPath, name, mode = "smok
|
|
|
70
107
|
mode,
|
|
71
108
|
producer: {
|
|
72
109
|
agent: "codex",
|
|
110
|
+
executionMode: "native-host",
|
|
73
111
|
binary: "codex",
|
|
74
112
|
model: null,
|
|
75
113
|
effort: "low",
|
|
76
114
|
verbosity: "low",
|
|
77
115
|
},
|
|
78
|
-
reviewer: {
|
|
79
|
-
|
|
116
|
+
reviewer: {
|
|
117
|
+
agent: "claude",
|
|
118
|
+
executionMode: "headless-cli",
|
|
119
|
+
binary: "claude",
|
|
120
|
+
model: null,
|
|
121
|
+
effort: "low",
|
|
122
|
+
},
|
|
123
|
+
budget: structuredClone(mode === "production-research" ? DEFAULT_PRODUCTION_BUDGET : DEFAULT_SMOKE_BUDGET),
|
|
80
124
|
};
|
|
81
125
|
const runtimeLock = {
|
|
82
126
|
schemaVersion: 1,
|
|
@@ -254,12 +298,24 @@ export async function doctorResearchWorkspace(inputPath, options = {}) {
|
|
|
254
298
|
: "Production research requires an external public-internet capability; local evidence alone is not sufficient.",
|
|
255
299
|
});
|
|
256
300
|
}
|
|
301
|
+
const staticAgentPrerequisitesReady = Boolean(config &&
|
|
302
|
+
config.producer.executionMode === "native-host" &&
|
|
303
|
+
config.reviewer.executionMode === "headless-cli" &&
|
|
304
|
+
config.producer.agent !== config.reviewer.agent &&
|
|
305
|
+
(config.mode !== "production-research" ||
|
|
306
|
+
(config.producer.model &&
|
|
307
|
+
config.reviewer.model &&
|
|
308
|
+
config.producer.pricing &&
|
|
309
|
+
config.reviewer.pricing)) &&
|
|
310
|
+
!checks.some((check) => check.status === "fail"));
|
|
311
|
+
const runCapabilitySmoke = options.capabilitySmoke === true && staticAgentPrerequisitesReady;
|
|
257
312
|
const externalCapabilityDoctor = capabilityDeclarations
|
|
258
313
|
? await checked(checks, "external-skill-readiness", async () => {
|
|
259
|
-
const value =
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
314
|
+
const value = options.capabilityDoctorResult ??
|
|
315
|
+
(await doctorExternalCapabilities(workspace, {
|
|
316
|
+
live: runCapabilitySmoke,
|
|
317
|
+
...(options.capabilityFetcher ? { fetcher: options.capabilityFetcher } : {}),
|
|
318
|
+
}));
|
|
263
319
|
if (value.status !== "ready") {
|
|
264
320
|
throw new Error(value.failures.join("; ") || "external capability readiness failed");
|
|
265
321
|
}
|
|
@@ -273,12 +329,14 @@ export async function doctorResearchWorkspace(inputPath, options = {}) {
|
|
|
273
329
|
const reusableAttestation = config?.mode === "production-research" &&
|
|
274
330
|
marker &&
|
|
275
331
|
capabilityDeclarations &&
|
|
276
|
-
(
|
|
332
|
+
!(options.agentSmoke === true && options.capabilitySmoke === true)
|
|
277
333
|
? await inspectReusableDoctorAttestation(workspace, config, options.environment ?? process.env, options.runtimeFingerprinter ?? fingerprintAgentRoute)
|
|
278
334
|
: null;
|
|
279
335
|
const attested = reusableAttestation?.status === "verified" ? reusableAttestation.attestation : null;
|
|
280
336
|
if (hasNetworkCapabilities) {
|
|
281
|
-
const liveCapabilityReady = (
|
|
337
|
+
const liveCapabilityReady = (runCapabilitySmoke &&
|
|
338
|
+
externalCapabilityDoctor?.mode === "live" &&
|
|
339
|
+
externalCapabilityDoctor.status === "ready") ||
|
|
282
340
|
attested !== null;
|
|
283
341
|
checks.push({
|
|
284
342
|
id: "capability-live-smoke",
|
|
@@ -287,7 +345,9 @@ export async function doctorResearchWorkspace(inputPath, options = {}) {
|
|
|
287
345
|
: config?.mode === "production-research"
|
|
288
346
|
? "fail"
|
|
289
347
|
: "warn",
|
|
290
|
-
detail:
|
|
348
|
+
detail: runCapabilitySmoke &&
|
|
349
|
+
externalCapabilityDoctor?.mode === "live" &&
|
|
350
|
+
externalCapabilityDoctor.status === "ready"
|
|
291
351
|
? "All configured brokered capability health checks passed."
|
|
292
352
|
: attested
|
|
293
353
|
? `Reused verified capability smoke from the doctor attestation valid until ${attested.expiresAt}.`
|
|
@@ -320,6 +380,22 @@ export async function doctorResearchWorkspace(inputPath, options = {}) {
|
|
|
320
380
|
detail: `${config.producer.agent} -> ${config.reviewer.agent}`,
|
|
321
381
|
});
|
|
322
382
|
}
|
|
383
|
+
if (config &&
|
|
384
|
+
(config.producer.executionMode !== "native-host" ||
|
|
385
|
+
config.reviewer.executionMode !== "headless-cli")) {
|
|
386
|
+
checks.push({
|
|
387
|
+
id: "execution-mode-boundary",
|
|
388
|
+
status: "fail",
|
|
389
|
+
detail: "Producer must use native-host and reviewer must use headless-cli.",
|
|
390
|
+
});
|
|
391
|
+
}
|
|
392
|
+
else if (config) {
|
|
393
|
+
checks.push({
|
|
394
|
+
id: "execution-mode-boundary",
|
|
395
|
+
status: "pass",
|
|
396
|
+
detail: "producer=native-host reviewer=headless-cli",
|
|
397
|
+
});
|
|
398
|
+
}
|
|
323
399
|
if (config?.mode === "production-research" &&
|
|
324
400
|
(!config.producer.model || !config.reviewer.model)) {
|
|
325
401
|
checks.push({
|
|
@@ -355,9 +431,17 @@ export async function doctorResearchWorkspace(inputPath, options = {}) {
|
|
|
355
431
|
});
|
|
356
432
|
}
|
|
357
433
|
if (config) {
|
|
358
|
-
if (options.agentSmoke) {
|
|
434
|
+
if (options.agentSmoke && !attested) {
|
|
359
435
|
const smokeResults = [];
|
|
360
|
-
|
|
436
|
+
const blockingPrerequisitesPassed = !checks.some((check) => check.status === "fail");
|
|
437
|
+
if (!blockingPrerequisitesPassed) {
|
|
438
|
+
checks.push({
|
|
439
|
+
id: "agent-sandbox-smoke.skipped",
|
|
440
|
+
status: "fail",
|
|
441
|
+
detail: "Independent reviewer smoke was skipped because a zero/low-cost blocking prerequisite failed.",
|
|
442
|
+
});
|
|
443
|
+
}
|
|
444
|
+
for (const route of blockingPrerequisitesPassed ? [config.reviewer] : []) {
|
|
361
445
|
const result = await checked(checks, `agent-sandbox-smoke.${route.agent}`, async () => {
|
|
362
446
|
const value = await runAgentSmokeCheck(workspace, config, route, options.environment ?? process.env, options.executor ?? executeAgent);
|
|
363
447
|
return { value, detail: agentSmokeDetail(value) };
|
|
@@ -365,7 +449,7 @@ export async function doctorResearchWorkspace(inputPath, options = {}) {
|
|
|
365
449
|
if (result)
|
|
366
450
|
smokeResults.push(result);
|
|
367
451
|
}
|
|
368
|
-
const smoke = smokeResults.length ===
|
|
452
|
+
const smoke = smokeResults.length === 1
|
|
369
453
|
? {
|
|
370
454
|
runtimes: smokeResults
|
|
371
455
|
.map((result) => result.runtime)
|
|
@@ -373,7 +457,9 @@ export async function doctorResearchWorkspace(inputPath, options = {}) {
|
|
|
373
457
|
smokeUsage: smokeResults
|
|
374
458
|
.map((result) => result.usage)
|
|
375
459
|
.sort((left, right) => left.agent.localeCompare(right.agent)),
|
|
376
|
-
capabilitySmoke:
|
|
460
|
+
capabilitySmoke: runCapabilitySmoke &&
|
|
461
|
+
externalCapabilityDoctor?.mode === "live" &&
|
|
462
|
+
externalCapabilityDoctor.status === "ready"
|
|
377
463
|
? externalCapabilityDoctor.capabilities
|
|
378
464
|
.filter((capability) => capability.health.status !== "not-applicable")
|
|
379
465
|
.map((capability) => ({
|
|
@@ -384,15 +470,15 @@ export async function doctorResearchWorkspace(inputPath, options = {}) {
|
|
|
384
470
|
targetSha256: capability.health.targetSha256,
|
|
385
471
|
httpStatus: capability.health.httpStatus,
|
|
386
472
|
}))
|
|
387
|
-
:
|
|
473
|
+
: [],
|
|
388
474
|
}
|
|
389
475
|
: undefined;
|
|
390
476
|
checks.push({
|
|
391
477
|
id: "agent-sandbox-smoke",
|
|
392
478
|
status: smoke ? "pass" : "fail",
|
|
393
479
|
detail: smoke
|
|
394
|
-
? "
|
|
395
|
-
: `${smokeResults.length}/
|
|
480
|
+
? "The isolated independent-reviewer CLI smoke passed."
|
|
481
|
+
: `${smokeResults.length}/1 isolated reviewer smoke checks passed.`,
|
|
396
482
|
});
|
|
397
483
|
if (smoke &&
|
|
398
484
|
config.mode === "production-research" &&
|
|
@@ -411,8 +497,8 @@ export async function doctorResearchWorkspace(inputPath, options = {}) {
|
|
|
411
497
|
id: "agent-sandbox-smoke",
|
|
412
498
|
status: attested ? "pass" : config.mode === "production-research" ? "fail" : "warn",
|
|
413
499
|
detail: attested
|
|
414
|
-
? `Reused verified
|
|
415
|
-
: "
|
|
500
|
+
? `Reused the verified independent-reviewer runtime fingerprint from the doctor attestation valid until ${attested.expiresAt}.`
|
|
501
|
+
: "Independent-reviewer execution smoke was not run; rerun doctor with --agent-smoke before production research.",
|
|
416
502
|
});
|
|
417
503
|
if (config.mode === "production-research") {
|
|
418
504
|
checks.push({
|
|
@@ -436,7 +522,7 @@ async function inspectReusableDoctorAttestation(workspace, config, environment,
|
|
|
436
522
|
if (verification.status !== "verified" || !verification.attestation)
|
|
437
523
|
return verification;
|
|
438
524
|
const errors = [];
|
|
439
|
-
for (const route of [config.
|
|
525
|
+
for (const route of [config.reviewer]) {
|
|
440
526
|
const expected = verification.attestation.runtimes.find((runtime) => runtime.agent === route.agent && runtime.model === route.model);
|
|
441
527
|
if (!expected) {
|
|
442
528
|
errors.push(`${route.agent} runtime fingerprint is absent from the attestation`);
|
|
@@ -600,6 +686,13 @@ export async function verifyDoctorAttestation(root) {
|
|
|
600
686
|
if (value.doctorSchemaSha256 !== sha256Text(canonicalJson(schemaForStage("doctor")))) {
|
|
601
687
|
errors.push("doctor schema drifted");
|
|
602
688
|
}
|
|
689
|
+
const reviewerRuntime = value.runtimes[0];
|
|
690
|
+
const reviewerUsage = value.smokeUsage[0];
|
|
691
|
+
if (reviewerRuntime?.agent !== config.reviewer.agent ||
|
|
692
|
+
reviewerRuntime.model !== config.reviewer.model ||
|
|
693
|
+
reviewerUsage?.agent !== config.reviewer.agent) {
|
|
694
|
+
errors.push("independent reviewer attestation binding drifted");
|
|
695
|
+
}
|
|
603
696
|
if (config.mode === "production-research") {
|
|
604
697
|
const expectedCapabilityIds = declarations.capabilities
|
|
605
698
|
.filter((capability) => capability.permissions.includes("brokered-network"))
|
|
@@ -635,13 +728,13 @@ function isDoctorAttestation(value) {
|
|
|
635
728
|
!Number.isFinite(Date.parse(value.expiresAt)) ||
|
|
636
729
|
hashFields.some((hash) => typeof hash !== "string" || !/^[0-9a-f]{64}$/.test(hash)) ||
|
|
637
730
|
!Array.isArray(value.runtimes) ||
|
|
638
|
-
value.runtimes.length !==
|
|
731
|
+
value.runtimes.length !== 1 ||
|
|
639
732
|
!Array.isArray(value.capabilitySmoke) ||
|
|
640
733
|
!value.capabilitySmoke.every(isCapabilitySmokeRow) ||
|
|
641
734
|
new Set(value.capabilitySmoke.map((row) => (isObject(row) ? row.id : null))).size !==
|
|
642
735
|
value.capabilitySmoke.length ||
|
|
643
736
|
!Array.isArray(value.smokeUsage) ||
|
|
644
|
-
value.smokeUsage.length !==
|
|
737
|
+
value.smokeUsage.length !== 1) {
|
|
645
738
|
return false;
|
|
646
739
|
}
|
|
647
740
|
return value.runtimes.every((runtime) => isObject(runtime) &&
|
|
@@ -730,6 +823,10 @@ function isWorkspaceConfig(value) {
|
|
|
730
823
|
return false;
|
|
731
824
|
if (!isAgentRoute(value.producer) || !isAgentRoute(value.reviewer))
|
|
732
825
|
return false;
|
|
826
|
+
if (value.producer.executionMode !== "native-host" ||
|
|
827
|
+
value.reviewer.executionMode !== "headless-cli") {
|
|
828
|
+
return false;
|
|
829
|
+
}
|
|
733
830
|
const budget = value.budget;
|
|
734
831
|
return (isObject(budget) &&
|
|
735
832
|
positiveInteger(budget.maxTokens) &&
|
|
@@ -741,11 +838,13 @@ function isWorkspaceConfig(value) {
|
|
|
741
838
|
positiveNumber(budget.confirmationCostUsd) &&
|
|
742
839
|
isObject(budget.packageMaxTokens) &&
|
|
743
840
|
positiveInteger(budget.packageMaxTokens.discover) &&
|
|
841
|
+
positiveInteger(budget.packageMaxTokens.acquire) &&
|
|
744
842
|
positiveInteger(budget.packageMaxTokens.analyze) &&
|
|
745
843
|
positiveInteger(budget.packageMaxTokens.synthesize) &&
|
|
746
844
|
positiveInteger(budget.packageMaxTokens.review) &&
|
|
747
845
|
isObject(budget.packageMaxWallSeconds) &&
|
|
748
846
|
positiveInteger(budget.packageMaxWallSeconds.discover) &&
|
|
847
|
+
positiveInteger(budget.packageMaxWallSeconds.acquire) &&
|
|
749
848
|
positiveInteger(budget.packageMaxWallSeconds.analyze) &&
|
|
750
849
|
positiveInteger(budget.packageMaxWallSeconds.synthesize) &&
|
|
751
850
|
positiveInteger(budget.packageMaxWallSeconds.review) &&
|
|
@@ -762,6 +861,9 @@ function isWorkspaceConfig(value) {
|
|
|
762
861
|
function isAgentRoute(value) {
|
|
763
862
|
if (!(isObject(value) &&
|
|
764
863
|
(value.agent === "codex" || value.agent === "claude") &&
|
|
864
|
+
(value.executionMode === undefined ||
|
|
865
|
+
value.executionMode === "native-host" ||
|
|
866
|
+
value.executionMode === "headless-cli") &&
|
|
765
867
|
typeof value.binary === "string" &&
|
|
766
868
|
value.binary.length > 0 &&
|
|
767
869
|
(value.wrapperTargetBinary === undefined ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../src/research/workspace/workspace.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../src/research/workspace/workspace.ts"],"names":[],"mappings":"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"}
|