@tiangong-ai/cli 0.0.60 → 0.0.62
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 +17 -6
- package/README.md +577 -55
- package/dist/data/builtins.js +33 -5
- package/dist/data/builtins.js.map +1 -1
- package/dist/data/catalog.js +46 -0
- package/dist/data/catalog.js.map +1 -1
- package/dist/data/commands.js +15 -1
- package/dist/data/commands.js.map +1 -1
- package/dist/data/connectors/airnow-hourly-observations.js +60 -10
- package/dist/data/connectors/airnow-hourly-observations.js.map +1 -1
- package/dist/data/connectors/epa-eis-records.js +16 -2
- package/dist/data/connectors/epa-eis-records.js.map +1 -1
- package/dist/data/connectors/gdelt-doc-search.js +54 -18
- package/dist/data/connectors/gdelt-doc-search.js.map +1 -1
- package/dist/data/connectors/gdelt-file-feeds.js +20 -11
- package/dist/data/connectors/gdelt-file-feeds.js.map +1 -1
- package/dist/data/connectors/gdelt-web-ngrams.d.ts +2 -0
- package/dist/data/connectors/gdelt-web-ngrams.js +350 -0
- package/dist/data/connectors/gdelt-web-ngrams.js.map +1 -0
- package/dist/data/connectors/gdelt-web-ngrams.schemas.d.ts +188 -0
- package/dist/data/connectors/gdelt-web-ngrams.schemas.js +138 -0
- package/dist/data/connectors/gdelt-web-ngrams.schemas.js.map +1 -0
- package/dist/data/connectors/nasa-firms-fire.js +4 -0
- package/dist/data/connectors/nasa-firms-fire.js.map +1 -1
- package/dist/data/connectors/open-meteo-air-quality.js +27 -22
- package/dist/data/connectors/open-meteo-air-quality.js.map +1 -1
- package/dist/data/connectors/open-meteo-air-quality.schemas.d.ts +4 -1
- package/dist/data/connectors/open-meteo-air-quality.schemas.js +21 -1
- package/dist/data/connectors/open-meteo-air-quality.schemas.js.map +1 -1
- package/dist/data/connectors/open-meteo-flood.js +28 -23
- package/dist/data/connectors/open-meteo-flood.js.map +1 -1
- package/dist/data/connectors/open-meteo-flood.schemas.d.ts +4 -1
- package/dist/data/connectors/open-meteo-flood.schemas.js +21 -1
- package/dist/data/connectors/open-meteo-flood.schemas.js.map +1 -1
- package/dist/data/connectors/open-meteo-historical-weather.js +26 -21
- package/dist/data/connectors/open-meteo-historical-weather.js.map +1 -1
- package/dist/data/connectors/open-meteo-historical-weather.schemas.d.ts +4 -1
- package/dist/data/connectors/open-meteo-historical-weather.schemas.js +21 -1
- package/dist/data/connectors/open-meteo-historical-weather.schemas.js.map +1 -1
- package/dist/data/connectors/openaq-air-quality.js +50 -12
- package/dist/data/connectors/openaq-air-quality.js.map +1 -1
- package/dist/data/connectors/openaq-air-quality.schemas.d.ts +0 -4
- package/dist/data/connectors/openaq-air-quality.schemas.js +2 -2
- package/dist/data/connectors/openaq-air-quality.schemas.js.map +1 -1
- package/dist/data/connectors/youtube-public-content.js +76 -6
- package/dist/data/connectors/youtube-public-content.js.map +1 -1
- package/dist/data/connectors/youtube-public-content.schemas.d.ts +63 -3
- package/dist/data/connectors/youtube-public-content.schemas.js +56 -2
- package/dist/data/connectors/youtube-public-content.schemas.js.map +1 -1
- package/dist/data/contracts.d.ts +22 -1
- package/dist/data/runtime/bounded-http.d.ts +2 -0
- package/dist/data/runtime/bounded-http.js +221 -59
- package/dist/data/runtime/bounded-http.js.map +1 -1
- package/dist/data/runtime/execute.d.ts +2 -0
- package/dist/data/runtime/execute.js +82 -60
- package/dist/data/runtime/execute.js.map +1 -1
- package/dist/data/runtime/http-timing.d.ts +15 -0
- package/dist/data/runtime/http-timing.js +59 -0
- package/dist/data/runtime/http-timing.js.map +1 -0
- package/dist/data/runtime/http-transport.d.ts +1 -0
- package/dist/data/runtime/http-transport.js +27 -0
- package/dist/data/runtime/http-transport.js.map +1 -0
- package/dist/data/schemas/catalog.v1.json +46 -0
- package/dist/data/schemas/discovery.v1.json +12 -0
- package/dist/data/schemas/error.v1.json +1 -0
- package/dist/data/schemas/manifest.v1.json +19 -1
- package/dist/research/orchestration.js +341 -28
- package/dist/research/orchestration.js.map +1 -1
- package/dist/research/setup-command.js +37 -6
- package/dist/research/setup-command.js.map +1 -1
- package/dist/research/workspace/acquisition-routes.d.ts +1 -1
- package/dist/research/workspace/acquisition-routes.js +2 -11
- package/dist/research/workspace/acquisition-routes.js.map +1 -1
- package/dist/research/workspace/artifact-read-audit.d.ts +16 -0
- package/dist/research/workspace/artifact-read-audit.js +176 -0
- package/dist/research/workspace/artifact-read-audit.js.map +1 -0
- package/dist/research/workspace/artifact-trace.d.ts +12 -0
- package/dist/research/workspace/artifact-trace.js +109 -0
- package/dist/research/workspace/artifact-trace.js.map +1 -0
- package/dist/research/workspace/artifact-view-mcp.d.ts +75 -0
- package/dist/research/workspace/artifact-view-mcp.js +214 -0
- package/dist/research/workspace/artifact-view-mcp.js.map +1 -0
- package/dist/research/workspace/artifact-views.d.ts +100 -0
- package/dist/research/workspace/artifact-views.js +395 -0
- package/dist/research/workspace/artifact-views.js.map +1 -0
- package/dist/research/workspace/audit-bundle.d.ts +4 -0
- package/dist/research/workspace/audit-bundle.js +130 -11
- package/dist/research/workspace/audit-bundle.js.map +1 -1
- package/dist/research/workspace/broker.js +25 -4
- package/dist/research/workspace/broker.js.map +1 -1
- package/dist/research/workspace/constants.d.ts +1 -0
- package/dist/research/workspace/constants.js +1 -0
- package/dist/research/workspace/constants.js.map +1 -1
- package/dist/research/workspace/content-evidence.d.ts +1 -0
- package/dist/research/workspace/content-evidence.js +1 -1
- package/dist/research/workspace/content-evidence.js.map +1 -1
- package/dist/research/workspace/credentials.js +2 -1
- package/dist/research/workspace/credentials.js.map +1 -1
- package/dist/research/workspace/data-evidence-adapter.d.ts +71 -0
- package/dist/research/workspace/data-evidence-adapter.js +269 -59
- package/dist/research/workspace/data-evidence-adapter.js.map +1 -1
- package/dist/research/workspace/data-evidence-view.d.ts +58 -0
- package/dist/research/workspace/data-evidence-view.js +411 -0
- package/dist/research/workspace/data-evidence-view.js.map +1 -0
- package/dist/research/workspace/evidence-ledger.js +32 -29
- package/dist/research/workspace/evidence-ledger.js.map +1 -1
- package/dist/research/workspace/evidence.d.ts +28 -0
- package/dist/research/workspace/evidence.js +48 -0
- package/dist/research/workspace/evidence.js.map +1 -1
- package/dist/research/workspace/executor.d.ts +32 -2
- package/dist/research/workspace/executor.js +286 -42
- package/dist/research/workspace/executor.js.map +1 -1
- package/dist/research/workspace/investigation-attempt.d.ts +159 -0
- package/dist/research/workspace/investigation-attempt.js +619 -0
- package/dist/research/workspace/investigation-attempt.js.map +1 -0
- package/dist/research/workspace/investigation-audit.d.ts +20 -0
- package/dist/research/workspace/investigation-audit.js +306 -0
- package/dist/research/workspace/investigation-audit.js.map +1 -0
- package/dist/research/workspace/investigation-candidate.d.ts +84 -0
- package/dist/research/workspace/investigation-candidate.js +156 -0
- package/dist/research/workspace/investigation-candidate.js.map +1 -0
- package/dist/research/workspace/investigation-certification.d.ts +39 -0
- package/dist/research/workspace/investigation-certification.js +152 -0
- package/dist/research/workspace/investigation-certification.js.map +1 -0
- package/dist/research/workspace/investigation-close.d.ts +47 -0
- package/dist/research/workspace/investigation-close.js +153 -0
- package/dist/research/workspace/investigation-close.js.map +1 -0
- package/dist/research/workspace/investigation-lineage.d.ts +8 -0
- package/dist/research/workspace/investigation-lineage.js +10 -0
- package/dist/research/workspace/investigation-lineage.js.map +1 -0
- package/dist/research/workspace/investigation-observer.d.ts +22 -0
- package/dist/research/workspace/investigation-observer.js +122 -0
- package/dist/research/workspace/investigation-observer.js.map +1 -0
- package/dist/research/workspace/investigation-promotion.d.ts +129 -0
- package/dist/research/workspace/investigation-promotion.js +316 -0
- package/dist/research/workspace/investigation-promotion.js.map +1 -0
- package/dist/research/workspace/investigation-requirements.d.ts +5 -0
- package/dist/research/workspace/investigation-requirements.js +32 -0
- package/dist/research/workspace/investigation-requirements.js.map +1 -0
- package/dist/research/workspace/investigation-resources.d.ts +12 -0
- package/dist/research/workspace/investigation-resources.js +78 -0
- package/dist/research/workspace/investigation-resources.js.map +1 -0
- package/dist/research/workspace/investigation-source-export.d.ts +6 -0
- package/dist/research/workspace/investigation-source-export.js +68 -0
- package/dist/research/workspace/investigation-source-export.js.map +1 -0
- package/dist/research/workspace/investigation-store.d.ts +9 -0
- package/dist/research/workspace/investigation-store.js +55 -0
- package/dist/research/workspace/investigation-store.js.map +1 -0
- package/dist/research/workspace/investigation.d.ts +424 -0
- package/dist/research/workspace/investigation.js +716 -0
- package/dist/research/workspace/investigation.js.map +1 -0
- package/dist/research/workspace/native-process-supervisor.d.ts +1 -0
- package/dist/research/workspace/native-process-supervisor.js +97 -0
- package/dist/research/workspace/native-process-supervisor.js.map +1 -0
- package/dist/research/workspace/native-run.d.ts +150 -0
- package/dist/research/workspace/native-run.js +879 -0
- package/dist/research/workspace/native-run.js.map +1 -0
- package/dist/research/workspace/preflight.d.ts +11 -2
- package/dist/research/workspace/preflight.js +28 -20
- package/dist/research/workspace/preflight.js.map +1 -1
- package/dist/research/workspace/project-authority.js +2 -0
- package/dist/research/workspace/project-authority.js.map +1 -1
- package/dist/research/workspace/project-budget.d.ts +41 -0
- package/dist/research/workspace/project-budget.js +265 -0
- package/dist/research/workspace/project-budget.js.map +1 -0
- package/dist/research/workspace/project-mutations.d.ts +1 -1
- package/dist/research/workspace/project-mutations.js +29 -3
- package/dist/research/workspace/project-mutations.js.map +1 -1
- package/dist/research/workspace/projects.d.ts +66 -0
- package/dist/research/workspace/projects.js +182 -3
- package/dist/research/workspace/projects.js.map +1 -1
- package/dist/research/workspace/provider-budget.d.ts +3 -0
- package/dist/research/workspace/provider-budget.js +45 -0
- package/dist/research/workspace/provider-budget.js.map +1 -0
- package/dist/research/workspace/provider-state.d.ts +1 -0
- package/dist/research/workspace/provider-state.js +20 -0
- package/dist/research/workspace/provider-state.js.map +1 -0
- package/dist/research/workspace/publication-lineage.d.ts +34 -0
- package/dist/research/workspace/publication-lineage.js +165 -0
- package/dist/research/workspace/publication-lineage.js.map +1 -0
- package/dist/research/workspace/publication-workflow.d.ts +24 -0
- package/dist/research/workspace/publication-workflow.js +118 -14
- package/dist/research/workspace/publication-workflow.js.map +1 -1
- package/dist/research/workspace/request-provenance.d.ts +67 -0
- package/dist/research/workspace/request-provenance.js +115 -0
- package/dist/research/workspace/request-provenance.js.map +1 -0
- package/dist/research/workspace/review-executor.d.ts +6 -1
- package/dist/research/workspace/review-executor.js +39 -14
- package/dist/research/workspace/review-executor.js.map +1 -1
- package/dist/research/workspace/runtime.d.ts +64 -1
- package/dist/research/workspace/runtime.js +359 -112
- package/dist/research/workspace/runtime.js.map +1 -1
- package/dist/research/workspace/sanitization.js +1 -1
- package/dist/research/workspace/sanitization.js.map +1 -1
- package/dist/research/workspace/schema-compatibility.d.ts +5 -0
- package/dist/research/workspace/schema-compatibility.js +55 -0
- package/dist/research/workspace/schema-compatibility.js.map +1 -0
- package/dist/research/workspace/scientific-amendment.d.ts +103 -0
- package/dist/research/workspace/scientific-amendment.js +537 -0
- package/dist/research/workspace/scientific-amendment.js.map +1 -0
- package/dist/research/workspace/scientific-design.js +8 -17
- package/dist/research/workspace/scientific-design.js.map +1 -1
- package/dist/research/workspace/scientific-fulfillment-audit.d.ts +21 -0
- package/dist/research/workspace/scientific-fulfillment-audit.js +217 -0
- package/dist/research/workspace/scientific-fulfillment-audit.js.map +1 -0
- package/dist/research/workspace/scientific-fulfillment.d.ts +130 -0
- package/dist/research/workspace/scientific-fulfillment.js +553 -0
- package/dist/research/workspace/scientific-fulfillment.js.map +1 -0
- package/dist/research/workspace/scientific-review-execution.js +236 -75
- package/dist/research/workspace/scientific-review-execution.js.map +1 -1
- package/dist/research/workspace/scientific-review.d.ts +6 -1
- package/dist/research/workspace/scientific-review.js +228 -52
- package/dist/research/workspace/scientific-review.js.map +1 -1
- package/dist/research/workspace/setup-catalog.js +3 -3
- package/dist/research/workspace/setup-release.d.ts +22 -0
- package/dist/research/workspace/setup-release.js +426 -0
- package/dist/research/workspace/setup-release.js.map +1 -0
- package/dist/research/workspace/setup-runtime-integrity.d.ts +2 -0
- package/dist/research/workspace/setup-runtime-integrity.js +31 -0
- package/dist/research/workspace/setup-runtime-integrity.js.map +1 -0
- package/dist/research/workspace/setup-upgrade.d.ts +17 -0
- package/dist/research/workspace/setup-upgrade.js +784 -0
- package/dist/research/workspace/setup-upgrade.js.map +1 -0
- package/dist/research/workspace/setup.d.ts +31 -39
- package/dist/research/workspace/setup.js +220 -17
- package/dist/research/workspace/setup.js.map +1 -1
- package/dist/research/workspace/task-acceptance.d.ts +17 -2
- package/dist/research/workspace/task-acceptance.js +106 -10
- package/dist/research/workspace/task-acceptance.js.map +1 -1
- package/dist/research/workspace/task-audit.d.ts +5 -1
- package/dist/research/workspace/task-audit.js +70 -5
- package/dist/research/workspace/task-audit.js.map +1 -1
- package/dist/research/workspace/task-contract.d.ts +4 -1
- package/dist/research/workspace/task-contract.js +26 -5
- package/dist/research/workspace/task-contract.js.map +1 -1
- package/dist/research/workspace/types.d.ts +50 -3
- package/dist/research/workspace/workspace.js +34 -4
- package/dist/research/workspace/workspace.js.map +1 -1
- package/package.json +2 -1
|
@@ -1,12 +1,14 @@
|
|
|
1
|
+
import { assertProjectRoutePriced, remainingProjectCostUsd, reserveProjectCost, settleProjectCost, } from "./project-budget.js";
|
|
1
2
|
import { createHash, randomUUID } from "node:crypto";
|
|
2
3
|
import { constants } from "node:fs";
|
|
3
|
-
import { copyFile, lstat, mkdtemp, open,
|
|
4
|
+
import { copyFile, lstat, mkdir, mkdtemp, open, rm } from "node:fs/promises";
|
|
4
5
|
import { dirname, join } from "node:path";
|
|
5
6
|
import { CliError } from "../../errors.js";
|
|
7
|
+
import { artifactPromptContext, artifactReadInstructions, persistArtifactReads, persistArtifactViewIndex, writeArtifactViewIndex, } from "./artifact-views.js";
|
|
6
8
|
import { verifyCapabilities } from "./capabilities.js";
|
|
7
9
|
import { appendJournalEvent, readVerifiedJournal } from "./journal.js";
|
|
8
10
|
import { assertProjectAuthority, projectAuthorityIndex } from "./project-authority.js";
|
|
9
|
-
import { calculateAgentCallTokenReservation, RESEARCH_ESTIMATED_BYTES_PER_TOKEN,
|
|
11
|
+
import { calculateAgentCallTokenReservation, RESEARCH_ESTIMATED_BYTES_PER_TOKEN, RESEARCH_PACKET_READ_MAX_TURNS, RESEARCH_EXPECTED_ARTIFACT_READ_TOKENS, reservedAgentPackageCost, } from "./preflight.js";
|
|
10
12
|
import { loadProject, saveProject } from "./projects.js";
|
|
11
13
|
import { assertResearchPolicyBinding } from "./research-policy.js";
|
|
12
14
|
import { createReviewExecutor } from "./review-executor.js";
|
|
@@ -73,7 +75,7 @@ export async function executeScientificReview(input, executor) {
|
|
|
73
75
|
}
|
|
74
76
|
const attempts = events.filter((event) => event.type === "scientific-review.execution.started").length;
|
|
75
77
|
if (attempts > 0 && !input.retry) {
|
|
76
|
-
throw executionError("RESEARCH_SCIENTIFIC_REVIEW_RETRY_REQUIRED", "The previous execution did not complete. Inspect its
|
|
78
|
+
throw executionError("RESEARCH_SCIENTIFIC_REVIEW_RETRY_REQUIRED", "The previous execution did not complete. Inspect its recorded failure diagnostic, correct the cause, then explicitly use --retry.");
|
|
77
79
|
}
|
|
78
80
|
if (attempts >= config.budget.maxAttemptsPerPackage) {
|
|
79
81
|
throw executionError("RESEARCH_SCIENTIFIC_REVIEW_ATTEMPTS_EXHAUSTED", "The bounded scientific reviewer attempts are exhausted; do not retry automatically.");
|
|
@@ -89,32 +91,61 @@ export async function executeScientificReview(input, executor) {
|
|
|
89
91
|
let usageBeforeReservation = null;
|
|
90
92
|
let callStartedAt = null;
|
|
91
93
|
let usageSettled = false;
|
|
94
|
+
let failureDiagnostic = null;
|
|
95
|
+
let returnedResult = null;
|
|
92
96
|
try {
|
|
93
97
|
await copyPacketInputs(input.root, capsuleProject, packet, project.publicationPolicy);
|
|
94
|
-
|
|
98
|
+
await writeJsonAtomic(join(capsuleProject, "inputs/scientific-review-packet.json"), packet);
|
|
99
|
+
const artifactViews = await writeArtifactViewIndex(capsuleProject, project.id);
|
|
100
|
+
const persistedViews = await persistArtifactViewIndex(join(paths.projects, project.id), capsuleProject, artifactViews);
|
|
101
|
+
const prompt = await scientificReviewPrompt(capsuleProject, packet, config, project.publicationPolicy, artifactViews);
|
|
95
102
|
const schema = scientificReviewSchema(input.role);
|
|
96
|
-
|
|
97
|
-
const
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
103
|
+
assertProjectRoutePriced(project, config.reviewer);
|
|
104
|
+
const availableCostUsd = remainingProjectCostUsd(project, config);
|
|
105
|
+
const availableTokens = Math.min(config.budget.earlyScientificReviewMaxTokens, config.budget.maxTokens - project.usage.tokens);
|
|
106
|
+
const primaryPayloadTokens = Math.ceil(Buffer.byteLength(prompt + JSON.stringify(schema)) / RESEARCH_ESTIMATED_BYTES_PER_TOKEN);
|
|
107
|
+
let maxTurns = 0, reservation = 0, reservedCostUsd = 0;
|
|
108
|
+
for (let turns = RESEARCH_PACKET_READ_MAX_TURNS; turns >= 1; turns--) {
|
|
109
|
+
const estimate = calculateAgentCallTokenReservation({
|
|
110
|
+
route: config.reviewer,
|
|
111
|
+
primaryPayloadTokens,
|
|
112
|
+
repairPayloadTokens: 0,
|
|
113
|
+
maxTurns: turns,
|
|
114
|
+
maxOutputTokens: config.budget.maxOutputTokens,
|
|
115
|
+
maxToolContextTokens: RESEARCH_EXPECTED_ARTIFACT_READ_TOKENS,
|
|
116
|
+
maxRepairTokens: 0,
|
|
117
|
+
reserveRepair: false,
|
|
118
|
+
}).totalTokens;
|
|
119
|
+
const cost = reservedAgentPackageCost(config.reviewer, estimate, config);
|
|
120
|
+
if (estimate <= availableTokens && cost <= availableCostUsd) {
|
|
121
|
+
maxTurns = turns;
|
|
122
|
+
reservation = estimate;
|
|
123
|
+
reservedCostUsd = cost;
|
|
124
|
+
break;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
// Read-context cost remains an estimate. Reserve the same owner-approved
|
|
128
|
+
// finite envelope sent to the client, rather than imposing that estimate
|
|
129
|
+
// as an exact invoice ceiling. Actual returned usage replaces it.
|
|
130
|
+
const estimatedCostUsd = reservedCostUsd;
|
|
131
|
+
reservedCostUsd = availableCostUsd;
|
|
108
132
|
const timeoutSeconds = Math.min(config.budget.earlyScientificReviewMaxWallSeconds, config.budget.maxWallSeconds - project.usage.wallSeconds);
|
|
109
|
-
if (
|
|
133
|
+
if (maxTurns === 0 ||
|
|
134
|
+
reservation > config.budget.earlyScientificReviewMaxTokens ||
|
|
110
135
|
reservation > config.budget.maxTokens - project.usage.tokens ||
|
|
111
|
-
reservedCostUsd >
|
|
136
|
+
reservedCostUsd > availableCostUsd ||
|
|
112
137
|
timeoutSeconds <= 0) {
|
|
113
138
|
throw executionError("RESEARCH_BUDGET_EXCEEDED", "The independent review reservation does not fit the reviewed token, cost, or time limits.");
|
|
114
139
|
}
|
|
115
140
|
// Reserve before spawning. An interrupted call remains conservatively charged;
|
|
116
141
|
// a returned result replaces that reservation with measured usage.
|
|
117
142
|
const priorUsage = { ...project.usage };
|
|
143
|
+
reserveProjectCost(project, config, {
|
|
144
|
+
id: `scientific:${runId}`,
|
|
145
|
+
kind: "review",
|
|
146
|
+
reference: packet.packetSha256,
|
|
147
|
+
maxCostUsd: reservedCostUsd,
|
|
148
|
+
});
|
|
118
149
|
project.usage.tokens += reservation;
|
|
119
150
|
project.usage.inputTokens += reservation;
|
|
120
151
|
project.usage.costUsd += reservedCostUsd;
|
|
@@ -124,10 +155,13 @@ export async function executeScientificReview(input, executor) {
|
|
|
124
155
|
await appendJournalEvent(paths.journal, "scientific-review.execution.started", project.id, {
|
|
125
156
|
role: input.role,
|
|
126
157
|
packetSha256: packet.packetSha256,
|
|
158
|
+
artifactViewIndexSha256: artifactViews.sha256,
|
|
127
159
|
runId,
|
|
128
160
|
attempt: attempts + 1,
|
|
129
161
|
reservedTokens: reservation,
|
|
162
|
+
admittedMaxTurns: maxTurns,
|
|
130
163
|
reservedCostUsd,
|
|
164
|
+
estimatedCostUsd,
|
|
131
165
|
reservedWallSeconds: timeoutSeconds,
|
|
132
166
|
transport: config.reviewerExecution.transport,
|
|
133
167
|
});
|
|
@@ -135,7 +169,7 @@ export async function executeScientificReview(input, executor) {
|
|
|
135
169
|
const execute = executor ??
|
|
136
170
|
createReviewExecutor({ root: input.root, execution: config.reviewerExecution }).execute;
|
|
137
171
|
callStartedAt = process.hrtime.bigint();
|
|
138
|
-
const result = await execute({
|
|
172
|
+
const result = (returnedResult = await execute({
|
|
139
173
|
route: config.reviewer,
|
|
140
174
|
prompt,
|
|
141
175
|
outputSchema: schema,
|
|
@@ -147,13 +181,24 @@ export async function executeScientificReview(input, executor) {
|
|
|
147
181
|
timeoutSeconds,
|
|
148
182
|
maxTurns,
|
|
149
183
|
maxOutputTokens: config.budget.maxOutputTokens,
|
|
150
|
-
maxToolContextTokens:
|
|
184
|
+
maxToolContextTokens: RESEARCH_EXPECTED_ARTIFACT_READ_TOKENS,
|
|
151
185
|
maxCostUsd: reservedCostUsd,
|
|
152
186
|
expectedRuntime,
|
|
153
|
-
toolPolicy: "
|
|
187
|
+
toolPolicy: "packet-read",
|
|
188
|
+
artifactViews: { index: artifactViews, packetSha256: packet.packetSha256 },
|
|
154
189
|
brokerUrl: null,
|
|
155
190
|
environment: input.environment,
|
|
156
|
-
});
|
|
191
|
+
}));
|
|
192
|
+
if (result.artifactReads?.length) {
|
|
193
|
+
await persistArtifactReads(join(paths.projects, project.id), capsuleProject, artifactViews, packet.packetSha256, result.artifactReads);
|
|
194
|
+
await appendJournalEvent(paths.journal, "review.artifacts.read", project.id, sanitizeResearchValue({
|
|
195
|
+
requestId: runId,
|
|
196
|
+
role: input.role,
|
|
197
|
+
packetSha256: packet.packetSha256,
|
|
198
|
+
indexSha256: artifactViews.sha256,
|
|
199
|
+
receipts: result.artifactReads.map((receipt) => receipt.receiptSha256),
|
|
200
|
+
}, configuredResearchSecrets(input.environment)));
|
|
201
|
+
}
|
|
157
202
|
const reportedUsage = checkedUsage(result);
|
|
158
203
|
const usageKnown = reportedUsage.tokens > 0;
|
|
159
204
|
const usage = usageKnown
|
|
@@ -170,22 +215,25 @@ export async function executeScientificReview(input, executor) {
|
|
|
170
215
|
project.usage.outputTokens = priorUsage.outputTokens + usage.outputTokens;
|
|
171
216
|
project.usage.costUsd = priorUsage.costUsd + usage.costUsd;
|
|
172
217
|
project.usage.wallSeconds = priorUsage.wallSeconds + usage.wallSeconds;
|
|
218
|
+
settleProjectCost(project, `scientific:${runId}`, usage.costUsd, usageKnown ? "reported-usage" : "allocated-upper-bound");
|
|
173
219
|
await saveProject(input.root, project);
|
|
174
220
|
usageSettled = true;
|
|
175
221
|
if (result.exitCode !== 0) {
|
|
176
|
-
|
|
222
|
+
failureDiagnostic = reviewerFailureDiagnostic(result, input, capsuleRoot);
|
|
223
|
+
throw executionError("RESEARCH_SCIENTIFIC_REVIEW_EXECUTION_FAILED", "The isolated reviewer failed. No scientific review was submitted.", failureDiagnostic);
|
|
177
224
|
}
|
|
178
|
-
if (usage.tokens >
|
|
225
|
+
if (usage.tokens >
|
|
226
|
+
Math.min(config.budget.earlyScientificReviewMaxTokens, config.budget.maxTokens - priorUsage.tokens) ||
|
|
179
227
|
usage.outputTokens > config.budget.maxOutputTokens ||
|
|
180
|
-
|
|
228
|
+
usage.costUsd > availableCostUsd ||
|
|
181
229
|
usage.wallSeconds > timeoutSeconds) {
|
|
182
|
-
throw executionError("RESEARCH_BUDGET_EXCEEDED", "The reviewer exceeded
|
|
230
|
+
throw executionError("RESEARCH_BUDGET_EXCEEDED", "The reviewer exceeded an approved finite execution limit. No review was submitted.");
|
|
183
231
|
}
|
|
184
232
|
if (!result.runtime ||
|
|
185
233
|
result.runtime.agent !== config.reviewer.agent ||
|
|
186
234
|
(config.reviewer.model !== null && result.model !== config.reviewer.model) ||
|
|
187
|
-
result.isolation?.toolPolicy !== "
|
|
188
|
-
result.isolation.networkPolicy !== "reviewer-provider-
|
|
235
|
+
result.isolation?.toolPolicy !== "packet-read" ||
|
|
236
|
+
result.isolation.networkPolicy !== "reviewer-provider-and-local-artifacts" ||
|
|
189
237
|
(config.reviewerExecution.transport === "sandbox-bridge" && !result.reviewAttestation)) {
|
|
190
238
|
throw executionError("RESEARCH_SCIENTIFIC_REVIEW_EXECUTION_BINDING_INVALID", "The reviewer result does not contain the expected model, runtime, and isolation proof.");
|
|
191
239
|
}
|
|
@@ -233,6 +281,8 @@ export async function executeScientificReview(input, executor) {
|
|
|
233
281
|
runtime: result.runtime,
|
|
234
282
|
isolation: result.isolation,
|
|
235
283
|
reviewAttestation: result.reviewAttestation ?? null,
|
|
284
|
+
artifactViews: persistedViews,
|
|
285
|
+
artifactReads: result.artifactReads ?? [],
|
|
236
286
|
stdoutSha256: sha256Text(result.stdout),
|
|
237
287
|
stderrSha256: sha256Text(result.stderr),
|
|
238
288
|
}, secrets);
|
|
@@ -264,18 +314,56 @@ export async function executeScientificReview(input, executor) {
|
|
|
264
314
|
await saveProject(input.root, project);
|
|
265
315
|
}
|
|
266
316
|
if (started) {
|
|
317
|
+
// Capture only the failure path: successful execution already has its
|
|
318
|
+
// immutable output/receipt and must not pay for duplicate persistence.
|
|
319
|
+
if (returnedResult) {
|
|
320
|
+
let retention;
|
|
321
|
+
try {
|
|
322
|
+
retention = {
|
|
323
|
+
executionRecord: await retainFailedExecution({
|
|
324
|
+
root: input.root,
|
|
325
|
+
projectId: project.id,
|
|
326
|
+
packet,
|
|
327
|
+
runId,
|
|
328
|
+
result: returnedResult,
|
|
329
|
+
failureCode: error instanceof CliError
|
|
330
|
+
? error.code
|
|
331
|
+
: "RESEARCH_SCIENTIFIC_REVIEW_EXECUTION_FAILED",
|
|
332
|
+
config,
|
|
333
|
+
environment: input.environment,
|
|
334
|
+
}),
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
catch {
|
|
338
|
+
// Disk/namespace failure must not masquerade as a retained result
|
|
339
|
+
// or hide the original budget/runtime rejection.
|
|
340
|
+
retention = { outputRetention: "storage-unavailable" };
|
|
341
|
+
}
|
|
342
|
+
failureDiagnostic = { ...failureDiagnostic, ...retention };
|
|
343
|
+
}
|
|
267
344
|
await appendJournalEvent(paths.journal, "scientific-review.execution.failed", project.id, {
|
|
268
345
|
role: input.role,
|
|
269
346
|
packetSha256: packet.packetSha256,
|
|
270
347
|
runId,
|
|
271
348
|
attempt: attempts + 1,
|
|
272
349
|
code: error instanceof CliError ? error.code : "RESEARCH_SCIENTIFIC_REVIEW_EXECUTION_FAILED",
|
|
350
|
+
...(failureDiagnostic ?? {}),
|
|
273
351
|
capsuleDisposition: "retained-failed-execution",
|
|
274
352
|
});
|
|
275
353
|
}
|
|
276
|
-
if (error instanceof CliError)
|
|
277
|
-
|
|
278
|
-
|
|
354
|
+
if (error instanceof CliError) {
|
|
355
|
+
if (!failureDiagnostic)
|
|
356
|
+
throw error;
|
|
357
|
+
throw new CliError(error.message, {
|
|
358
|
+
code: error.code,
|
|
359
|
+
exitCode: error.exitCode,
|
|
360
|
+
details: {
|
|
361
|
+
...(isObject(error.details) ? error.details : {}),
|
|
362
|
+
...failureDiagnostic,
|
|
363
|
+
},
|
|
364
|
+
});
|
|
365
|
+
}
|
|
366
|
+
throw executionError("RESEARCH_SCIENTIFIC_REVIEW_EXECUTION_FAILED", "The isolated reviewer failed. Its packet and failed execution remain available for explicit recovery.", failureDiagnostic ?? undefined);
|
|
279
367
|
}
|
|
280
368
|
finally {
|
|
281
369
|
if ((completedCall || !started) &&
|
|
@@ -305,6 +393,81 @@ export async function executeScientificReview(input, executor) {
|
|
|
305
393
|
replayed: prepared.replayed,
|
|
306
394
|
};
|
|
307
395
|
}
|
|
396
|
+
async function retainFailedExecution(input) {
|
|
397
|
+
const { result } = input;
|
|
398
|
+
const secrets = configuredResearchSecrets(input.environment);
|
|
399
|
+
const bytes = Buffer.byteLength(result.stdout);
|
|
400
|
+
let disposition = "retained-json";
|
|
401
|
+
if (bytes > Math.min(MAX_EXECUTION_RECEIPT_BYTES, input.config.budget.maxOutputTokens * 16)) {
|
|
402
|
+
disposition = "omitted-oversized";
|
|
403
|
+
}
|
|
404
|
+
else if (sanitizeResearchText(result.stdout, secrets) !== result.stdout) {
|
|
405
|
+
disposition = "omitted-unsafe";
|
|
406
|
+
}
|
|
407
|
+
else {
|
|
408
|
+
try {
|
|
409
|
+
const parsed = JSON.parse(result.stdout);
|
|
410
|
+
if (canonicalJson(sanitizeResearchValue(parsed, secrets)) !== canonicalJson(parsed)) {
|
|
411
|
+
disposition = "omitted-unsafe";
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
catch {
|
|
415
|
+
// Only inspectable JSON can pass the structured sensitive-field check.
|
|
416
|
+
// Malformed output keeps its digest/size, not unchecked raw text.
|
|
417
|
+
disposition = "omitted-invalid-json";
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
let reportedUsage = null;
|
|
421
|
+
try {
|
|
422
|
+
reportedUsage = checkedUsage(result);
|
|
423
|
+
}
|
|
424
|
+
catch {
|
|
425
|
+
// Invalid reported usage is not zero usage or a settled invoice.
|
|
426
|
+
}
|
|
427
|
+
const reportedBinding = sanitizeResearchValue({
|
|
428
|
+
model: result.model,
|
|
429
|
+
runtime: result.runtime ?? null,
|
|
430
|
+
isolation: result.isolation ?? null,
|
|
431
|
+
reviewAttestation: result.reviewAttestation ?? null,
|
|
432
|
+
}, secrets);
|
|
433
|
+
const bindingBytes = canonicalJson(reportedBinding);
|
|
434
|
+
const record = {
|
|
435
|
+
schemaVersion: 1,
|
|
436
|
+
kind: "tiangong-scientific-review-failed-execution",
|
|
437
|
+
acceptance: "not-submitted",
|
|
438
|
+
projectId: input.projectId,
|
|
439
|
+
role: input.packet.role,
|
|
440
|
+
packetSha256: input.packet.packetSha256,
|
|
441
|
+
reviewerSessionSha256: input.packet.reviewer.sessionSha256,
|
|
442
|
+
runId: input.runId,
|
|
443
|
+
failureCode: input.failureCode,
|
|
444
|
+
exitCode: Number.isSafeInteger(result.exitCode) ? result.exitCode : null,
|
|
445
|
+
reportedUsage,
|
|
446
|
+
// Reported identities remain unverified observations, never acceptance proof.
|
|
447
|
+
reportedBinding: Buffer.byteLength(bindingBytes) <= 64 * 1024 ? reportedBinding : null,
|
|
448
|
+
reportedBindingSha256: sha256Text(bindingBytes),
|
|
449
|
+
output: {
|
|
450
|
+
disposition,
|
|
451
|
+
bytes,
|
|
452
|
+
sha256: sha256Text(result.stdout),
|
|
453
|
+
stdout: disposition === "retained-json" ? result.stdout : null,
|
|
454
|
+
},
|
|
455
|
+
stderrSha256: sha256Text(result.stderr),
|
|
456
|
+
};
|
|
457
|
+
const sha256 = sha256Text(JSON.stringify(record, null, 2) + "\n");
|
|
458
|
+
const locator = `projects/${input.projectId}/scientific/failed-executions/${sha256}.json`;
|
|
459
|
+
const path = resolveContained(workspacePaths(input.root).control, locator);
|
|
460
|
+
const parent = await lstat(dirname(dirname(path)));
|
|
461
|
+
if (!parent.isDirectory() || parent.isSymbolicLink())
|
|
462
|
+
throw new Error("Unsafe capture parent");
|
|
463
|
+
await mkdir(dirname(path), { recursive: true, mode: 0o700 });
|
|
464
|
+
const directory = await lstat(dirname(path));
|
|
465
|
+
if (!directory.isDirectory() || directory.isSymbolicLink()) {
|
|
466
|
+
throw new Error("Unsafe capture directory");
|
|
467
|
+
}
|
|
468
|
+
await writeJsonAtomic(path, record, 0o444);
|
|
469
|
+
return { locator, sha256 };
|
|
470
|
+
}
|
|
308
471
|
async function readReceipt(root, locator, digest, expected) {
|
|
309
472
|
if (typeof digest !== "string" ||
|
|
310
473
|
!/^[a-f0-9]{64}$/.test(digest) ||
|
|
@@ -372,51 +535,25 @@ function checkedUsage(result) {
|
|
|
372
535
|
}
|
|
373
536
|
return usage;
|
|
374
537
|
}
|
|
375
|
-
async function scientificReviewPrompt(controlRoot, packet, config, policy) {
|
|
538
|
+
async function scientificReviewPrompt(controlRoot, packet, config, policy, index) {
|
|
376
539
|
const mandatory = [
|
|
377
|
-
"Review the exact prepared scientific packet independently
|
|
540
|
+
"Review the exact prepared scientific packet independently using only its packet-bound artifact tools. Read the design, assessment and approved Policy documents, then inspect relevant implementations, inputs, failed checks and counterevidence. Complete files are available, not assumed read.",
|
|
378
541
|
"Return the supplied JSON schema with the exact packetSha256 and reviewerSessionSha256. A mechanical canPass=false cannot be upgraded by prose; return stop, handoff, or revise as appropriate.",
|
|
379
|
-
|
|
542
|
+
`packetSha256=${packet.packetSha256}; reviewerSessionSha256=${packet.reviewer.sessionSha256}; role=${packet.role}`,
|
|
543
|
+
artifactReadInstructions(index),
|
|
380
544
|
];
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
throw executionError("RESEARCH_INPUT_CONTEXT_BUDGET_EXCEEDED", "Required scientific review design, policy, and assessment exceed the input context limit; revise the bounded assessment before execution.");
|
|
394
|
-
}
|
|
395
|
-
let remaining = maxBytes - Buffer.byteLength(required);
|
|
396
|
-
const context = [required];
|
|
397
|
-
for (const [index, record] of packet.stageInputs.entries()) {
|
|
398
|
-
const allowance = Math.max(0, Math.floor(remaining / (packet.stageInputs.length - index)) - 256);
|
|
399
|
-
if (!allowance)
|
|
400
|
-
continue;
|
|
401
|
-
const path = resolveContained(controlRoot, record.path);
|
|
402
|
-
const handle = await open(path, "r");
|
|
403
|
-
let text;
|
|
404
|
-
try {
|
|
405
|
-
const buffer = Buffer.alloc(Math.min(record.bytes, allowance));
|
|
406
|
-
const read = await handle.read(buffer, 0, buffer.length, 0);
|
|
407
|
-
text = buffer.subarray(0, read.bytesRead).toString("utf8");
|
|
408
|
-
}
|
|
409
|
-
finally {
|
|
410
|
-
await handle.close();
|
|
411
|
-
}
|
|
412
|
-
const section = "### " + record.path + " (bounded excerpt; " + record.bytes + " total file bytes)\n" + text;
|
|
413
|
-
const size = Buffer.byteLength(section);
|
|
414
|
-
if (size <= remaining) {
|
|
415
|
-
context.push(section);
|
|
416
|
-
remaining -= size;
|
|
417
|
-
}
|
|
418
|
-
}
|
|
419
|
-
return context.join("\n\n");
|
|
545
|
+
const locators = [
|
|
546
|
+
...new Set([
|
|
547
|
+
"inputs/scientific-review-packet.json",
|
|
548
|
+
packet.design.objectLocator,
|
|
549
|
+
packet.assessment.objectLocator,
|
|
550
|
+
packet.policy.objectLocator,
|
|
551
|
+
...policy.documents.map((document) => document.objectLocator),
|
|
552
|
+
...packet.stageInputs.map((record) => record.path),
|
|
553
|
+
]),
|
|
554
|
+
];
|
|
555
|
+
mandatory.push(await artifactPromptContext(controlRoot, index, locators, Math.min(8_000, config.budget.maxInputContextTokens) * RESEARCH_ESTIMATED_BYTES_PER_TOKEN));
|
|
556
|
+
return mandatory.join("\n\n");
|
|
420
557
|
}
|
|
421
558
|
async function copyPacketInputs(root, capsuleProject, packet, policy) {
|
|
422
559
|
const paths = workspacePaths(root);
|
|
@@ -441,7 +578,31 @@ async function copyPacketInputs(root, capsuleProject, packet, policy) {
|
|
|
441
578
|
}
|
|
442
579
|
await writeJsonAtomic(join(capsuleProject, "packet.json"), packet);
|
|
443
580
|
}
|
|
444
|
-
function
|
|
445
|
-
|
|
581
|
+
function reviewerFailureDiagnostic(result, input, capsuleRoot) {
|
|
582
|
+
const secrets = configuredResearchSecrets(input.environment);
|
|
583
|
+
let diagnostic = sanitizeResearchText([result.telemetry?.providerErrors.join("; "), result.stderr.trim()]
|
|
584
|
+
.filter(Boolean)
|
|
585
|
+
.join("\n") ||
|
|
586
|
+
"Reviewer exited without a textual diagnostic; inspect the configured runtime before retrying.", secrets);
|
|
587
|
+
for (const path of [
|
|
588
|
+
capsuleRoot,
|
|
589
|
+
input.root,
|
|
590
|
+
input.environment.HOME,
|
|
591
|
+
input.environment.CLAUDE_CONFIG_DIR,
|
|
592
|
+
input.environment.CODEX_HOME,
|
|
593
|
+
]) {
|
|
594
|
+
if (path)
|
|
595
|
+
diagnostic = diagnostic.replaceAll(path, "[private-path]");
|
|
596
|
+
}
|
|
597
|
+
return sanitizeResearchValue({
|
|
598
|
+
exitCode: result.exitCode,
|
|
599
|
+
diagnostic: diagnostic.slice(0, 2048),
|
|
600
|
+
stdoutSha256: sha256Text(result.stdout),
|
|
601
|
+
stderrSha256: sha256Text(result.stderr),
|
|
602
|
+
minimumAction: "Correct the reported runtime or provider failure, then explicitly use --retry. No review was submitted.",
|
|
603
|
+
}, secrets);
|
|
604
|
+
}
|
|
605
|
+
function executionError(code, message, details) {
|
|
606
|
+
return new CliError(message, { code, exitCode: 3, ...(details ? { details } : {}) });
|
|
446
607
|
}
|
|
447
608
|
//# sourceMappingURL=scientific-review-execution.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scientific-review-execution.js","sourceRoot":"","sources":["../../../src/research/workspace/scientific-review-execution.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scientific-review-execution.js","sourceRoot":"","sources":["../../../src/research/workspace/scientific-review-execution.ts"],"names":[],"mappings":"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"}
|
|
@@ -112,7 +112,7 @@ interface ScientificReviewStageInput {
|
|
|
112
112
|
path: string;
|
|
113
113
|
sha256: string;
|
|
114
114
|
bytes: number;
|
|
115
|
-
purpose: "construct-canary" | "inherited-gap" | "model-implementation" | "model-environment-lock" | "stage-output";
|
|
115
|
+
purpose: "construct-canary" | "inherited-gap" | "model-implementation" | "model-environment-lock" | "scientific-fulfillment" | "scientific-amendment" | "effective-scientific-design" | "original-request-source" | "native-calculation" | "acquired-evidence" | "stage-output";
|
|
116
116
|
ownerId: string;
|
|
117
117
|
sourceLocator: string;
|
|
118
118
|
hashBasis: "raw-file-bytes";
|
|
@@ -128,6 +128,11 @@ export interface ScientificReviewPacket {
|
|
|
128
128
|
design: {
|
|
129
129
|
sha256: string;
|
|
130
130
|
objectLocator: string;
|
|
131
|
+
fulfillment?: {
|
|
132
|
+
headSha256: string | null;
|
|
133
|
+
effectiveSha256: string;
|
|
134
|
+
};
|
|
135
|
+
amendmentSha256?: string | null;
|
|
131
136
|
};
|
|
132
137
|
policy: {
|
|
133
138
|
resolvedPolicySha256: string;
|