@tiangong-ai/cli 0.0.35 → 0.0.36

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.
Files changed (32) hide show
  1. package/AGENTS.md +15 -5
  2. package/README.md +90 -8
  3. package/dist/research/orchestration.js +298 -28
  4. package/dist/research/orchestration.js.map +1 -1
  5. package/dist/research/workspace/audit-bundle.d.ts +44 -0
  6. package/dist/research/workspace/audit-bundle.js +357 -0
  7. package/dist/research/workspace/audit-bundle.js.map +1 -0
  8. package/dist/research/workspace/preflight.d.ts +34 -2
  9. package/dist/research/workspace/preflight.js +145 -1
  10. package/dist/research/workspace/preflight.js.map +1 -1
  11. package/dist/research/workspace/projects.d.ts +28 -4
  12. package/dist/research/workspace/projects.js +249 -12
  13. package/dist/research/workspace/projects.js.map +1 -1
  14. package/dist/research/workspace/publication-workflow.js +2 -0
  15. package/dist/research/workspace/publication-workflow.js.map +1 -1
  16. package/dist/research/workspace/runtime.js +4 -1
  17. package/dist/research/workspace/runtime.js.map +1 -1
  18. package/dist/research/workspace/sanitization.js +9 -3
  19. package/dist/research/workspace/sanitization.js.map +1 -1
  20. package/dist/research/workspace/scientific-design.d.ts +336 -0
  21. package/dist/research/workspace/scientific-design.js +1845 -0
  22. package/dist/research/workspace/scientific-design.js.map +1 -0
  23. package/dist/research/workspace/scientific-review.d.ts +101 -0
  24. package/dist/research/workspace/scientific-review.js +1167 -0
  25. package/dist/research/workspace/scientific-review.js.map +1 -0
  26. package/dist/research/workspace/setup-catalog.js +2 -2
  27. package/dist/research/workspace/setup.js +12 -3
  28. package/dist/research/workspace/setup.js.map +1 -1
  29. package/dist/research/workspace/types.d.ts +27 -0
  30. package/dist/research/workspace/workspace.js +25 -7
  31. package/dist/research/workspace/workspace.js.map +1 -1
  32. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../../src/research/workspace/preflight.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../../src/research/workspace/preflight.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,10 @@
1
- import type { ProjectEvidenceRequirements, ProjectInput, ProjectInputTrustStatus, ResearchPolicyBinding, ProjectState, WorkPackage, VerifiedProjectInputPlan } from "./types.js";
2
- export declare function initializeProject(root: string, projectId: string, question: string, evidenceRequirements?: ProjectEvidenceRequirements, budgetConfirmed?: boolean, inputPlan?: VerifiedProjectInputPlan, publicationPolicy?: ResearchPolicyBinding): Promise<ProjectState>;
1
+ import { type VerifiedScientificDesign } from "./scientific-design.js";
2
+ import type { AgentKind, ProjectEvidenceRequirements, ProjectInput, ProjectInputTrustStatus, ResearchPolicyBinding, ScientificDesignBinding, ScientificReviewRole, ProjectState, WorkPackage, VerifiedProjectInputPlan } from "./types.js";
3
+ export declare function initializeProject(root: string, projectId: string, question: string, evidenceRequirements?: ProjectEvidenceRequirements, budgetConfirmed?: boolean, inputPlan?: VerifiedProjectInputPlan, publicationPolicy?: ResearchPolicyBinding, scientificDesignInput?: {
4
+ design: VerifiedScientificDesign;
5
+ producerAgent: AgentKind;
6
+ producerSessionId: string;
7
+ }): Promise<ProjectState>;
3
8
  export declare function addProjectInput(root: string, projectId: string, inputPath: string, role: ProjectInput["role"], options?: {
4
9
  trustStatus?: ProjectInputTrustStatus;
5
10
  independentlyReproduced?: boolean;
@@ -8,10 +13,29 @@ export declare function loadProject(root: string, projectId: string): Promise<Pr
8
13
  export declare function listProjects(root: string): Promise<ProjectState[]>;
9
14
  export declare function saveProject(root: string, project: ProjectState): Promise<void>;
10
15
  export declare function retryProjectPackage(root: string, projectId: string, packageId?: string): Promise<ProjectState>;
11
- export declare function forkProject(root: string, sourceProjectId: string, targetProjectId: string, resumeThrough?: "discover" | "acquire" | "analyze" | "synthesize"): Promise<ProjectState>;
16
+ export declare function forkProject(root: string, sourceProjectId: string, targetProjectId: string, resumeThrough?: "discover" | "acquire" | "analyze" | "synthesize", scientificReapproval?: {
17
+ publicationPolicy: ResearchPolicyBinding;
18
+ scientificDesign: {
19
+ design: VerifiedScientificDesign;
20
+ producerAgent: AgentKind;
21
+ producerSessionId: string;
22
+ };
23
+ }): Promise<ProjectState>;
12
24
  export declare function setProjectDisposition(root: string, projectId: string, disposition: "archived" | "abandoned", reason: string): Promise<ProjectState>;
13
- export declare function createProjectAddendum(root: string, sourceProjectId: string, targetProjectId: string): Promise<ProjectState>;
25
+ export declare function createProjectAddendum(root: string, sourceProjectId: string, targetProjectId: string, scientificReapproval?: {
26
+ publicationPolicy: ResearchPolicyBinding;
27
+ scientificDesign: {
28
+ design: VerifiedScientificDesign;
29
+ producerAgent: AgentKind;
30
+ producerSessionId: string;
31
+ };
32
+ }): Promise<ProjectState>;
14
33
  export declare function refreshProject(project: ProjectState): ProjectState;
15
34
  export declare function nextReadyPackage(project: ProjectState): WorkPackage | undefined;
35
+ export declare function nextScientificGate(project: ProjectState): {
36
+ role: ScientificReviewRole;
37
+ blocksPackage: "discover" | "acquire" | "analyze";
38
+ status: ScientificDesignBinding["gates"][ScientificReviewRole]["status"];
39
+ } | null;
16
40
  export declare function packageById(project: ProjectState, packageId: string): WorkPackage;
17
41
  export declare function normalizeEvidenceRequirements(value: ProjectEvidenceRequirements): ProjectEvidenceRequirements;
@@ -10,10 +10,11 @@ import { cloneProjectArtifactRecords } from "./artifacts.js";
10
10
  import { freezeEvidenceSnapshot, loadCurrentEvidenceSnapshot, loadImmutableEvidenceSnapshotChain, } from "./acquisition.js";
11
11
  import { projectInputsFromPlan, reverifyProjectInputPlan } from "./input-plan.js";
12
12
  import { evaluateProjectPreflight } from "./preflight.js";
13
- import { ensureDirectory, fileRecord, fileSize, isObject, readJsonFile, sha256File, workspacePaths, writeJsonAtomic, } from "./storage.js";
13
+ import { evaluateScientificDesign, scientificDesignPolicyGaps, } from "./scientific-design.js";
14
+ import { ensureDirectory, fileRecord, fileSize, isObject, readJsonFile, sha256File, sha256Text, workspacePaths, writeJsonAtomic, } from "./storage.js";
14
15
  import { loadWorkspaceConfig, withWorkspaceLock } from "./workspace.js";
15
16
  const PROJECT_ID_PATTERN = /^[a-z0-9][a-z0-9-]{2,63}$/;
16
- export async function initializeProject(root, projectId, question, evidenceRequirements, budgetConfirmed = false, inputPlan, publicationPolicy) {
17
+ export async function initializeProject(root, projectId, question, evidenceRequirements, budgetConfirmed = false, inputPlan, publicationPolicy, scientificDesignInput) {
17
18
  validateProjectId(projectId);
18
19
  const normalizedQuestion = question.trim();
19
20
  if (normalizedQuestion.length < 8 || normalizedQuestion.length > 4000) {
@@ -53,9 +54,27 @@ export async function initializeProject(root, projectId, question, evidenceRequi
53
54
  });
54
55
  }
55
56
  const requirements = normalizeEvidenceRequirements(evidenceRequirements ?? defaultEvidenceRequirements(config));
57
+ if (publicationPolicy && !scientificDesignInput) {
58
+ throw new CliError("Top-journal research requires an explicit scientific design contract.", {
59
+ code: "RESEARCH_SCIENTIFIC_DESIGN_REQUIRED",
60
+ exitCode: 2,
61
+ });
62
+ }
63
+ if (!publicationPolicy && scientificDesignInput) {
64
+ throw new CliError("A scientific design contract requires an approved top-journal policy.", {
65
+ code: "RESEARCH_SCIENTIFIC_DESIGN_POLICY_REQUIRED",
66
+ exitCode: 2,
67
+ });
68
+ }
69
+ const scientificDesign = scientificDesignInput
70
+ ? prepareScientificDesignBinding(projectId, publicationPolicy, scientificDesignInput)
71
+ : null;
56
72
  const admittedInputPlan = inputPlan ? await reverifyProjectInputPlan(inputPlan) : undefined;
57
73
  if (config.mode === "production-research") {
58
- const preflight = await evaluateProjectPreflight(root, normalizedQuestion, requirements, admittedInputPlan ?? null);
74
+ const preflight = await evaluateProjectPreflight(root, normalizedQuestion, requirements, admittedInputPlan ?? null, {
75
+ publicationPolicy: publicationPolicy ?? null,
76
+ scientificDesign: scientificDesignInput?.design ?? null,
77
+ });
59
78
  if (!preflight.readyToInitialize) {
60
79
  throw new CliError("Production project initialization was blocked by preflight.", {
61
80
  code: "RESEARCH_PREFLIGHT_BLOCKED",
@@ -76,6 +95,7 @@ export async function initializeProject(root, projectId, question, evidenceRequi
76
95
  inputs: admittedInputPlan ? projectInputsFromPlan(admittedInputPlan, now) : [],
77
96
  evidenceRequirements: requirements,
78
97
  publicationPolicy: publicationPolicy ?? null,
98
+ scientificDesign,
79
99
  packages: defaultWorkPackages(config),
80
100
  usage: {
81
101
  tokens: 0,
@@ -94,6 +114,9 @@ export async function initializeProject(root, projectId, question, evidenceRequi
94
114
  ensureDirectory(join(projectRoot, "outputs")),
95
115
  ensureDirectory(join(projectRoot, "runs")),
96
116
  ]);
117
+ if (scientificDesign && scientificDesignInput) {
118
+ await writeJsonAtomic(join(paths.control, scientificDesign.objectLocator), scientificDesignInput.design.contract);
119
+ }
97
120
  await writeJsonAtomic(projectPath, project);
98
121
  await registerProjectInputCandidates(root, projectId, project.inputs);
99
122
  await appendJournalEvent(paths.journal, "project.initialized", projectId, {
@@ -101,6 +124,8 @@ export async function initializeProject(root, projectId, question, evidenceRequi
101
124
  questionSha256: await hashQuestion(normalizedQuestion),
102
125
  inputPlanSha256: admittedInputPlan?.sha256 ?? null,
103
126
  publicationPolicySha256: publicationPolicy?.resolvedPolicySha256 ?? null,
127
+ scientificDesignSha256: scientificDesign?.designSha256 ?? null,
128
+ scientificDesignProducerSessionSha256: scientificDesign?.producer.sessionSha256 ?? null,
104
129
  inputs: project.inputs.map((input) => ({
105
130
  id: input.id,
106
131
  role: input.role,
@@ -252,7 +277,7 @@ export async function retryProjectPackage(root, projectId, packageId) {
252
277
  return project;
253
278
  });
254
279
  }
255
- export async function forkProject(root, sourceProjectId, targetProjectId, resumeThrough) {
280
+ export async function forkProject(root, sourceProjectId, targetProjectId, resumeThrough, scientificReapproval) {
256
281
  validateProjectId(sourceProjectId);
257
282
  validateProjectId(targetProjectId);
258
283
  if (sourceProjectId === targetProjectId) {
@@ -263,6 +288,16 @@ export async function forkProject(root, sourceProjectId, targetProjectId, resume
263
288
  }
264
289
  return withWorkspaceLock(root, "project.fork", async () => {
265
290
  const source = await loadProject(root, sourceProjectId);
291
+ const sourceRequiresScientificReapproval = Boolean(source.publicationPolicy || source.scientificDesign);
292
+ if (sourceRequiresScientificReapproval && !scientificReapproval) {
293
+ throw new CliError("A top-journal recovery fork requires a newly approved project-specific policy and scientific design.", { code: "RESEARCH_SCIENTIFIC_DESIGN_REAPPROVAL_REQUIRED", exitCode: 3 });
294
+ }
295
+ if (!sourceRequiresScientificReapproval && scientificReapproval) {
296
+ throw new CliError("Scientific reapproval is valid only for a top-journal source project.", {
297
+ code: "RESEARCH_SCIENTIFIC_DESIGN_REAPPROVAL_INVALID",
298
+ exitCode: 2,
299
+ });
300
+ }
266
301
  if (source.lineage.supersededBy) {
267
302
  throw new CliError(`Project ${sourceProjectId} is historical; fork the authoritative project ${source.lineage.supersededBy}.`, { code: "RESEARCH_PROJECT_NOT_AUTHORITATIVE", exitCode: 3 });
268
303
  }
@@ -283,6 +318,29 @@ export async function forkProject(root, sourceProjectId, targetProjectId, resume
283
318
  });
284
319
  }
285
320
  const config = await loadWorkspaceConfig(root);
321
+ const targetPolicy = scientificReapproval?.publicationPolicy ?? null;
322
+ if (targetPolicy && targetPolicy.projectId !== targetProjectId) {
323
+ throw new CliError("Recovery policy must be approved for the target project generation.", {
324
+ code: "RESEARCH_SCIENTIFIC_DESIGN_REAPPROVAL_INVALID",
325
+ exitCode: 2,
326
+ });
327
+ }
328
+ const targetScientificDesign = scientificReapproval
329
+ ? prepareScientificDesignBinding(targetProjectId, scientificReapproval.publicationPolicy, scientificReapproval.scientificDesign)
330
+ : null;
331
+ if (config.mode === "production-research") {
332
+ const preflight = await evaluateProjectPreflight(root, source.question, source.evidenceRequirements, null, {
333
+ publicationPolicy: targetPolicy,
334
+ scientificDesign: scientificReapproval?.scientificDesign.design ?? null,
335
+ });
336
+ if (!preflight.readyToInitialize) {
337
+ throw new CliError("Recovery generation was blocked by production preflight.", {
338
+ code: "RESEARCH_PREFLIGHT_BLOCKED",
339
+ exitCode: 3,
340
+ details: { gaps: preflight.gaps, preflightSha256: preflight.preflightSha256 },
341
+ });
342
+ }
343
+ }
286
344
  const packages = defaultWorkPackages(config);
287
345
  const inheritedStages = resumeThrough
288
346
  ? ["discover", "acquire", "analyze", "synthesize"].slice(0, ["discover", "acquire", "analyze", "synthesize"].indexOf(resumeThrough) + 1)
@@ -320,9 +378,8 @@ export async function forkProject(root, sourceProjectId, targetProjectId, resume
320
378
  requiredCompanionIds: [...(source.evidenceRequirements.requiredCompanionIds ?? [])],
321
379
  requiredDiscoveryScopes: [...(source.evidenceRequirements.requiredDiscoveryScopes ?? [])],
322
380
  },
323
- publicationPolicy: source.publicationPolicy
324
- ? structuredClone(source.publicationPolicy)
325
- : null,
381
+ publicationPolicy: targetPolicy,
382
+ scientificDesign: targetScientificDesign,
326
383
  packages,
327
384
  usage: {
328
385
  tokens: 0,
@@ -345,6 +402,9 @@ export async function forkProject(root, sourceProjectId, targetProjectId, resume
345
402
  ensureDirectory(join(targetRoot, "outputs")),
346
403
  ensureDirectory(join(targetRoot, "runs")),
347
404
  ]);
405
+ if (targetScientificDesign && scientificReapproval) {
406
+ await writeJsonAtomic(join(workspacePaths(root).control, targetScientificDesign.objectLocator), scientificReapproval.scientificDesign.design.contract);
407
+ }
348
408
  const inheritedOutputs = [];
349
409
  const stageOutput = {
350
410
  discover: "outputs/evidence.json",
@@ -391,6 +451,9 @@ export async function forkProject(root, sourceProjectId, targetProjectId, resume
391
451
  inheritedOutputs,
392
452
  inheritedUsage: false,
393
453
  sourceSuperseded: true,
454
+ publicationPolicySha256: targetPolicy?.resolvedPolicySha256 ?? null,
455
+ scientificDesignSha256: targetScientificDesign?.designSha256 ?? null,
456
+ scientificDesignProducerSessionSha256: targetScientificDesign?.producer.sessionSha256 ?? null,
394
457
  });
395
458
  return project;
396
459
  });
@@ -437,7 +500,7 @@ export async function setProjectDisposition(root, projectId, disposition, reason
437
500
  return project;
438
501
  });
439
502
  }
440
- export async function createProjectAddendum(root, sourceProjectId, targetProjectId) {
503
+ export async function createProjectAddendum(root, sourceProjectId, targetProjectId, scientificReapproval) {
441
504
  validateProjectId(sourceProjectId);
442
505
  validateProjectId(targetProjectId);
443
506
  if (sourceProjectId === targetProjectId) {
@@ -448,6 +511,16 @@ export async function createProjectAddendum(root, sourceProjectId, targetProject
448
511
  }
449
512
  return withWorkspaceLock(root, "project.addendum", async () => {
450
513
  const source = refreshProject(await loadProject(root, sourceProjectId));
514
+ const sourceRequiresScientificReapproval = Boolean(source.publicationPolicy || source.scientificDesign);
515
+ if (sourceRequiresScientificReapproval && !scientificReapproval) {
516
+ throw new CliError("A top-journal addendum requires a newly approved project-specific policy and scientific design.", { code: "RESEARCH_SCIENTIFIC_DESIGN_REAPPROVAL_REQUIRED", exitCode: 3 });
517
+ }
518
+ if (!sourceRequiresScientificReapproval && scientificReapproval) {
519
+ throw new CliError("Scientific reapproval is valid only for a top-journal source project.", {
520
+ code: "RESEARCH_SCIENTIFIC_DESIGN_REAPPROVAL_INVALID",
521
+ exitCode: 2,
522
+ });
523
+ }
451
524
  if (source.status !== "complete" || source.packages.at(-1)?.stage !== "close") {
452
525
  throw new CliError("An addendum requires a mechanically closed source project.", {
453
526
  code: "RESEARCH_PROJECT_ADDENDUM_INVALID",
@@ -484,6 +557,29 @@ export async function createProjectAddendum(root, sourceProjectId, targetProject
484
557
  });
485
558
  }
486
559
  const config = await loadWorkspaceConfig(root);
560
+ const targetPolicy = scientificReapproval?.publicationPolicy ?? null;
561
+ if (targetPolicy && targetPolicy.projectId !== targetProjectId) {
562
+ throw new CliError("Addendum policy must be approved for the target project generation.", {
563
+ code: "RESEARCH_SCIENTIFIC_DESIGN_REAPPROVAL_INVALID",
564
+ exitCode: 2,
565
+ });
566
+ }
567
+ const targetScientificDesign = scientificReapproval
568
+ ? prepareScientificDesignBinding(targetProjectId, scientificReapproval.publicationPolicy, scientificReapproval.scientificDesign)
569
+ : null;
570
+ if (config.mode === "production-research") {
571
+ const preflight = await evaluateProjectPreflight(root, source.question, source.evidenceRequirements, null, {
572
+ publicationPolicy: targetPolicy,
573
+ scientificDesign: scientificReapproval?.scientificDesign.design ?? null,
574
+ });
575
+ if (!preflight.readyToInitialize) {
576
+ throw new CliError("Addendum generation was blocked by production preflight.", {
577
+ code: "RESEARCH_PREFLIGHT_BLOCKED",
578
+ exitCode: 3,
579
+ details: { gaps: preflight.gaps, preflightSha256: preflight.preflightSha256 },
580
+ });
581
+ }
582
+ }
487
583
  const now = new Date().toISOString();
488
584
  const target = {
489
585
  schemaVersion: 1,
@@ -502,9 +598,8 @@ export async function createProjectAddendum(root, sourceProjectId, targetProject
502
598
  requiredCompanionIds: [...(source.evidenceRequirements.requiredCompanionIds ?? [])],
503
599
  requiredDiscoveryScopes: [...(source.evidenceRequirements.requiredDiscoveryScopes ?? [])],
504
600
  },
505
- publicationPolicy: source.publicationPolicy
506
- ? structuredClone(source.publicationPolicy)
507
- : null,
601
+ publicationPolicy: targetPolicy,
602
+ scientificDesign: targetScientificDesign,
508
603
  packages: defaultWorkPackages(config),
509
604
  usage: {
510
605
  tokens: 0,
@@ -531,6 +626,9 @@ export async function createProjectAddendum(root, sourceProjectId, targetProject
531
626
  ensureDirectory(join(targetRoot, "runs")),
532
627
  ensureDirectory(join(targetRoot, "evidence", "snapshots")),
533
628
  ]);
629
+ if (targetScientificDesign && scientificReapproval) {
630
+ await writeJsonAtomic(join(workspacePaths(root).control, targetScientificDesign.objectLocator), scientificReapproval.scientificDesign.design.contract);
631
+ }
534
632
  const inheritedOutputs = [];
535
633
  for (const logicalPath of ["outputs/evidence.json", "outputs/acquisition.json"]) {
536
634
  const sourcePath = join(workspacePaths(root).projects, sourceProjectId, logicalPath);
@@ -576,6 +674,9 @@ export async function createProjectAddendum(root, sourceProjectId, targetProject
576
674
  baseSnapshotSha256: snapshot.snapshotSha256,
577
675
  inheritedOutputs,
578
676
  originalClosurePreserved: true,
677
+ publicationPolicySha256: targetPolicy?.resolvedPolicySha256 ?? null,
678
+ scientificDesignSha256: targetScientificDesign?.designSha256 ?? null,
679
+ scientificDesignProducerSessionSha256: targetScientificDesign?.producer.sessionSha256 ?? null,
579
680
  });
580
681
  return target;
581
682
  });
@@ -617,7 +718,32 @@ export function nextReadyPackage(project) {
617
718
  refreshProject(project);
618
719
  if (project.handoff.state !== "agent-actionable")
619
720
  return undefined;
620
- return project.packages.find((workPackage) => workPackage.status === "ready");
721
+ const candidate = project.packages.find((workPackage) => workPackage.status === "ready");
722
+ if (!candidate)
723
+ return undefined;
724
+ const gate = nextScientificGate(project);
725
+ if (gate && gate.status !== "passed") {
726
+ const packageOrder = ["discover", "acquire", "analyze", "synthesize", "review", "close"];
727
+ if (packageOrder.indexOf(candidate.id) >= packageOrder.indexOf(gate.blocksPackage)) {
728
+ return undefined;
729
+ }
730
+ }
731
+ return candidate;
732
+ }
733
+ export function nextScientificGate(project) {
734
+ if (!project.scientificDesign)
735
+ return null;
736
+ const ordered = [
737
+ { role: "research-design", blocksPackage: "discover" },
738
+ { role: "evidence-construct", blocksPackage: "acquire" },
739
+ { role: "pilot-methods", blocksPackage: "analyze" },
740
+ ];
741
+ for (const item of ordered) {
742
+ const status = project.scientificDesign.gates[item.role].status;
743
+ if (status !== "passed")
744
+ return { ...item, status };
745
+ }
746
+ return null;
621
747
  }
622
748
  export function packageById(project, packageId) {
623
749
  const workPackage = project.packages.find((candidate) => candidate.id === packageId);
@@ -677,6 +803,8 @@ function validateProjectShape(project, expectedId) {
677
803
  (project.budgetConfirmedAt !== null && typeof project.budgetConfirmedAt !== "string") ||
678
804
  !Array.isArray(project.inputs) ||
679
805
  !isEvidenceRequirements(project.evidenceRequirements) ||
806
+ !isScientificDesignBinding(project.scientificDesign, expectedId) ||
807
+ (Boolean(project.publicationPolicy) && project.scientificDesign === null) ||
680
808
  !Array.isArray(project.packages) ||
681
809
  !project.usage ||
682
810
  typeof project.usage.tokens !== "number" ||
@@ -735,6 +863,115 @@ function initialHandoffState() {
735
863
  resolutionNote: null,
736
864
  };
737
865
  }
866
+ function prepareScientificDesignBinding(projectId, policy, input) {
867
+ const contract = input.design.contract;
868
+ const normalized = `${JSON.stringify(contract, null, 2)}\n`;
869
+ if (contract.projectId !== projectId ||
870
+ input.design.sha256 !== sha256Text(normalized) ||
871
+ input.design.bytes !== Buffer.byteLength(normalized, "utf8")) {
872
+ throw new CliError("Scientific design does not match its verified project and hash binding.", {
873
+ code: "RESEARCH_SCIENTIFIC_DESIGN_PROJECT_MISMATCH",
874
+ exitCode: 2,
875
+ });
876
+ }
877
+ if (!input.producerSessionId.trim()) {
878
+ throw new CliError("Scientific design requires an opaque native producer session identifier.", {
879
+ code: "RESEARCH_SCIENTIFIC_DESIGN_PRODUCER_INVALID",
880
+ exitCode: 2,
881
+ });
882
+ }
883
+ if (policy.targetJournal &&
884
+ policy.targetJournal.trim().toLocaleLowerCase("en-US") !==
885
+ contract.identity.targetJournals.primary.trim().toLocaleLowerCase("en-US")) {
886
+ throw new CliError("Scientific design primary journal does not match Research Policy.", {
887
+ code: "RESEARCH_SCIENTIFIC_DESIGN_POLICY_MISMATCH",
888
+ exitCode: 2,
889
+ });
890
+ }
891
+ const expectedJournalApprovalStatus = policy.targetJournal ? "policy-approved" : "candidate-only";
892
+ if (contract.identity.targetJournals.approvalStatus !== expectedJournalApprovalStatus) {
893
+ throw new CliError(policy.targetJournal
894
+ ? "An exact-journal Research Policy requires a policy-approved scientific design target."
895
+ : "A generic Research Policy may list exact journals only as candidates.", {
896
+ code: "RESEARCH_SCIENTIFIC_DESIGN_POLICY_MISMATCH",
897
+ exitCode: 2,
898
+ details: {
899
+ expectedApprovalStatus: expectedJournalApprovalStatus,
900
+ actualApprovalStatus: contract.identity.targetJournals.approvalStatus,
901
+ },
902
+ });
903
+ }
904
+ const evaluation = evaluateScientificDesign(contract);
905
+ if (!evaluation.readyForDesignReview) {
906
+ throw new CliError("Scientific design has blocking mechanical issues.", {
907
+ code: "RESEARCH_SCIENTIFIC_DESIGN_BLOCKED",
908
+ exitCode: 3,
909
+ details: { issueCodes: evaluation.issueCodes },
910
+ });
911
+ }
912
+ const policyGaps = scientificDesignPolicyGaps(contract, policy);
913
+ if (policyGaps.length) {
914
+ throw new CliError("Scientific design does not discharge the approved Research Policy.", {
915
+ code: "RESEARCH_SCIENTIFIC_DESIGN_POLICY_MISMATCH",
916
+ exitCode: 3,
917
+ details: { gaps: policyGaps },
918
+ });
919
+ }
920
+ const pendingGate = () => ({
921
+ status: "pending",
922
+ packetSha256: null,
923
+ assessmentSha256: null,
924
+ reviewSha256: null,
925
+ reviewerSessionSha256: null,
926
+ });
927
+ return {
928
+ schemaVersion: 1,
929
+ designSha256: input.design.sha256,
930
+ objectLocator: `projects/${projectId}/scientific/design/objects/${input.design.sha256}.json`,
931
+ centralStudyKind: contract.identity.centralStudyKind,
932
+ producer: {
933
+ agent: input.producerAgent,
934
+ sessionSha256: sha256Text(input.producerSessionId),
935
+ },
936
+ mechanicalIssueCodes: evaluation.issueCodes,
937
+ gates: {
938
+ "research-design": pendingGate(),
939
+ "evidence-construct": pendingGate(),
940
+ "pilot-methods": pendingGate(),
941
+ },
942
+ };
943
+ }
944
+ function isScientificDesignBinding(value, projectId) {
945
+ if (value === null)
946
+ return true;
947
+ if (!isObject(value) || value.schemaVersion !== 1)
948
+ return false;
949
+ if (typeof value.designSha256 !== "string" ||
950
+ !/^[a-f0-9]{64}$/.test(value.designSha256) ||
951
+ value.objectLocator !==
952
+ `projects/${projectId}/scientific/design/objects/${value.designSha256}.json` ||
953
+ typeof value.centralStudyKind !== "string" ||
954
+ !isObject(value.producer) ||
955
+ !["codex", "claude"].includes(String(value.producer.agent)) ||
956
+ typeof value.producer.sessionSha256 !== "string" ||
957
+ !/^[a-f0-9]{64}$/.test(value.producer.sessionSha256) ||
958
+ !Array.isArray(value.mechanicalIssueCodes) ||
959
+ value.mechanicalIssueCodes.some((item) => typeof item !== "string") ||
960
+ !isObject(value.gates)) {
961
+ return false;
962
+ }
963
+ const roles = ["research-design", "evidence-construct", "pilot-methods"];
964
+ const gates = value.gates;
965
+ return roles.every((role) => isScientificGateBinding(gates[role]));
966
+ }
967
+ function isScientificGateBinding(value) {
968
+ return (isObject(value) &&
969
+ ["pending", "prepared", "passed", "revision-required", "stopped"].includes(String(value.status)) &&
970
+ nullableSha256(value.packetSha256) &&
971
+ nullableSha256(value.assessmentSha256) &&
972
+ nullableSha256(value.reviewSha256) &&
973
+ nullableSha256(value.reviewerSessionSha256));
974
+ }
738
975
  function isProjectLineage(value) {
739
976
  if (!value || typeof value !== "object" || Array.isArray(value))
740
977
  return false;