@tiangong-ai/cli 0.0.61 → 0.0.63

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 (216) hide show
  1. package/AGENTS.md +17 -6
  2. package/CONTRIBUTING.md +5 -5
  3. package/README.md +417 -36
  4. package/dist/cli.js +2 -2
  5. package/dist/data/builtins.js +33 -5
  6. package/dist/data/builtins.js.map +1 -1
  7. package/dist/data/catalog.js +46 -0
  8. package/dist/data/catalog.js.map +1 -1
  9. package/dist/data/commands.js +15 -1
  10. package/dist/data/commands.js.map +1 -1
  11. package/dist/data/connectors/airnow-hourly-observations.js +60 -10
  12. package/dist/data/connectors/airnow-hourly-observations.js.map +1 -1
  13. package/dist/data/connectors/epa-eis-records.js +16 -2
  14. package/dist/data/connectors/epa-eis-records.js.map +1 -1
  15. package/dist/data/connectors/gdelt-doc-search.js +54 -18
  16. package/dist/data/connectors/gdelt-doc-search.js.map +1 -1
  17. package/dist/data/connectors/gdelt-file-feeds.js +20 -11
  18. package/dist/data/connectors/gdelt-file-feeds.js.map +1 -1
  19. package/dist/data/connectors/gdelt-web-ngrams.d.ts +2 -0
  20. package/dist/data/connectors/gdelt-web-ngrams.js +350 -0
  21. package/dist/data/connectors/gdelt-web-ngrams.js.map +1 -0
  22. package/dist/data/connectors/gdelt-web-ngrams.schemas.d.ts +188 -0
  23. package/dist/data/connectors/gdelt-web-ngrams.schemas.js +138 -0
  24. package/dist/data/connectors/gdelt-web-ngrams.schemas.js.map +1 -0
  25. package/dist/data/connectors/nasa-firms-fire.js +4 -0
  26. package/dist/data/connectors/nasa-firms-fire.js.map +1 -1
  27. package/dist/data/connectors/open-meteo-air-quality.js +27 -22
  28. package/dist/data/connectors/open-meteo-air-quality.js.map +1 -1
  29. package/dist/data/connectors/open-meteo-air-quality.schemas.d.ts +4 -1
  30. package/dist/data/connectors/open-meteo-air-quality.schemas.js +21 -1
  31. package/dist/data/connectors/open-meteo-air-quality.schemas.js.map +1 -1
  32. package/dist/data/connectors/open-meteo-flood.js +28 -23
  33. package/dist/data/connectors/open-meteo-flood.js.map +1 -1
  34. package/dist/data/connectors/open-meteo-flood.schemas.d.ts +4 -1
  35. package/dist/data/connectors/open-meteo-flood.schemas.js +21 -1
  36. package/dist/data/connectors/open-meteo-flood.schemas.js.map +1 -1
  37. package/dist/data/connectors/open-meteo-historical-weather.js +26 -21
  38. package/dist/data/connectors/open-meteo-historical-weather.js.map +1 -1
  39. package/dist/data/connectors/open-meteo-historical-weather.schemas.d.ts +4 -1
  40. package/dist/data/connectors/open-meteo-historical-weather.schemas.js +21 -1
  41. package/dist/data/connectors/open-meteo-historical-weather.schemas.js.map +1 -1
  42. package/dist/data/connectors/openaq-air-quality.js +50 -12
  43. package/dist/data/connectors/openaq-air-quality.js.map +1 -1
  44. package/dist/data/connectors/openaq-air-quality.schemas.d.ts +0 -4
  45. package/dist/data/connectors/openaq-air-quality.schemas.js +2 -2
  46. package/dist/data/connectors/openaq-air-quality.schemas.js.map +1 -1
  47. package/dist/data/connectors/youtube-public-content.js +76 -6
  48. package/dist/data/connectors/youtube-public-content.js.map +1 -1
  49. package/dist/data/connectors/youtube-public-content.schemas.d.ts +63 -3
  50. package/dist/data/connectors/youtube-public-content.schemas.js +56 -2
  51. package/dist/data/connectors/youtube-public-content.schemas.js.map +1 -1
  52. package/dist/data/contracts.d.ts +22 -1
  53. package/dist/data/runtime/bounded-http.d.ts +2 -0
  54. package/dist/data/runtime/bounded-http.js +221 -59
  55. package/dist/data/runtime/bounded-http.js.map +1 -1
  56. package/dist/data/runtime/execute.d.ts +2 -0
  57. package/dist/data/runtime/execute.js +82 -60
  58. package/dist/data/runtime/execute.js.map +1 -1
  59. package/dist/data/runtime/http-timing.d.ts +15 -0
  60. package/dist/data/runtime/http-timing.js +59 -0
  61. package/dist/data/runtime/http-timing.js.map +1 -0
  62. package/dist/data/runtime/http-transport.d.ts +1 -0
  63. package/dist/data/runtime/http-transport.js +27 -0
  64. package/dist/data/runtime/http-transport.js.map +1 -0
  65. package/dist/data/schemas/catalog.v1.json +46 -0
  66. package/dist/data/schemas/discovery.v1.json +12 -0
  67. package/dist/data/schemas/error.v1.json +1 -0
  68. package/dist/data/schemas/manifest.v1.json +19 -1
  69. package/dist/research/orchestration.js +233 -10
  70. package/dist/research/orchestration.js.map +1 -1
  71. package/dist/research/setup-command.js +37 -6
  72. package/dist/research/setup-command.js.map +1 -1
  73. package/dist/research/workspace/audit-bundle.js +28 -8
  74. package/dist/research/workspace/audit-bundle.js.map +1 -1
  75. package/dist/research/workspace/broker.js +25 -4
  76. package/dist/research/workspace/broker.js.map +1 -1
  77. package/dist/research/workspace/constants.d.ts +1 -0
  78. package/dist/research/workspace/constants.js +1 -0
  79. package/dist/research/workspace/constants.js.map +1 -1
  80. package/dist/research/workspace/content-evidence.d.ts +1 -0
  81. package/dist/research/workspace/content-evidence.js +1 -1
  82. package/dist/research/workspace/content-evidence.js.map +1 -1
  83. package/dist/research/workspace/credentials.js +2 -1
  84. package/dist/research/workspace/credentials.js.map +1 -1
  85. package/dist/research/workspace/data-evidence-adapter.d.ts +71 -0
  86. package/dist/research/workspace/data-evidence-adapter.js +269 -59
  87. package/dist/research/workspace/data-evidence-adapter.js.map +1 -1
  88. package/dist/research/workspace/data-evidence-view.d.ts +58 -0
  89. package/dist/research/workspace/data-evidence-view.js +411 -0
  90. package/dist/research/workspace/data-evidence-view.js.map +1 -0
  91. package/dist/research/workspace/evidence-ledger.js +32 -29
  92. package/dist/research/workspace/evidence-ledger.js.map +1 -1
  93. package/dist/research/workspace/evidence.d.ts +28 -0
  94. package/dist/research/workspace/evidence.js +48 -0
  95. package/dist/research/workspace/evidence.js.map +1 -1
  96. package/dist/research/workspace/executor.d.ts +27 -1
  97. package/dist/research/workspace/executor.js +180 -20
  98. package/dist/research/workspace/executor.js.map +1 -1
  99. package/dist/research/workspace/external-skills.d.ts +1 -0
  100. package/dist/research/workspace/external-skills.js +4 -2
  101. package/dist/research/workspace/external-skills.js.map +1 -1
  102. package/dist/research/workspace/investigation-attempt.d.ts +159 -0
  103. package/dist/research/workspace/investigation-attempt.js +619 -0
  104. package/dist/research/workspace/investigation-attempt.js.map +1 -0
  105. package/dist/research/workspace/investigation-audit.d.ts +20 -0
  106. package/dist/research/workspace/investigation-audit.js +306 -0
  107. package/dist/research/workspace/investigation-audit.js.map +1 -0
  108. package/dist/research/workspace/investigation-candidate.d.ts +84 -0
  109. package/dist/research/workspace/investigation-candidate.js +156 -0
  110. package/dist/research/workspace/investigation-candidate.js.map +1 -0
  111. package/dist/research/workspace/investigation-certification.d.ts +39 -0
  112. package/dist/research/workspace/investigation-certification.js +152 -0
  113. package/dist/research/workspace/investigation-certification.js.map +1 -0
  114. package/dist/research/workspace/investigation-close.d.ts +47 -0
  115. package/dist/research/workspace/investigation-close.js +153 -0
  116. package/dist/research/workspace/investigation-close.js.map +1 -0
  117. package/dist/research/workspace/investigation-lineage.d.ts +8 -0
  118. package/dist/research/workspace/investigation-lineage.js +10 -0
  119. package/dist/research/workspace/investigation-lineage.js.map +1 -0
  120. package/dist/research/workspace/investigation-observer.d.ts +22 -0
  121. package/dist/research/workspace/investigation-observer.js +122 -0
  122. package/dist/research/workspace/investigation-observer.js.map +1 -0
  123. package/dist/research/workspace/investigation-promotion.d.ts +129 -0
  124. package/dist/research/workspace/investigation-promotion.js +316 -0
  125. package/dist/research/workspace/investigation-promotion.js.map +1 -0
  126. package/dist/research/workspace/investigation-requirements.d.ts +5 -0
  127. package/dist/research/workspace/investigation-requirements.js +32 -0
  128. package/dist/research/workspace/investigation-requirements.js.map +1 -0
  129. package/dist/research/workspace/investigation-resources.d.ts +12 -0
  130. package/dist/research/workspace/investigation-resources.js +78 -0
  131. package/dist/research/workspace/investigation-resources.js.map +1 -0
  132. package/dist/research/workspace/investigation-source-export.d.ts +6 -0
  133. package/dist/research/workspace/investigation-source-export.js +68 -0
  134. package/dist/research/workspace/investigation-source-export.js.map +1 -0
  135. package/dist/research/workspace/investigation-store.d.ts +9 -0
  136. package/dist/research/workspace/investigation-store.js +55 -0
  137. package/dist/research/workspace/investigation-store.js.map +1 -0
  138. package/dist/research/workspace/investigation.d.ts +424 -0
  139. package/dist/research/workspace/investigation.js +716 -0
  140. package/dist/research/workspace/investigation.js.map +1 -0
  141. package/dist/research/workspace/native-process-supervisor.d.ts +1 -0
  142. package/dist/research/workspace/native-process-supervisor.js +97 -0
  143. package/dist/research/workspace/native-process-supervisor.js.map +1 -0
  144. package/dist/research/workspace/native-run.d.ts +79 -6
  145. package/dist/research/workspace/native-run.js +293 -51
  146. package/dist/research/workspace/native-run.js.map +1 -1
  147. package/dist/research/workspace/preflight.d.ts +3 -0
  148. package/dist/research/workspace/preflight.js +11 -6
  149. package/dist/research/workspace/preflight.js.map +1 -1
  150. package/dist/research/workspace/project-authority.js +2 -0
  151. package/dist/research/workspace/project-authority.js.map +1 -1
  152. package/dist/research/workspace/project-budget.d.ts +41 -0
  153. package/dist/research/workspace/project-budget.js +265 -0
  154. package/dist/research/workspace/project-budget.js.map +1 -0
  155. package/dist/research/workspace/project-mutations.d.ts +1 -1
  156. package/dist/research/workspace/project-mutations.js +27 -3
  157. package/dist/research/workspace/project-mutations.js.map +1 -1
  158. package/dist/research/workspace/projects.d.ts +66 -0
  159. package/dist/research/workspace/projects.js +181 -3
  160. package/dist/research/workspace/projects.js.map +1 -1
  161. package/dist/research/workspace/provider-budget.d.ts +3 -0
  162. package/dist/research/workspace/provider-budget.js +45 -0
  163. package/dist/research/workspace/provider-budget.js.map +1 -0
  164. package/dist/research/workspace/provider-state.d.ts +1 -0
  165. package/dist/research/workspace/provider-state.js +20 -0
  166. package/dist/research/workspace/provider-state.js.map +1 -0
  167. package/dist/research/workspace/publication-lineage.d.ts +34 -0
  168. package/dist/research/workspace/publication-lineage.js +165 -0
  169. package/dist/research/workspace/publication-lineage.js.map +1 -0
  170. package/dist/research/workspace/publication-workflow.d.ts +24 -0
  171. package/dist/research/workspace/publication-workflow.js +118 -14
  172. package/dist/research/workspace/publication-workflow.js.map +1 -1
  173. package/dist/research/workspace/review-executor.d.ts +6 -1
  174. package/dist/research/workspace/review-executor.js +17 -3
  175. package/dist/research/workspace/review-executor.js.map +1 -1
  176. package/dist/research/workspace/runtime.d.ts +12 -1
  177. package/dist/research/workspace/runtime.js +143 -19
  178. package/dist/research/workspace/runtime.js.map +1 -1
  179. package/dist/research/workspace/scientific-amendment.d.ts +103 -0
  180. package/dist/research/workspace/scientific-amendment.js +537 -0
  181. package/dist/research/workspace/scientific-amendment.js.map +1 -0
  182. package/dist/research/workspace/scientific-fulfillment-audit.d.ts +20 -2
  183. package/dist/research/workspace/scientific-fulfillment-audit.js +87 -7
  184. package/dist/research/workspace/scientific-fulfillment-audit.js.map +1 -1
  185. package/dist/research/workspace/scientific-fulfillment.d.ts +10 -1
  186. package/dist/research/workspace/scientific-fulfillment.js +20 -6
  187. package/dist/research/workspace/scientific-fulfillment.js.map +1 -1
  188. package/dist/research/workspace/scientific-review-execution.js +162 -22
  189. package/dist/research/workspace/scientific-review-execution.js.map +1 -1
  190. package/dist/research/workspace/scientific-review.d.ts +2 -1
  191. package/dist/research/workspace/scientific-review.js +33 -2
  192. package/dist/research/workspace/scientific-review.js.map +1 -1
  193. package/dist/research/workspace/setup-catalog.js +13 -13
  194. package/dist/research/workspace/setup-catalog.js.map +1 -1
  195. package/dist/research/workspace/setup-release.d.ts +22 -0
  196. package/dist/research/workspace/setup-release.js +426 -0
  197. package/dist/research/workspace/setup-release.js.map +1 -0
  198. package/dist/research/workspace/setup-runtime-integrity.d.ts +2 -0
  199. package/dist/research/workspace/setup-runtime-integrity.js +31 -0
  200. package/dist/research/workspace/setup-runtime-integrity.js.map +1 -0
  201. package/dist/research/workspace/setup-upgrade.d.ts +17 -0
  202. package/dist/research/workspace/setup-upgrade.js +784 -0
  203. package/dist/research/workspace/setup-upgrade.js.map +1 -0
  204. package/dist/research/workspace/setup.d.ts +31 -39
  205. package/dist/research/workspace/setup.js +228 -19
  206. package/dist/research/workspace/setup.js.map +1 -1
  207. package/dist/research/workspace/task-acceptance.d.ts +8 -1
  208. package/dist/research/workspace/task-acceptance.js +37 -5
  209. package/dist/research/workspace/task-acceptance.js.map +1 -1
  210. package/dist/research/workspace/task-audit.d.ts +5 -1
  211. package/dist/research/workspace/task-audit.js +33 -18
  212. package/dist/research/workspace/task-audit.js.map +1 -1
  213. package/dist/research/workspace/types.d.ts +44 -0
  214. package/dist/research/workspace/workspace.js +34 -4
  215. package/dist/research/workspace/workspace.js.map +1 -1
  216. package/package.json +5 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scientific-amendment.js","sourceRoot":"","sources":["../../../src/research/workspace/scientific-amendment.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,21 @@
1
- import type { OutputRecord } from "./types.js";
1
+ import { scientificAmendmentImpact, type ScientificAmendmentRecord } from "./scientific-amendment.js";
2
+ import type { ScientificFulfillmentRecord } from "./scientific-fulfillment.js";
3
+ import { type ScientificDesignContract } from "./scientific-design.js";
4
+ import type { OutputRecord, ProjectState } from "./types.js";
5
+ export interface ScientificAuditHistory {
6
+ project: ProjectState;
7
+ base: ScientificDesignContract;
8
+ fulfillments: Array<{
9
+ sequence: number;
10
+ record: ScientificFulfillmentRecord;
11
+ }>;
12
+ amendments: Array<{
13
+ sequence: number;
14
+ record: ScientificAmendmentRecord;
15
+ }>;
16
+ amendmentImpact: ReturnType<typeof scientificAmendmentImpact>;
17
+ }
18
+ /** Reconstruct only already verified declarations committed before one event. */
19
+ export declare function scientificAuditViewBefore(history: ScientificAuditHistory, sequence: number): ScientificDesignContract;
2
20
  /** A portable integrity check, not certification of authorship, scientific truth or execution. */
3
- export declare function verifyScientificFulfillmentAudit(bundle: string, projectId: string, files: OutputRecord[]): Promise<void>;
21
+ export declare function verifyScientificFulfillmentAudit(bundle: string, projectId: string, files: OutputRecord[]): Promise<ScientificAuditHistory | undefined>;
@@ -1,8 +1,23 @@
1
+ import { validateScientificAmendmentRecord, scientificAmendmentImpact, projectScientificAmendments, } from "./scientific-amendment.js";
1
2
  import { readFile } from "node:fs/promises";
3
+ import { parseAtomRecord } from "./content-evidence.js";
2
4
  import { CliError } from "../../errors.js";
3
5
  import { parseScientificDesign } from "./scientific-design.js";
4
6
  import { applyScientificFulfillmentRecord, validateScientificFulfillmentRecord, } from "./scientific-fulfillment.js";
5
7
  import { canonicalJson, isObject, resolveContained, sha256Text } from "./storage.js";
8
+ /** Reconstruct only already verified declarations committed before one event. */
9
+ export function scientificAuditViewBefore(history, sequence) {
10
+ const records = history.fulfillments
11
+ .filter((item) => item.sequence < sequence)
12
+ .map((item) => item.record);
13
+ const amendments = history.amendments
14
+ .filter((item) => item.sequence < sequence)
15
+ .map((item) => item.record);
16
+ const view = projectScientificAmendments(history.base, history.project.scientificDesign.designSha256, records, amendments);
17
+ for (const record of records)
18
+ applyScientificFulfillmentRecord(view, record);
19
+ return view;
20
+ }
6
21
  /** A portable integrity check, not certification of authorship, scientific truth or execution. */
7
22
  export async function verifyScientificFulfillmentAudit(bundle, projectId, files) {
8
23
  const indexed = new Map(files.map((file) => [file.path, file]));
@@ -30,13 +45,31 @@ export async function verifyScientificFulfillmentAudit(bundle, projectId, files)
30
45
  throw invalid();
31
46
  const events = proof.events.filter((event) => event.scope === projectId && event.type === "scientific.fulfillment.recorded");
32
47
  const binding = project.scientificDesign;
33
- if (!events.length) {
34
- if (binding?.fulfillmentSha256)
48
+ const amendmentEvents = proof.events.filter((event) => event.scope === projectId && event.type === "scientific.amendment.recorded");
49
+ if (!binding) {
50
+ if (events.length || amendmentEvents.length)
35
51
  throw invalid();
36
52
  return;
37
53
  }
38
- if (!binding || binding.fulfillmentSha256 !== events.at(-1)?.payload.recordSha256)
54
+ if ((binding.fulfillmentSha256 ?? null) !== (events.at(-1)?.payload.recordSha256 ?? null) ||
55
+ (binding.amendmentSha256 ?? null) !== (amendmentEvents.at(-1)?.payload.recordSha256 ?? null))
39
56
  throw invalid();
57
+ for (const event of [...events, ...amendmentEvents]) {
58
+ if (!Number.isSafeInteger(event.sequence) ||
59
+ event.sequence < 1 ||
60
+ event.sourcePayloadSha256 !== sha256Text(canonicalJson(event.payload)) ||
61
+ event.sourceEventHash !==
62
+ sha256Text(canonicalJson({
63
+ schemaVersion: 1,
64
+ sequence: event.sequence,
65
+ timestamp: event.timestamp,
66
+ type: event.type,
67
+ scope: event.scope,
68
+ payload: event.payload,
69
+ previousHash: event.sourcePreviousHash,
70
+ })))
71
+ throw invalid();
72
+ }
40
73
  const basePath = `project/scientific/design/objects/${binding.designSha256}.json`;
41
74
  if (indexed.get(basePath)?.sha256 !== binding.designSha256)
42
75
  throw invalid();
@@ -44,6 +77,7 @@ export async function verifyScientificFulfillmentAudit(bundle, projectId, files)
44
77
  if (base.projectId !== projectId)
45
78
  throw invalid();
46
79
  const effective = structuredClone(base);
80
+ const fulfillmentRecords = [];
47
81
  let parent = null;
48
82
  const seen = new Set();
49
83
  for (const event of events) {
@@ -98,15 +132,46 @@ export async function verifyScientificFulfillmentAudit(bundle, projectId, files)
98
132
  !Array.isArray(atom.evidenceRoleIds) ||
99
133
  !atom.evidenceRoleIds.some((role) => declared?.sourceEvidenceRoleIds.includes(String(role))))
100
134
  throw invalid();
101
- const { atomSha256, ...atomCore } = atom;
102
- if (atomSha256 !== sha256Text(canonicalJson(atomCore)))
135
+ try {
136
+ parseAtomRecord(atom);
137
+ }
138
+ catch {
103
139
  throw invalid();
140
+ }
104
141
  }
105
142
  }
106
143
  }
144
+ fulfillmentRecords.push(record);
107
145
  applyScientificFulfillmentRecord(effective, record);
108
146
  parent = hash;
109
147
  }
148
+ const amendments = [];
149
+ for (const event of amendmentEvents) {
150
+ if (event.sourcePayloadSha256 !== sha256Text(canonicalJson(event.payload)))
151
+ throw invalid();
152
+ const hash = String(event.payload.recordSha256);
153
+ const record = validateScientificAmendmentRecord(await read(`project/scientific/amendments/${hash}.json`), projectId, hash);
154
+ if (event.payload.planSha256 !== record.plan.planSha256 ||
155
+ event.payload.parentAmendmentSha256 !== record.plan.parentAmendmentSha256 ||
156
+ !isObject(event.payload.mutation) ||
157
+ event.payload.mutation.requestSha256 !== hash)
158
+ throw invalid();
159
+ const sourcePath = `project/scientific/authorization/${record.amendmentAuthorization.sourceSha256}.txt`;
160
+ const source = indexed.get(sourcePath);
161
+ if (source?.sha256 !== record.amendmentAuthorization.sourceSha256 ||
162
+ source.bytes !== record.amendmentAuthorization.sourceBytes)
163
+ throw invalid();
164
+ const sourceBytes = await readFile(resolveContained(bundle, sourcePath));
165
+ if (sourceBytes.length !== source.bytes ||
166
+ sha256Text(sourceBytes.toString("utf8")) !== source.sha256)
167
+ throw invalid();
168
+ const designPath = `project/scientific/design/objects/${record.design.sha256}.json`;
169
+ if (indexed.get(designPath)?.sha256 !== record.design.sha256)
170
+ throw invalid();
171
+ await read(designPath);
172
+ amendments.push(record);
173
+ }
174
+ const amendedBase = projectScientificAmendments(base, binding.designSha256, fulfillmentRecords, amendments);
110
175
  // Current prepared/passed gate packets must bind their deadline-specific view.
111
176
  for (const role of ["research-design", "evidence-construct", "pilot-methods"]) {
112
177
  const gate = binding.gates[role];
@@ -118,7 +183,9 @@ export async function verifyScientificFulfillmentAudit(bundle, projectId, files)
118
183
  sha256Text(canonicalJson(packetCore)) !== packetSha256 ||
119
184
  !isObject(packet.design))
120
185
  throw invalid();
121
- const view = structuredClone(base);
186
+ if ((packet.design.amendmentSha256 ?? null) !== (binding.amendmentSha256 ?? null))
187
+ throw invalid();
188
+ const view = structuredClone(amendedBase);
122
189
  for (const event of events)
123
190
  applyScientificFulfillmentRecord(view, validateScientificFulfillmentRecord(await read(`project/scientific/fulfillments/${event.payload.recordSha256}.json`), projectId, String(event.payload.recordSha256)), role);
124
191
  const packetView = packet.design.fulfillment;
@@ -130,8 +197,21 @@ export async function verifyScientificFulfillmentAudit(bundle, projectId, files)
130
197
  else if (canonicalJson(view) !== canonicalJson(base))
131
198
  throw invalid();
132
199
  }
200
+ return {
201
+ project,
202
+ base,
203
+ fulfillments: fulfillmentRecords.map((record, index) => ({
204
+ record,
205
+ sequence: events[index].sequence,
206
+ })),
207
+ amendments: amendments.map((record, index) => ({
208
+ record,
209
+ sequence: amendmentEvents[index].sequence,
210
+ })),
211
+ amendmentImpact: scientificAmendmentImpact(amendments, base),
212
+ };
133
213
  }
134
214
  function invalid() {
135
- return new CliError("Scientific fulfillment audit relationships or source objects are inconsistent.", { code: "RESEARCH_AUDIT_BUNDLE_INVALID", exitCode: 3 });
215
+ return new CliError("Scientific design history, fulfillment, amendment authorization or source objects are inconsistent.", { code: "RESEARCH_AUDIT_BUNDLE_INVALID", exitCode: 3 });
136
216
  }
137
217
  //# sourceMappingURL=scientific-fulfillment-audit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scientific-fulfillment-audit.js","sourceRoot":"","sources":["../../../src/research/workspace/scientific-fulfillment-audit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EACL,gCAAgC,EAChC,mCAAmC,GACpC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGrF,kGAAkG;AAClG,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,MAAc,EACd,SAAiB,EACjB,KAAqB;IAErB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAC;IACzC,MAAM,IAAI,GAAG,KAAK,EAAK,IAAY,EAAc,EAAE;QACjD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI;gBAAE,MAAM,OAAO,EAAE,CAAC;YACpE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YACpE,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,KAAK;gBACpF,MAAM,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC;gBACH,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,OAAO,EAAE,CAAC;YAClB,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAM,CAAC;IAC9B,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAe,oBAAoB,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,MAAM,IAAI,CAIrB,iCAAiC,CAAC,CAAC;IACtC,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;QAAE,MAAM,OAAO,EAAE,CAAC;IAC9E,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAChC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,iCAAiC,CACzF,CAAC;IACF,MAAM,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,OAAO,EAAE,iBAAiB;YAAE,MAAM,OAAO,EAAE,CAAC;QAChD,OAAO;IACT,CAAC;IACD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,iBAAiB,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,YAAY;QAC/E,MAAM,OAAO,EAAE,CAAC;IAClB,MAAM,QAAQ,GAAG,qCAAqC,OAAO,CAAC,YAAY,OAAO,CAAC;IAClF,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY;QAAE,MAAM,OAAO,EAAE,CAAC;IAC5E,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;QAAE,MAAM,OAAO,EAAE,CAAC;IAClD,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,mBAAmB,KAAK,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAAE,MAAM,OAAO,EAAE,CAAC;QAC5F,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM,OAAO,EAAE,CAAC;QACpE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,MAAM,MAAM,GAAG,mCAAmC,CAChD,MAAM,IAAI,CAAC,mCAAmC,IAAI,OAAO,CAAC,EAC1D,SAAS,EACT,IAAI,CACL,CAAC;QACF,IACE,MAAM,CAAC,YAAY,KAAK,OAAO,CAAC,YAAY;YAC5C,MAAM,CAAC,uBAAuB,KAAK,MAAM;YACzC,KAAK,CAAC,OAAO,CAAC,uBAAuB,KAAK,MAAM;YAChD,MAAM,CAAC,aAAa,KAAK,KAAK,CAAC,OAAO,CAAC,aAAa;YAEpD,MAAM,OAAO,EAAE,CAAC;QAClB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI;YAC1B,CAAC,sBAAsB,EAAE,MAAM,CAAC,oBAAoB,CAAC;YACrD,CAAC,kBAAkB,EAAE,MAAM,CAAC,gBAAgB,CAAC;SACrC,EAAE,CAAC;YACX,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,mBAAmB,IAAI,CAAC,MAAM,IAAI,IAAI,OAAO,CAAC;gBAC9D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAA0B,qBAAqB,OAAO,EAAE,CAAC,CAAC;gBACrF,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC;gBAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;gBACrE,IACE,QAAQ,CAAC,IAAI,KAAK,4BAA4B;oBAC9C,QAAQ,CAAC,aAAa,KAAK,CAAC;oBAC5B,QAAQ,CAAC,UAAU,KAAK,IAAI;oBAC5B,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;oBAC/B,QAAQ,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa;oBAC7C,QAAQ,CAAC,aAAa,KAAK,OAAO;oBAClC,QAAQ,CAAC,SAAS,KAAK,gBAAgB;oBACvC,YAAY,KAAK,IAAI,CAAC,YAAY;oBAClC,YAAY,KAAK,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBAChD,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,MAAM;oBAC7B,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK;oBAE9B,MAAM,OAAO,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,MAAM,IAAI,CACxB,uCAAuC,CACxC,CAAC;YACF,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;YAC5C,IAAI,cAAc,KAAK,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;gBACrF,MAAM,OAAO,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAChF,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;gBAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAC9C,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,WAAW,CAC5C,CAAC;gBACF,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM;oBAClC,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;wBACpC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;wBACrC,IACE,CAAC,IAAI;4BACL,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,MAAM;4BACpC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC;4BACpC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAClC,QAAQ,EAAE,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CACvD;4BAED,MAAM,OAAO,EAAE,CAAC;wBAClB,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;wBACzC,IAAI,UAAU,KAAK,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;4BAAE,MAAM,OAAO,EAAE,CAAC;oBAC1E,CAAC;YACL,CAAC;QACH,CAAC;QACD,gCAAgC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IACD,+EAA+E;IAC/E,KAAK,MAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,eAAe,CAAU,EAAE,CAAC;QACvF,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,SAAS;QACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CACvB,qCAAqC,IAAI,IAAI,IAAI,CAAC,YAAY,OAAO,CACtE,CAAC;QACF,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC;QAC/C,IACE,YAAY,KAAK,IAAI,CAAC,YAAY;YAClC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,KAAK,YAAY;YACtD,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;YAExB,MAAM,OAAO,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACnC,KAAK,MAAM,KAAK,IAAI,MAAM;YACxB,gCAAgC,CAC9B,IAAI,EACJ,mCAAmC,CACjC,MAAM,IAAI,CAAC,mCAAmC,KAAK,CAAC,OAAO,CAAC,YAAY,OAAO,CAAC,EAChF,SAAS,EACT,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CACnC,EACD,IAAI,CACL,CAAC;QACJ,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;QAC7C,IAAI,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACzB,IACE,UAAU,CAAC,eAAe,KAAK,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC9D,CAAC,UAAU,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;gBAE5E,MAAM,OAAO,EAAE,CAAC;QACpB,CAAC;aAAM,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,aAAa,CAAC,IAAI,CAAC;YAAE,MAAM,OAAO,EAAE,CAAC;IAC1E,CAAC;AACH,CAAC;AACD,SAAS,OAAO;IACd,OAAO,IAAI,QAAQ,CACjB,gFAAgF,EAChF,EAAE,IAAI,EAAE,+BAA+B,EAAE,QAAQ,EAAE,CAAC,EAAE,CACvD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"scientific-fulfillment-audit.js","sourceRoot":"","sources":["../../../src/research/workspace/scientific-fulfillment-audit.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { type ScientificDesignContract } from "./scientific-design.js";
2
2
  import type { JournalEvent, ProjectState, ScientificReviewRole } from "./types.js";
3
+ import { type ScientificAmendmentRecord } from "./scientific-amendment.js";
3
4
  type DeferredGate = "evidence-construct" | "pilot-methods";
4
5
  type ObjectInput = {
5
6
  modelId: string;
@@ -53,6 +54,8 @@ export interface ScientificFulfillmentRecord extends Omit<FulfillmentInput, "par
53
54
  }
54
55
  export interface ScientificFulfillmentView {
55
56
  base: ScientificDesignContract;
57
+ amendedBase: ScientificDesignContract;
58
+ amendments: ScientificAmendmentRecord[];
56
59
  contract: ScientificDesignContract;
57
60
  headSha256: string | null;
58
61
  effectiveSha256: string;
@@ -64,7 +67,13 @@ export declare function scientificFulfillmentLocator(projectId: string, hash: st
64
67
  export declare function validateScientificFulfillmentRecord(value: unknown, projectId: string, hash: string): ScientificFulfillmentRecord;
65
68
  /** The base bytes never change. The per-gate projection includes only slots due by that gate. */
66
69
  export declare function loadScientificFulfillmentView(root: string, project: ProjectState, throughGate?: ScientificReviewRole, knownEvents?: JournalEvent[]): Promise<ScientificFulfillmentView>;
67
- export declare function applyScientificFulfillmentRecord(design: ScientificDesignContract, record: ScientificFulfillmentRecord, throughGate?: ScientificReviewRole): void;
70
+ /** The pure projector needs scientific values, not registration/commit metadata. */
71
+ export interface ScientificFulfillmentProjection {
72
+ modelImplementations: Array<Omit<ScientificFulfillmentRecord["modelImplementations"][number], "recordSha256">>;
73
+ environmentLocks: Array<Omit<ScientificFulfillmentRecord["environmentLocks"][number], "recordSha256">>;
74
+ parameterStates: ScientificFulfillmentRecord["parameterStates"];
75
+ }
76
+ export declare function applyScientificFulfillmentRecord(design: ScientificDesignContract, record: ScientificFulfillmentProjection, throughGate?: ScientificReviewRole): void;
68
77
  export declare function recordScientificFulfillment(root: string, projectId: string, value: unknown): Promise<ScientificFulfillmentRecord>;
69
78
  export declare function inspectScientificFulfillment(root: string, projectId: string): Promise<{
70
79
  projectId: string;
@@ -10,6 +10,7 @@ import { configuredResearchSecrets, sanitizeResearchValue } from "./sanitization
10
10
  import { evaluateScientificDesign, readAndVerifyScientificDesign, } from "./scientific-design.js";
11
11
  import { resolveScientificObjectBinding } from "./scientific-objects.js";
12
12
  import { canonicalJson, isObject, pathExists, resolveContained, sha256Text, workspacePaths, writeJsonAtomic, } from "./storage.js";
13
+ import { loadScientificAmendments, projectScientificAmendments, } from "./scientific-amendment.js";
13
14
  import { withWorkspaceLock } from "./workspace.js";
14
15
  const HASH = /^[a-f0-9]{64}$/;
15
16
  const ID = "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$";
@@ -212,10 +213,19 @@ export async function loadScientificFulfillmentView(root, project, throughGate,
212
213
  });
213
214
  }
214
215
  const head = binding.fulfillmentSha256 ?? null;
216
+ const hasFulfillmentHistory = Boolean(head) ||
217
+ (await pathExists(join(workspacePaths(root).projects, project.id, "scientific/fulfillments")));
218
+ const hasAmendmentHistory = Boolean(binding.amendmentSha256) ||
219
+ (await pathExists(join(workspacePaths(root).projects, project.id, "scientific/amendments")));
220
+ // Legacy/unamended reads retain constant-cost absent-namespace checks. Reuse
221
+ // an operation's verified journal when supplied; active history is never cached.
222
+ const journalEvents = knownEvents ??
223
+ (hasFulfillmentHistory || hasAmendmentHistory
224
+ ? await readVerifiedJournal(workspacePaths(root).journal)
225
+ : []);
215
226
  const records = [];
216
- if (head ||
217
- (await pathExists(join(workspacePaths(root).projects, project.id, "scientific/fulfillments")))) {
218
- const events = (knownEvents ?? (await readVerifiedJournal(workspacePaths(root).journal))).filter((event) => event.scope === project.id && event.type === "scientific.fulfillment.recorded");
227
+ if (hasFulfillmentHistory) {
228
+ const events = journalEvents.filter((event) => event.scope === project.id && event.type === "scientific.fulfillment.recorded");
219
229
  if ((events.at(-1)?.payload.recordSha256 ?? null) !== head)
220
230
  throw conflict();
221
231
  let cursor = head;
@@ -243,8 +253,10 @@ export async function loadScientificFulfillmentView(root, project, throughGate,
243
253
  const atomBindings = records.some((record) => record.parameterStates.length)
244
254
  ? await loadAtomBindings(root, project.id)
245
255
  : undefined;
246
- const complete = structuredClone(verified.contract);
247
- const contract = throughGate ? structuredClone(verified.contract) : complete;
256
+ const amendments = await loadScientificAmendments(root, project, journalEvents);
257
+ const amendedBase = projectScientificAmendments(verified.contract, binding.designSha256, records, amendments);
258
+ const complete = structuredClone(amendedBase);
259
+ const contract = throughGate ? structuredClone(amendedBase) : complete;
248
260
  for (const record of records) {
249
261
  await assertObjectRecords(root, record, atomBindings);
250
262
  // Even an early-gate projection must reject invalid future-due slots.
@@ -254,11 +266,13 @@ export async function loadScientificFulfillmentView(root, project, throughGate,
254
266
  }
255
267
  return {
256
268
  base: verified.contract,
269
+ amendedBase,
270
+ amendments,
257
271
  contract,
258
272
  headSha256: head,
259
273
  effectiveSha256: sha256Text(canonicalJson(contract)),
260
274
  records,
261
- deferredObjectRuleIds: resolvedDeferredObjectRules(verified.contract, contract, records, throughGate),
275
+ deferredObjectRuleIds: resolvedDeferredObjectRules(amendedBase, contract, records, throughGate),
262
276
  };
263
277
  }
264
278
  async function loadAtomBindings(root, projectId) {
@@ -1 +1 @@
1
- {"version":3,"file":"scientific-fulfillment.js","sourceRoot":"","sources":["../../../src/research/workspace/scientific-fulfillment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scientific-fulfillment.js","sourceRoot":"","sources":["../../../src/research/workspace/scientific-fulfillment.ts"],"names":[],"mappings":"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"}