@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
package/README.md
CHANGED
|
@@ -12,8 +12,8 @@ checkPaths:
|
|
|
12
12
|
- package.json
|
|
13
13
|
- bin/**
|
|
14
14
|
- src/**
|
|
15
|
-
lastReviewedAt: 2026-09-
|
|
16
|
-
lastReviewedCommit:
|
|
15
|
+
lastReviewedAt: 2026-09-11
|
|
16
|
+
lastReviewedCommit: f0dc2ee
|
|
17
17
|
---
|
|
18
18
|
|
|
19
19
|
# Tiangong AI CLI
|
|
@@ -70,16 +70,43 @@ tiangong-ai data run <capability-id> <operation-id> \
|
|
|
70
70
|
The command-line capability and operation must match the versions in the input
|
|
71
71
|
envelope. Credentials are never accepted in argv or input JSON. Each connector
|
|
72
72
|
declares exact logical environment-variable bindings, HTTPS endpoint scopes,
|
|
73
|
-
and
|
|
73
|
+
and acquisition limits in its execution manifest. Callers may explicitly
|
|
74
|
+
tighten those limits, but upper layers do not silently reinterpret Agent
|
|
75
|
+
context budgets as provider or record limits. Data commands deliberately do
|
|
74
76
|
not load a cwd `.env` file.
|
|
75
77
|
|
|
76
78
|
`data catalog` also returns a concise capability summary, what the capability
|
|
77
|
-
provides and does not provide, operation summaries,
|
|
78
|
-
digest
|
|
79
|
+
provides and does not provide, operation summaries, a separate discovery
|
|
80
|
+
digest, and an explicit `available` or `suspended` status. Suspended entries
|
|
81
|
+
remain inspectable, but `doctor` and `run` block before any provider request.
|
|
82
|
+
`data describe` expands that layer with source ownership, coverage,
|
|
79
83
|
granularity, selection hints, typical uses, official documentation, freshness,
|
|
80
84
|
license restrictions, and operation descriptions. Narrative discovery changes
|
|
81
85
|
do not change the execution manifest digest used for compatibility binding.
|
|
82
86
|
Operation input schemas include field-level descriptions and examples.
|
|
87
|
+
Operations may also publish stable feature IDs for Skills that depend on a
|
|
88
|
+
specific compatible behavior within the same contract major.
|
|
89
|
+
|
|
90
|
+
GDELT DOC requests are paced at least five seconds apart within one CLI process,
|
|
91
|
+
including split queries and retries. Missing-header 429 responses use bounded
|
|
92
|
+
exponential backoff and remain `rate-limited`, never `no-results`. Independent
|
|
93
|
+
processes sharing an egress must be coordinated by the caller. The opt-in positive
|
|
94
|
+
live gate and its timing/throughput definitions are documented in
|
|
95
|
+
[repository validation](docs/agents/repo-validation.md#gdelt-doc-live-acceptance).
|
|
96
|
+
|
|
97
|
+
Auto Research keeps three budgets separate: connector acquisition limits,
|
|
98
|
+
Evidence package bytes/files, and the Agent-visible context view. A validated
|
|
99
|
+
result is persisted in full when it fits the Evidence package budget;
|
|
100
|
+
`maxBrokerItems` and the context-token ceiling only shape the Agent view.
|
|
101
|
+
Receipts distinguish provider coverage, explicit limits reached, and context
|
|
102
|
+
projection instead of forcing them into one status. A projected result returns
|
|
103
|
+
an opaque, evidence-bound cursor; `research project evidence data read` serves
|
|
104
|
+
the next shape-aware view from immutable local Evidence without another
|
|
105
|
+
provider request or provider quota charge. Agents must either continue until
|
|
106
|
+
`nextCursor` is null or disclose the exact presented/total fraction.
|
|
107
|
+
The public Research command returns receipt identity, coverage, a structured
|
|
108
|
+
bounded context view, and continuation metadata. The complete core result
|
|
109
|
+
remains in immutable Evidence and is not duplicated into Agent stdout.
|
|
83
110
|
|
|
84
111
|
JSON exits are `0` for success, `2` for request/contract errors, `3` for a
|
|
85
112
|
blocked execution, and `4` for an explicit partial result. Public machine
|
|
@@ -90,7 +117,11 @@ The built-in capabilities are:
|
|
|
90
117
|
- `airnow.hourly-observations` / `fetch-hourly`: fetches official AirNow
|
|
91
118
|
`HourlyAQObs` files for a bounded UTC-hour window, bounding box, and pollutant
|
|
92
119
|
list. Results retain source-file lineage and always state that AirNow data are
|
|
93
|
-
preliminary and unsuitable as regulatory-grade AQS evidence.
|
|
120
|
+
preliminary and unsuitable as regulatory-grade AQS evidence. Independent
|
|
121
|
+
hourly files use bounded concurrency while output files and records retain
|
|
122
|
+
deterministic UTC-hour order. Execution uses the official
|
|
123
|
+
`files.airnowtech.org` S3 bucket through its regional S3 endpoint so a failing
|
|
124
|
+
CloudFront edge does not make the underlying public object unavailable.
|
|
94
125
|
- `bluesky.public-posts` / `fetch-cascades`: fetches bounded public Bluesky
|
|
95
126
|
post seeds from search, an author feed, a custom feed, or a list feed and can
|
|
96
127
|
flatten visible reply cascades. Ranking, counters, moderation visibility, and
|
|
@@ -98,7 +129,10 @@ The built-in capabilities are:
|
|
|
98
129
|
- `epa.eis-records` / `search`: retrieves bounded official EPA EIS Database
|
|
99
130
|
common-search or UI-created search pages and parses title, CEQ/provider IDs,
|
|
100
131
|
document type, dates, agencies, state, detail links, and document-availability
|
|
101
|
-
cues.
|
|
132
|
+
cues. Its endpoint-scoped, same-origin session cookie jar exists only in
|
|
133
|
+
memory so the provider's initial redirect can complete; cookies never enter
|
|
134
|
+
results, receipts, logs, or cross-origin requests. It does not fetch or assess
|
|
135
|
+
linked EIS documents.
|
|
102
136
|
- `federal-register.documents` / `search`: searches bounded
|
|
103
137
|
FederalRegister.gov document metadata by publication date plus term, agency,
|
|
104
138
|
document type, topic, docket, or RIN filters. It does not follow result links,
|
|
@@ -106,48 +140,56 @@ The built-in capabilities are:
|
|
|
106
140
|
- `gdelt.doc-search` / `search`: searches the rolling GDELT DOC 2.0 index for
|
|
107
141
|
bounded article-link metadata or supported aggregate timelines. Automated
|
|
108
142
|
multilingual extraction and uneven monitored-source coverage are explicit;
|
|
109
|
-
it does not retrieve article bodies or establish ground-truth facts.
|
|
143
|
+
it does not retrieve article bodies or establish ground-truth facts. The
|
|
144
|
+
capability is currently suspended because representative modes do not pass a
|
|
145
|
+
stable live gate under the provider's dynamic load shedding.
|
|
146
|
+
- `gdelt.web-ngrams` / `search`: searches literal 1–4-word phrases in one
|
|
147
|
+
explicit published UTC minute's GZIP NGrams/TOC pair, returning matched
|
|
148
|
+
article links with file-scoped IDs. This local candidate extension is a
|
|
149
|
+
separately selected file-based alternative to DOC discovery, not a DOC query
|
|
150
|
+
or timeline substitute. Missing files block; malformed rows and omitted
|
|
151
|
+
matches are partial. No implicit time-range sampling or automatic fallback.
|
|
110
152
|
- `gdelt.events`, `gdelt.gkg`, and `gdelt.mentions` / `fetch`: independently
|
|
111
153
|
discoverable GDELT 2.0 table capabilities backed by one bounded TypeScript
|
|
112
154
|
file-feed core. They fetch either the latest provider entry or at most twenty
|
|
113
155
|
aligned 15-minute files, verify ZIP/CRC and advertised latest-file checksums,
|
|
114
|
-
and emit closed named columns without persisting downloaded files.
|
|
156
|
+
and emit closed named columns without persisting downloaded files. Their
|
|
157
|
+
wide named-field JSON is preserved as Evidence; Agent context projection is
|
|
158
|
+
handled by Auto Research without changing the connector result.
|
|
115
159
|
- `nasa-firms.active-fire` / `fetch-area`: retrieves bounded NASA FIRMS MODIS,
|
|
116
160
|
VIIRS, or Landsat active-fire point detections, optionally validates source
|
|
117
161
|
availability, and exposes chunk-level partial coverage. Hotspots are thermal
|
|
118
162
|
anomalies, not fire perimeters or confirmed incident identities.
|
|
119
163
|
- `open-meteo.air-quality` / `fetch-hourly`: retrieves bounded GMT hourly CAMS
|
|
120
164
|
model-grid air-quality series for known coordinates; these are modeled
|
|
121
|
-
background values rather than station observations.
|
|
165
|
+
background values rather than station observations. Missing and explicitly
|
|
166
|
+
returned all-null series are distinct machine-readable partial issues.
|
|
122
167
|
- `open-meteo.flood` / `fetch-daily`: retrieves bounded daily GloFAS simulated
|
|
123
168
|
river-discharge series for the represented river grid; it is neither gauge
|
|
124
|
-
data nor a flood-alert service.
|
|
169
|
+
data nor a flood-alert service. Missing and explicitly returned all-null
|
|
170
|
+
series are distinct machine-readable partial issues.
|
|
125
171
|
- `open-meteo.historical-weather` / `fetch`: retrieves bounded GMT hourly and/or
|
|
126
172
|
daily historical weather reanalysis for one controlled model and known
|
|
127
173
|
coordinates. ERA5 or ERA5-Land should be selected when multi-decade model
|
|
128
|
-
consistency matters.
|
|
174
|
+
consistency matters. Missing requested series and provider-returned series
|
|
175
|
+
whose values are all `null` are distinct machine-readable partial issues.
|
|
129
176
|
- `openaq.air-quality` / `search-locations` and `fetch-sensor-measurements`:
|
|
130
177
|
discovers filtered OpenAQ v3 locations and retrieves a bounded raw, hourly,
|
|
131
178
|
or daily series for one sensor. It preserves provider/license context but
|
|
132
179
|
does not calculate AQI or make health or regulatory determinations.
|
|
133
|
-
- `regulations-gov.comments` / `search` and `fetch-details`: searches bounded
|
|
134
|
-
Regulations.gov public-comment metadata and retrieves curated details for
|
|
135
|
-
explicit comment IDs. It omits named personal-profile fields, never submits
|
|
136
|
-
comments, and returns attachment metadata without downloading file bytes.
|
|
137
|
-
- `regulations-gov.attachments` / `download`: retrieves attachment metadata for
|
|
138
|
-
exact public comment IDs and writes bounded files only from the official
|
|
139
|
-
Regulations.gov download origin. It requires `--artifact-dir`, refuses to
|
|
140
|
-
overwrite files, and commits SHA-256-bound relative files plus a manifest;
|
|
141
|
-
it does not scan, open, extract, or interpret the untrusted bytes.
|
|
142
180
|
- `usbr.project-records` / `fetch`: inventories caller-supplied official
|
|
143
181
|
`www.usbr.gov` project or program pages plus bounded same-origin links. It
|
|
144
182
|
preserves page response provenance but does not follow, download, parse, or
|
|
145
|
-
assess linked records and is not USBR-wide search.
|
|
183
|
+
assess linked records and is not USBR-wide search. Execution is currently
|
|
184
|
+
suspended because the official origin returns a gateway rejection page in
|
|
185
|
+
the supported CLI environment.
|
|
146
186
|
- `usbr.rise` / `discover-items` and `fetch-results`: scans bounded Bureau of
|
|
147
187
|
Reclamation RISE catalog pages for client-filtered candidate item IDs, then
|
|
148
188
|
retrieves bounded result rows for explicitly selected items. Provider scan
|
|
149
189
|
order is not ranking, and operational values require item metadata and domain
|
|
150
|
-
context before interpretation.
|
|
190
|
+
context before interpretation. Execution is currently suspended because both
|
|
191
|
+
the legacy API and the official EDR beta endpoint are rejected by the
|
|
192
|
+
provider gateway in the supported CLI environment.
|
|
151
193
|
- `usgs.water-instantaneous-values` / `fetch`: retrieves bounded legacy USGS
|
|
152
194
|
WaterServices instantaneous observations while preserving site, parameter,
|
|
153
195
|
qualifier, provisional status, and source lifecycle warnings.
|
|
@@ -156,12 +198,17 @@ The built-in capabilities are:
|
|
|
156
198
|
comment/reply text for explicit video IDs. It does not download media or
|
|
157
199
|
transcripts and does not treat ranking or comments as representative opinion.
|
|
158
200
|
|
|
159
|
-
|
|
201
|
+
GDELT DOC, Regulations.gov comment/attachment, USBR RISE, and USBR project
|
|
202
|
+
records remain discoverable with `availability.status=suspended`, a stable
|
|
203
|
+
reason code, and explicit resume criteria. `doctor` and `run` block locally
|
|
204
|
+
without network access, and Auto Research excludes them from its executable
|
|
205
|
+
projection until their production live gates qualify them again.
|
|
206
|
+
|
|
207
|
+
Of the fifteen execution-enabled capabilities, twelve are keyless. NASA FIRMS requires `NASA_FIRMS_MAP_KEY`, which the
|
|
160
208
|
CLI injects as a protected provider path segment; OpenAQ requires
|
|
161
|
-
`OPENAQ_API_KEY`,
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
in argv or input JSON. Exact input and output schemas,
|
|
209
|
+
`OPENAQ_API_KEY`, and YouTube requires `YOUTUBE_API_KEY`; the CLI injects the
|
|
210
|
+
latter two as protected provider headers, with YouTube using `X-Goog-Api-Key`
|
|
211
|
+
rather than a URL parameter. No secret is accepted in argv or input JSON. Exact input and output schemas,
|
|
165
212
|
endpoint scopes and limits are available through the execution manifest, while
|
|
166
213
|
source notes, coverage, selection guidance and license restrictions are
|
|
167
214
|
available in the discovery metadata returned by `data describe`; static
|
|
@@ -383,6 +430,57 @@ bytes and report that a new native-host session is required before the routing
|
|
|
383
430
|
instruction becomes active. Global-scope Skill installation does not create
|
|
384
431
|
project instruction files.
|
|
385
432
|
|
|
433
|
+
### Reviewed setup upgrades
|
|
434
|
+
|
|
435
|
+
Use `research setup update --check --candidate-version <exact-stable-version>`
|
|
436
|
+
to inspect one explicitly selected release. Omitting `--candidate-version` keeps
|
|
437
|
+
this a local catalog comparison with no registry request. The optional query
|
|
438
|
+
pins the public npm registry and package scope, has finite time/output limits,
|
|
439
|
+
and reports `newer`, `same`, `older`, or `unavailable`. Metadata includes the
|
|
440
|
+
exact version, tarball URL, SHA-512 integrity and Git commit. This validates
|
|
441
|
+
registry metadata; it does not independently download or authenticate the
|
|
442
|
+
package. An unavailable query never means that no update exists: when there is
|
|
443
|
+
no separately confirmed local migration, `updateAvailable` is `null`.
|
|
444
|
+
|
|
445
|
+
An older workspace resolver deliberately continues selecting its recorded CLI.
|
|
446
|
+
To use an upgrade-capable candidate, select its exact published version and run
|
|
447
|
+
that version directly; do not edit the runtime lock or use floating `latest`:
|
|
448
|
+
|
|
449
|
+
```bash
|
|
450
|
+
REVIEWED_UPGRADE_CLI_VERSION=X.Y.Z # replace with one reviewed exact stable release
|
|
451
|
+
npx --yes --registry=https://registry.npmjs.org \
|
|
452
|
+
--@tiangong-ai:registry=https://registry.npmjs.org --strict-ssl=true \
|
|
453
|
+
--package "@tiangong-ai/cli@$REVIEWED_UPGRADE_CLI_VERSION" -- tiangong-ai \
|
|
454
|
+
research setup upgrade --plan --confirm-upgrade \
|
|
455
|
+
--workspace /absolute/path/to/workspace --json
|
|
456
|
+
```
|
|
457
|
+
|
|
458
|
+
Review the returned immutable `planPath` and execute its `applyCommand`. The
|
|
459
|
+
candidate also binds the SHA-256 identity of `package.json`, `bin/` and `dist/`;
|
|
460
|
+
apply and rollback reject changed CLI runtime bytes before workspace mutation.
|
|
461
|
+
This content binding excludes installed dependencies and is not a publisher
|
|
462
|
+
signature. Ordinary research commands do not rescan these trees. Planning
|
|
463
|
+
leaves the active plan, runtime lock, configuration and installed Skills intact.
|
|
464
|
+
Apply stages the complete selected generation, verifies each prior-owned tree,
|
|
465
|
+
and reuses unchanged trees and verified downloads. Modified or linked targets
|
|
466
|
+
remain protected. It preserves the workspace identity, evidence, credentials,
|
|
467
|
+
budgets, current model/pricing choices, custom launchers and reviewer transport.
|
|
468
|
+
Changed license choices remain explicit; unchanged accepted licenses carry forward.
|
|
469
|
+
|
|
470
|
+
An interrupted commit blocks ordinary workspace use and reports the exact
|
|
471
|
+
candidate recovery command. Repeat that candidate's apply to resume, or use its
|
|
472
|
+
`rollbackCommand` to restore the directly bound prior generation with the new
|
|
473
|
+
updater. Rollback refuses conflicting owner changes or subsequent research
|
|
474
|
+
activity. Interrupted rollback remains blocked and resumes with the same command.
|
|
475
|
+
Private rollback preimages (including configured credentials) and prepared caches
|
|
476
|
+
are retained for recovery; they are excluded from portable setup audit exports.
|
|
477
|
+
Doctor runs after coherent activation; a repeated apply does not repeat a paid
|
|
478
|
+
check that already started. If its result was lost, explicitly inspect status
|
|
479
|
+
and run Doctor as needed. Old readiness attestations never certify new bytes.
|
|
480
|
+
A legacy already-mixed plan/lock fails with
|
|
481
|
+
`RESEARCH_SETUP_LEGACY_UPGRADE_RECOVERY_REQUIRED`; preserve its directly linked
|
|
482
|
+
setup history for diagnosis rather than deleting Skills or rewriting locks.
|
|
483
|
+
|
|
386
484
|
### Declarative setup
|
|
387
485
|
|
|
388
486
|
For repeatable provisioning without a TTY, generate a safe workspace-local
|
|
@@ -607,8 +705,9 @@ owns the same due gate. Pending implementations use `null` for implementation
|
|
|
607
705
|
SHA-256, locator, and entrypoint; pending environments use `null` for lock
|
|
608
706
|
SHA-256 and locator. They are exposed in every earlier review packet as
|
|
609
707
|
`futureGateObligations` and become blocking mechanical errors at that gate.
|
|
610
|
-
|
|
611
|
-
|
|
708
|
+
Their predeclared slots may be fulfilled through the append-only same-project
|
|
709
|
+
command below. The original design bytes never change; a material assumption,
|
|
710
|
+
question, policy or already-frozen value still requires a reviewed successor.
|
|
612
711
|
|
|
613
712
|
Use the same Policy project ID and exact design when preflighting and admitting
|
|
614
713
|
the research project:
|
|
@@ -677,6 +776,31 @@ schema-valid, packet/session-bound review. A saved successful execution is
|
|
|
677
776
|
replayed without another model call after revalidating its immutable proof.
|
|
678
777
|
Failures require explicit `--retry` and remain bounded by the attempt budget;
|
|
679
778
|
unreported usage and interrupted wall time retain conservative reservations.
|
|
779
|
+
Failed processes return a bounded, sanitized exit diagnostic and record it in
|
|
780
|
+
the journal; no full prompt or raw authentication output is persisted.
|
|
781
|
+
When the reviewer returns but submission is rejected, the error and failed
|
|
782
|
+
journal event also return an `executionRecord` locator and SHA-256. The locator
|
|
783
|
+
is relative to `.tiangong-research/` and points to an immutable
|
|
784
|
+
`scientific/failed-executions/` record containing the packet/run binding,
|
|
785
|
+
reported usage and identity, rejection code, and safely retained JSON stdout.
|
|
786
|
+
These are unaccepted execution observations, not a review receipt or permission
|
|
787
|
+
to pass a gate. Inspecting them does not call the provider; another execution
|
|
788
|
+
still requires explicit `--retry`.
|
|
789
|
+
Retained stdout is limited to the smaller of 1 MiB and the configured output
|
|
790
|
+
capture allowance. Unsafe, oversized, or malformed JSON keeps only its digest,
|
|
791
|
+
size and omission reason. If storage fails, `outputRetention=storage-unavailable`
|
|
792
|
+
is reported with the original error instead of claiming that a result was saved.
|
|
793
|
+
Successful review and replay use their existing output/receipt without this
|
|
794
|
+
additional failure capture.
|
|
795
|
+
Automatic
|
|
796
|
+
Claude invocation uses the same dialect-annotation conversion as
|
|
797
|
+
`research schema show NAME --compatibility claude-code`; canonical controller
|
|
798
|
+
validation and its scientific constraints remain unchanged.
|
|
799
|
+
The provider view explicitly types scalar constants/enums; returned values are
|
|
800
|
+
never coerced to satisfy the canonical schema.
|
|
801
|
+
Claude's structured result is used instead of any accompanying narrative;
|
|
802
|
+
declared error results remain failures, with their safe diagnostic ahead of
|
|
803
|
+
incidental stderr warnings.
|
|
680
804
|
A nonpassing mechanical packet can receive an independent stop verdict, never
|
|
681
805
|
an override. The existing manual submit command remains available for an exact
|
|
682
806
|
independent review.
|
|
@@ -685,6 +809,8 @@ Reviewer status is read-only and transport-aware. Native-direct does not
|
|
|
685
809
|
require a bridge connection. Smoke configuration readiness is explicitly not
|
|
686
810
|
production readiness and does not demand an attestation that smoke mode never
|
|
687
811
|
writes. Production still requires its current reviewer doctor attestation.
|
|
812
|
+
Packet read responses carry their actual content and receipt together; a
|
|
813
|
+
receipt alone does not establish that the host displayed the content to its model.
|
|
688
814
|
|
|
689
815
|
Repeat the same prepare/execute route for `evidence-construct`, adding an
|
|
690
816
|
owner-reviewed JSON array of absolute canonical canary paths with
|
|
@@ -704,17 +830,40 @@ audit manifest separately records the raw stored packet-file digest. This keeps
|
|
|
704
830
|
packet identity and byte-level transfer verification explicit rather than
|
|
705
831
|
overloading one hash with both meanings.
|
|
706
832
|
|
|
707
|
-
After base closure,
|
|
833
|
+
After base closure, inspect `research publication lineage PROJECT --json` before
|
|
834
|
+
authoring materials. It verifies the existing closure and reviewed packet's
|
|
835
|
+
analysis, report and evidence-chain hashes and returns their analysis identity
|
|
836
|
+
with an empty material-file template. It does not certify or relabel previously
|
|
837
|
+
authored files. The current native host then writes a final Markdown/plain-text
|
|
708
838
|
manuscript, schema-valid publication assessment, and an explicit submission
|
|
709
839
|
manifest. The manuscript must contain Abstract, Introduction, Methods, Results,
|
|
710
|
-
Discussion, Data availability, Code availability, and References.
|
|
840
|
+
Discussion, Data availability, Code availability, and References. Decimal
|
|
841
|
+
section prefixes such as `1. Introduction`, `2 Methods`, `3.1 Results`, and
|
|
842
|
+
`4) Discussion` are accepted when separated from the title by whitespace;
|
|
843
|
+
unrelated titles and body text still cannot satisfy a required section. The
|
|
711
844
|
submission manifest must bind distinct absolute files for cover letter, title
|
|
712
845
|
page, reporting checklist, data availability, code availability, and source
|
|
713
846
|
data; figure/table index, extended data, and supplementary methods are optional.
|
|
847
|
+
The schema-version-1 submission manifest also requires `resultLineage`, following
|
|
848
|
+
`research schema show publication-result-lineage --json`. Preserve the source
|
|
849
|
+
analysis identity from material preparation. Include a role, actual byte SHA-256
|
|
850
|
+
and source `analysisSha256` for the manuscript, assessment, every submission file
|
|
851
|
+
and each `supplement-N` (one-based supplied order). Include the actual figures,
|
|
852
|
+
tables and source inputs as submission files or supplements; an index alone is
|
|
853
|
+
not their contents. Do not replace a stale parent hash merely to pass validation.
|
|
854
|
+
Completeness and scientific derivation remain producer claims for independent
|
|
855
|
+
review; the CLI verifies declared lineage and bytes, not scientific truth.
|
|
714
856
|
`research publication freeze` then content-addresses the Policy, scientific
|
|
715
857
|
design and early reviews, acquisition/content/inference snapshots, mode-bound
|
|
716
858
|
analysis, Claim-Evidence Graph, base outputs, manuscript, assessment,
|
|
717
859
|
supplements, role-complete submission files, and reproducibility manifest.
|
|
860
|
+
Validation reads the frozen copies. The generation, review packet and closure
|
|
861
|
+
carry `analysisGenerationId` and a content-addressed material-results manifest;
|
|
862
|
+
the reproducibility record binds that manifest. A different closed generation,
|
|
863
|
+
changed report, mixed file parent or changed prepared bytes fails before review.
|
|
864
|
+
Status/review/closure recheck the current closed lineage and report the affected
|
|
865
|
+
object and binding. Legacy generations without the manifest retain their history
|
|
866
|
+
but cannot establish current readiness; prepare an honest binding and refreeze.
|
|
718
867
|
Computational/mixed analysis still requires reproduced metadata with exact
|
|
719
868
|
implementation/environment bindings. Qualitative analysis uses
|
|
720
869
|
`status: not-applicable`, null command/seed and empty implementation/environment
|
|
@@ -732,6 +881,9 @@ generation, packet, review, journal, and closure objects persist only their
|
|
|
732
881
|
SHA-256 bindings.
|
|
733
882
|
|
|
734
883
|
```bash
|
|
884
|
+
tiangong-ai research publication lineage top-journal-paper \
|
|
885
|
+
--workspace /absolute/path/to/workspace --json
|
|
886
|
+
tiangong-ai research schema show publication-result-lineage --json
|
|
735
887
|
tiangong-ai research schema show publication-assessment --json
|
|
736
888
|
tiangong-ai research publication freeze top-journal-paper \
|
|
737
889
|
--manuscript /absolute/path/to/final-manuscript.md \
|
|
@@ -759,6 +911,16 @@ derivatives. Credentials, setup
|
|
|
759
911
|
sources, browser profiles, native active state, capsules, unrelated projects,
|
|
760
912
|
and host-specific absolute paths are excluded.
|
|
761
913
|
|
|
914
|
+
Text inspection distinguishes internal identifiers such as `interruptedSessionId`
|
|
915
|
+
from credential fields. It checks raw text and read-only decoded JSON/JSONL,
|
|
916
|
+
including escaped keys and nested string payloads, while retaining the exact
|
|
917
|
+
evidence and ledger bytes. Authentication values remain blocked even when wrapped
|
|
918
|
+
in arrays or objects; an identifier's UUID shape is never a credential exemption.
|
|
919
|
+
Within the existing 16 MiB per-file text scan bound, valid UTF-8 inputs are also
|
|
920
|
+
checked after staging under extensionless content hashes. Binary inputs remain
|
|
921
|
+
byte-preserving. A nonportable-path error reports a bundle-relative `details.path`
|
|
922
|
+
without disclosing the original host path or the matched source text.
|
|
923
|
+
|
|
762
924
|
```bash
|
|
763
925
|
tiangong-ai research project audit export top-journal-paper \
|
|
764
926
|
--output /absolute/path/to/new-audit-directory \
|
|
@@ -822,6 +984,11 @@ presentation Skills are post-closure authoring only. Run selected preprocessors
|
|
|
822
984
|
and acquisition adapters with `research setup companion run`, then admit their
|
|
823
985
|
exact hash-bound output separately. Automatic paper OA exhaustion returns an
|
|
824
986
|
explicit browser handoff and never launches or chooses a browser silently.
|
|
987
|
+
Paper results require the pinned adapter's identity-verified artifact.v3
|
|
988
|
+
manifest: matched document identity must agree between the result and manifest
|
|
989
|
+
and bind the requested or resolved DOI. PDF/manifest paths, bytes and hashes
|
|
990
|
+
remain checked independently. Structural-only legacy metadata cannot establish
|
|
991
|
+
document identity, and successful access does not imply redistribution rights.
|
|
825
992
|
The paper companion and its setup-doctor preflight both enter the verified
|
|
826
993
|
Skill through `scripts/runtime.py`; the CLI never bypasses that lock by invoking
|
|
827
994
|
`fetch.py` or importing `pypdf` from ambient Python. A missing runtime remains
|
|
@@ -859,8 +1026,10 @@ For large local sources, pass an immutable `--input-plan` to both preflight and
|
|
|
859
1026
|
project initialization. Each plan entry may expose either a separate
|
|
860
1027
|
`contextPath` or non-overlapping, one-based `contextRanges`; the producer sees
|
|
861
1028
|
only that bounded context, while independent review receives the hash-verified
|
|
862
|
-
full source. Symlinks, duplicate content
|
|
863
|
-
|
|
1029
|
+
full source. Symlinks, duplicate content and changed hashes are rejected.
|
|
1030
|
+
There is no total stage-context length gate: large admitted objects remain complete
|
|
1031
|
+
and are read through the packet's artifact directory instead of being forced into
|
|
1032
|
+
the initial prompt. This does not expose files deliberately withheld by an input plan.
|
|
864
1033
|
|
|
865
1034
|
The workspace stores its current protocol state under `.tiangong-research/`.
|
|
866
1035
|
Each project follows the evidence-first sequence: broad discovery, strict
|
|
@@ -871,6 +1040,13 @@ CodeBuddy session. The CLI never launches a nested producer process. Independent
|
|
|
871
1040
|
runs through the other configured agent family's CLI, and execution is blocked
|
|
872
1041
|
when the two roles use the same family.
|
|
873
1042
|
|
|
1043
|
+
Native packets direct the host to save one new JSON submission file, not to write
|
|
1044
|
+
admitted output paths. Acquire may retrieve files and readable derivatives for
|
|
1045
|
+
provisionally admitted sources through the packet's binding/registration commands;
|
|
1046
|
+
it may not reopen discovery. Analyze, synthesize and the isolated reviewer retain
|
|
1047
|
+
their no-new-evidence boundary. Headless reviewer prompts remain capsule-scoped
|
|
1048
|
+
and return JSON rather than saving native submission files.
|
|
1049
|
+
|
|
874
1050
|
Every workspace mutation is serialized by an owner-recorded directory lease
|
|
875
1051
|
with a heartbeat. A later command immediately reclaims a lease whose same-host
|
|
876
1052
|
owner process is definitely dead; an unverifiable cross-host lease is reclaimed
|
|
@@ -940,6 +1116,29 @@ reviewer shell, browser, web, undeclared MCP, and Skill tools remain disabled.
|
|
|
940
1116
|
Do not use Full Access, sandbox-disable flags, unsandboxed-command exceptions,
|
|
941
1117
|
or silent transport fallback.
|
|
942
1118
|
|
|
1119
|
+
Before sending reviewer material, inspect `research reviewer status --json`.
|
|
1120
|
+
The runtime reports the CLI family and configured model alias separately from
|
|
1121
|
+
`providerRouting`: the configured Claude endpoint origin/source, model-mapping
|
|
1122
|
+
sources and a digest of admitted routing values. Explicit process environment
|
|
1123
|
+
overrides the imported Claude `settings.json` env allowlist. Approved custom
|
|
1124
|
+
HTTPS gateways remain supported. Doctor's `reviewer-configured-routing` check
|
|
1125
|
+
is configuration inspection; it does not make a paid model request.
|
|
1126
|
+
|
|
1127
|
+
Routing changes invalidate the prior runtime binding before reviewer execution.
|
|
1128
|
+
Unchanged effective routing reuses the existing attestation; missing legacy
|
|
1129
|
+
bindings require an explicit smoke refresh. Status never starts paid checks.
|
|
1130
|
+
Paths, query strings, proxy credentials and mapped provider IDs are omitted
|
|
1131
|
+
from routing receipts. `identityVerification=unverified` is intentional: a CLI
|
|
1132
|
+
family, model alias, endpoint configuration or successful smoke cannot attest
|
|
1133
|
+
the actual upstream provider/model or historical HTTP destinations. A null
|
|
1134
|
+
endpoint means no supported explicit endpoint was resolved, not an official
|
|
1135
|
+
provider guarantee. Wrappers, proxies and runtime defaults remain outside that
|
|
1136
|
+
identity guarantee. Bridge status identifies transport readiness separately.
|
|
1137
|
+
Execution `model` and `runtime.model` retain the configured alias; optional
|
|
1138
|
+
`telemetry.reportedModel` records the sanitized CLI self-report, with null when
|
|
1139
|
+
absent. A mapped response name does not change the configured runtime identity
|
|
1140
|
+
or require another smoke. It is not independently verified provider identity.
|
|
1141
|
+
|
|
943
1142
|
WorkBuddy/CodeBuddy capsule teardown never requests recursive bulk deletion
|
|
944
1143
|
inside the outer IDE. Native stages remove only the single active-session
|
|
945
1144
|
binding, while completed, aborted, handed-off, and reviewer/work-package
|
|
@@ -1165,7 +1364,8 @@ total tokens, USD 5,000, 30 days, and package ceilings of 12,000,000 for discove
|
|
|
1165
1364
|
acquisition, 1,500,000 each for analysis and synthesis, and 2,500,000 for
|
|
1166
1365
|
review. Primary output is bounded at 32,000 tokens and a separately invoked
|
|
1167
1366
|
repair at 16,000. The production broker hard ceiling is 256 bounded views with
|
|
1168
|
-
32,000 context tokens per view
|
|
1367
|
+
32,000 context tokens per broker view. The legacy `maxInputContextTokens` setting
|
|
1368
|
+
is an embedding/planning hint, not an input admission or artifact-read ceiling.
|
|
1169
1369
|
Top-journal admission additionally reserves three early scientific reviews at
|
|
1170
1370
|
500,000 tokens each, four final publication reviews at 750,000 each, and one
|
|
1171
1371
|
4,000,000-token revision cycle, including their finite wall-time allowances.
|
|
@@ -1174,7 +1374,7 @@ stop control ordinary use, while the finite ceilings, three attempts per
|
|
|
1174
1374
|
package, and explicit confirmation above the cost threshold stop runaway work.
|
|
1175
1375
|
Smoke-test workspaces retain their smaller low-cost defaults.
|
|
1176
1376
|
Before project initialization and every executable package, the control plane
|
|
1177
|
-
requires
|
|
1377
|
+
requires a token and conservative price estimate to fit the finite execution budget. Native
|
|
1178
1378
|
producer stages reserve prompt, schema, admitted context, bounded broker
|
|
1179
1379
|
context, and output allowance, but the host app does not expose trusted
|
|
1180
1380
|
per-stage usage telemetry to this CLI. A successful native submit therefore
|
|
@@ -1184,9 +1384,15 @@ output bytes/tokens, provenance, coverage, hashes, and remaining project budget.
|
|
|
1184
1384
|
It does not claim a provider-side turn or output-token cap for the host app.
|
|
1185
1385
|
|
|
1186
1386
|
Independent review uses the pre-call reservation calculator and the reviewer's
|
|
1187
|
-
provider-side structured-output/turn controls where available.
|
|
1188
|
-
|
|
1189
|
-
|
|
1387
|
+
provider-side structured-output/turn controls where available. Claude packet-only
|
|
1388
|
+
review chooses the largest affordable turn count up to a 64-turn provider
|
|
1389
|
+
guard and uses that same count in its reservation; Codex uses the existing finite wall-time and
|
|
1390
|
+
token/cost guards because its CLI has no equivalent turn flag. Planning uses a
|
|
1391
|
+
small initial-context estimate and expected reads, not the entire corpus or an
|
|
1392
|
+
unbounded legacy context hint. Preflight reports `inputContextTokenLimit=null`.
|
|
1393
|
+
These are approximate estimates, not precise billing; scientific review keeps
|
|
1394
|
+
the approved remaining cost ceiling separate from its rough read-cost estimate.
|
|
1395
|
+
Formatting repair remains one separately budgeted,
|
|
1190
1396
|
tool-free JSON correction. Production workspaces enforce a finite 256-view
|
|
1191
1397
|
broker ceiling mechanically, while each project derives a much smaller working
|
|
1192
1398
|
budget from its reviewed coverage requirements and stops early when they are
|
|
@@ -1198,6 +1404,55 @@ records and JSONL progress preserve sanitized accounting mode, event/item
|
|
|
1198
1404
|
counts, provider turns, tool calls, reasoning tokens, and bounded provider
|
|
1199
1405
|
errors.
|
|
1200
1406
|
|
|
1407
|
+
Owners can opt into a numeric project authorization with `project init` or
|
|
1408
|
+
`project preflight --max-cost-usd`, or adopt it for an existing project:
|
|
1409
|
+
|
|
1410
|
+
```bash
|
|
1411
|
+
tiangong-ai research project budget set PROJECT --max-cost-usd 50 \
|
|
1412
|
+
--provider-costs /absolute/provider-costs.json --confirm-budget \
|
|
1413
|
+
--workspace /absolute/workspace --json
|
|
1414
|
+
```
|
|
1415
|
+
|
|
1416
|
+
The JSON file maps selected capability IDs to owner-reviewed USD maxima for one
|
|
1417
|
+
logical operation, for example `{ "method.public-source": 0.01 }`. Choose these
|
|
1418
|
+
values from your actual provider agreement; the example is synthetic. Each
|
|
1419
|
+
allocation includes that operation's bounded redirects, retries, and provider
|
|
1420
|
+
pagination. Missing prices block new provider work; they do not mean zero.
|
|
1421
|
+
Project and shared HTTP caches, and local reads of stored Data windows, require
|
|
1422
|
+
no new monetary allocation. The existing broker call-count budget still counts
|
|
1423
|
+
cache/tool invocations. Concurrent provider calls share one durable ledger;
|
|
1424
|
+
local ledger writes are serialized while network operations remain parallel.
|
|
1425
|
+
|
|
1426
|
+
The project ledger covers project stage/reviewer admissions and the project
|
|
1427
|
+
HTTP/Data evidence entrypoints. Workspace setup/Doctor probes, setup companion
|
|
1428
|
+
commands, standalone `data run`, and unrelated host-app actions have no project
|
|
1429
|
+
budget binding; their charges are unobserved here and must not be counted as
|
|
1430
|
+
zero. Native host work is represented by its declared allocation, not trusted
|
|
1431
|
+
provider metering.
|
|
1432
|
+
|
|
1433
|
+
The project budget response separates accounted estimates, pending reservations,
|
|
1434
|
+
remaining authorization, and overruns. It never reports a provider invoice.
|
|
1435
|
+
Model actions require declared route prices; native/provider operations use
|
|
1436
|
+
conservative allocations where trusted usage is unavailable. Increasing the
|
|
1437
|
+
authorization or changing provider maxima requires `--confirm-budget`.
|
|
1438
|
+
Tightening cannot exclude already spent or reserved exposure. Legacy projects
|
|
1439
|
+
retain their existing workspace controls until explicitly adopted; changing a
|
|
1440
|
+
project authorization leaves workspace settings and Doctor bindings intact.
|
|
1441
|
+
Fork/addendum recovery carries outstanding obligations to the current project
|
|
1442
|
+
without counting them twice. An uncertain operation remains pending until it
|
|
1443
|
+
ends or the owner explicitly resolves it with `project budget resolve`, a
|
|
1444
|
+
reservation ID, an accounted estimate, a reason, and `--confirm-budget`.
|
|
1445
|
+
A native reservation requires its original session to have ended first.
|
|
1446
|
+
Settled accounting evidence is immutable, including conservative allocated
|
|
1447
|
+
maxima; this interface does not revise historical costs or reconcile provider
|
|
1448
|
+
invoices. Choose reviewed per-operation maxima accordingly.
|
|
1449
|
+
An owner estimate above the ceiling records an overrun and blocks further
|
|
1450
|
+
positive-cost work; it does not silently increase the authorization.
|
|
1451
|
+
If a command fails after saving the decision but before writing its journal
|
|
1452
|
+
record, retrying the same command reconciles the missing record without changing
|
|
1453
|
+
the authorization or charging again. The record is marked as reconciliation;
|
|
1454
|
+
contradictory journal evidence stops the replay for inspection.
|
|
1455
|
+
|
|
1201
1456
|
Every evidence source must resolve to an admitted input, a completed broker
|
|
1202
1457
|
receipt, or a completed structured data-runtime receipt. Successful broker and
|
|
1203
1458
|
data results are immutable content-addressed objects under
|
|
@@ -1211,8 +1466,9 @@ context, evidence objects, and registered local input hashes before recording
|
|
|
1211
1466
|
their safe locators. Capsule deletion therefore does not delete the durable
|
|
1212
1467
|
review chain.
|
|
1213
1468
|
|
|
1214
|
-
Native discovery preparation
|
|
1215
|
-
each external Skill's top-level `SKILL.md
|
|
1469
|
+
Native discovery preparation supplies the exact staged capability manifest and
|
|
1470
|
+
each external Skill's top-level `SKILL.md` inline or by an exact artifact reference.
|
|
1471
|
+
It also projects every built-in data
|
|
1216
1472
|
operation dynamically, with no per-provider Research adapter. The current host
|
|
1217
1473
|
may fetch generic broker evidence with `research project evidence fetch`, whose bounded request file
|
|
1218
1474
|
contains logical IDs but no credential values. The manifest includes the locked,
|
|
@@ -1228,6 +1484,11 @@ with `tiangong-ai data describe`, then run the exact request through:
|
|
|
1228
1484
|
tiangong-ai research project evidence data run <project-id> \
|
|
1229
1485
|
--request /absolute/path/to/data-run-request.json \
|
|
1230
1486
|
--workspace /absolute/path/to/workspace --json
|
|
1487
|
+
|
|
1488
|
+
# When contextView.nextCursor is non-null, continue from persisted Evidence:
|
|
1489
|
+
tiangong-ai research project evidence data read <project-id> \
|
|
1490
|
+
--receipt <attempt-id> --cursor <opaque-next-cursor> \
|
|
1491
|
+
--workspace /absolute/path/to/workspace --json
|
|
1231
1492
|
```
|
|
1232
1493
|
|
|
1233
1494
|
This Research command calls the same TypeScript data service in-process; it does
|
|
@@ -1240,19 +1501,43 @@ credentialed operation must resolve its namespaced logical credential from the
|
|
|
1240
1501
|
workspace's owner-only store or it is blocked before any provider request.
|
|
1241
1502
|
Standalone `tiangong-ai data run` keeps its separate manifest-declared
|
|
1242
1503
|
environment-variable policy. A blocked data result is not promoted to evidence.
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1504
|
+
Native packets publish data commands as `workspace-cli-relative-argv`;
|
|
1505
|
+
installed Auto Research must prefix them with its workspace-locked resolver
|
|
1506
|
+
rather than resolving a global CLI from `PATH`.
|
|
1507
|
+
Data Evidence continuation is read-only and does not consume another evidence-call
|
|
1508
|
+
or provider-request budget. Provider coverage, limits reached, and Agent context
|
|
1509
|
+
coverage are reported independently, so a result may be both partial and bounded.
|
|
1510
|
+
Analyze and synthesize packets contain hash-verified prior-stage artifacts and
|
|
1511
|
+
require no external evidence calls. Base and scientific review use only the
|
|
1512
|
+
packet-bound `research_list_artifacts` and `research_read_artifact` tools; shell,
|
|
1513
|
+
general filesystem, browser, broker and undeclared integrations remain disabled.
|
|
1514
|
+
The same surface works through native-direct and the signed sandbox-bridge.
|
|
1515
|
+
Small objects/excerpts are included initially; large objects are referenced without
|
|
1516
|
+
rejecting the stage. Broker excerpts prioritize deterministic, sanitized
|
|
1249
1517
|
projections of the exact raw-response items selected by admitted evidence JSON
|
|
1250
1518
|
Pointers; uncited receipts retain metadata-only bindings, and unresolved
|
|
1251
1519
|
pointers receive a bounded-context fallback. The packet hash is schema-bound, but complete packet
|
|
1252
1520
|
metadata is not redundantly copied into model context. Full local files,
|
|
1253
|
-
original per-receipt
|
|
1254
|
-
|
|
1255
|
-
|
|
1521
|
+
original per-receipt contexts, raw broker objects, checks and counterevidence stay
|
|
1522
|
+
discoverable in the exact directory. Reads use opaque object IDs and byte offsets;
|
|
1523
|
+
UTF-8 pages preserve character boundaries. Omit `length` for a 16 KiB page or use
|
|
1524
|
+
`length: null` for the whole object, without a CLI read-length ceiling. Objects
|
|
1525
|
+
actually read are preserved under `reads/objects/`, with exact directory and
|
|
1526
|
+
packet/object/view hash receipts. Receipts prove bytes delivered, not comprehension
|
|
1527
|
+
or scientific truth; actual provider/model capacity remains a limitation.
|
|
1528
|
+
|
|
1529
|
+
Native hosts can use the same primitives without adding an IDE integration:
|
|
1530
|
+
|
|
1531
|
+
```bash
|
|
1532
|
+
tiangong-ai research project stage artifacts PROJECT --session SESSION --workspace /absolute/workspace --json
|
|
1533
|
+
tiangong-ai research project stage read PROJECT --session SESSION --artifact OBJECT_ID --offset 0 --length 16384 --workspace /absolute/workspace --json
|
|
1534
|
+
tiangong-ai research project stage read PROJECT --session SESSION --artifact OBJECT_ID --length all --workspace /absolute/workspace --json
|
|
1535
|
+
```
|
|
1536
|
+
|
|
1537
|
+
Follow `nextOffset` for subsequent pages. `--encoding base64` explicitly requests
|
|
1538
|
+
binary bytes; prefer a registered text derivative for interpretation. The channel
|
|
1539
|
+
does not scan arbitrary host paths or discover files created after the snapshot.
|
|
1540
|
+
Stopped, changed or expired native sessions cannot read through it.
|
|
1256
1541
|
The CLI mechanically derives local full-text availability, source types,
|
|
1257
1542
|
counts, date coverage, source IDs, and the coverage decision. A `partial`
|
|
1258
1543
|
dimension is usable but incomplete; a missing dimension or unmet declared
|
|
@@ -1436,7 +1721,7 @@ acquisition snapshot; unchanged records are reused. Single and batch intake shar
|
|
|
1436
1721
|
this rule. Historical records remain immutable, and atoms from deselected artifacts
|
|
1437
1722
|
cannot fill current coverage. Same-snapshot conflicting extraction still fails.
|
|
1438
1723
|
|
|
1439
|
-
|
|
1724
|
+
Substantive question/Policy/design changes or post-analysis work require the existing
|
|
1440
1725
|
fork/addendum flow. Pre-feature snapshots without immutable evidence records cannot
|
|
1441
1726
|
be repaired in place; use `research project fork SOURCE --to TARGET
|
|
1442
1727
|
--resume-through discover` to reuse discovery/receipts/artifacts, or explicitly
|
|
@@ -1444,6 +1729,91 @@ start a new generation. There is no automatic migration. A top-journal successor
|
|
|
1444
1729
|
requires a Policy approved for TARGET and `--design`, `--design-producer-agent`,
|
|
1445
1730
|
and `--design-producer-session`; it cannot inherit scientific approval.
|
|
1446
1731
|
|
|
1732
|
+
### Amend planned design declarations before analysis
|
|
1733
|
+
|
|
1734
|
+
At an idle boundary before analysis or inference freeze, a compatible runtime
|
|
1735
|
+
can amend an existing planned Policy rule's due gate, rationale, or links to
|
|
1736
|
+
already declared models/parameters. The question, claims, thresholds, model
|
|
1737
|
+
and parameter definitions/values, evidence requirements and Policy content stay
|
|
1738
|
+
fixed. Substantive changes continue through a reviewed successor.
|
|
1739
|
+
|
|
1740
|
+
```bash
|
|
1741
|
+
tiangong-ai research schema show scientific-amendment --json
|
|
1742
|
+
tiangong-ai research scientific amendment plan PROJECT \
|
|
1743
|
+
--input /absolute/amendment-input.json --workspace /absolute/workspace --json
|
|
1744
|
+
```
|
|
1745
|
+
|
|
1746
|
+
The closed input contains `schemaVersion: 1`, a reason and `changes`; use the
|
|
1747
|
+
schema for their exact fields. Amendment status exposes the current editable
|
|
1748
|
+
fields under `plannedRules`, so unchanged links can be preserved explicitly. Save the returned plan JSON unchanged externally.
|
|
1749
|
+
It shows before/after declarations, current parent bindings, preserved acquisition,
|
|
1750
|
+
invalidated scientific gates and `affectedTaskRequirementIds`. Planning does not
|
|
1751
|
+
mutate the project or request a provider. After explicit approval of that exact
|
|
1752
|
+
plan, retain the actual supplied confirmation text in a bounded UTF-8 file:
|
|
1753
|
+
|
|
1754
|
+
```bash
|
|
1755
|
+
tiangong-ai research scientific amendment apply PROJECT \
|
|
1756
|
+
--plan /absolute/amendment-plan.json --confirm REVIEWED_PLAN_SHA256 \
|
|
1757
|
+
--authorization-source /absolute/confirmation.txt --workspace /absolute/workspace --json
|
|
1758
|
+
tiangong-ai research scientific amendment status PROJECT --workspace /absolute/workspace --json
|
|
1759
|
+
```
|
|
1760
|
+
|
|
1761
|
+
The CLI records operator-supplied confirmation, not authenticated human identity.
|
|
1762
|
+
Original design bytes, fulfillment records and valid evidence remain unchanged;
|
|
1763
|
+
a new immutable declaration version and its exact parent/changes/source are
|
|
1764
|
+
retained. Planned rules are not marked scientifically satisfied. New early
|
|
1765
|
+
scientific reviews receive the version history and current effective design.
|
|
1766
|
+
|
|
1767
|
+
Task checks linked through existing claim/coverage bindings to changed rules
|
|
1768
|
+
become stale; unrelated checks remain reusable and idempotent. Affected check
|
|
1769
|
+
contexts expose `requiredDesignAmendmentSha256`; an explicit reassessment records
|
|
1770
|
+
its applicable amendment without requiring unchanged sources or calculations to
|
|
1771
|
+
be rerun. Unbound source-only checks do not establish the amended design's
|
|
1772
|
+
validity. Portable audit verifies the same selective relationships.
|
|
1773
|
+
|
|
1774
|
+
Changed parents or Policy, unsupported fields, active stages and late amendments
|
|
1775
|
+
reject. Inspect and replan instead of editing hashes. A committed but interrupted
|
|
1776
|
+
apply recovers through the existing project transaction and identical retry;
|
|
1777
|
+
unknown or conflicting files are preserved. This path does not add a new paid
|
|
1778
|
+
review role or silently upgrade a locked runtime that lacks these commands.
|
|
1779
|
+
|
|
1780
|
+
### Fulfill predeclared scientific objects
|
|
1781
|
+
|
|
1782
|
+
At an idle boundary before analysis, register the exact code/environment files
|
|
1783
|
+
as scientific objects, then supply only the pending slots already named in the
|
|
1784
|
+
frozen design:
|
|
1785
|
+
|
|
1786
|
+
```bash
|
|
1787
|
+
tiangong-ai research schema show scientific-fulfillment --json
|
|
1788
|
+
tiangong-ai research scientific fulfillment status PROJECT --workspace /absolute/workspace --json
|
|
1789
|
+
tiangong-ai research scientific fulfillment record PROJECT \
|
|
1790
|
+
--input /absolute/fulfillment.json --workspace /absolute/workspace --json
|
|
1791
|
+
```
|
|
1792
|
+
|
|
1793
|
+
The closed input names `designSha256`, the exact `parentFulfillmentSha256`
|
|
1794
|
+
(`null` initially), a non-sensitive reason, and arrays `modelImplementations`,
|
|
1795
|
+
`environmentLocks`, and `parameterStates`. Model entries bind the registered
|
|
1796
|
+
`objectLocator`, raw `sha256`, registration `recordSha256`, and the declared
|
|
1797
|
+
`modelId`; implementations additionally supply `entrypoint`. Parameter entries
|
|
1798
|
+
name the existing `parameterId` and every exact `stateId`, its source-derived
|
|
1799
|
+
`value`, and admitted `evidenceAtomIds` from the frozen typed-content snapshot.
|
|
1800
|
+
Units, state sets, ranges, factors, composition, claims, thresholds and Policy
|
|
1801
|
+
cannot be changed through this intake. At least one pending slot is required.
|
|
1802
|
+
|
|
1803
|
+
Identical replay returns the same immutable record. Replacing an already-frozen
|
|
1804
|
+
slot, guessing a parent, an active native session, or analysis/inference already
|
|
1805
|
+
started is refused. The journal is the commit point; interrupted state projection
|
|
1806
|
+
uses the same narrow recovery mechanism as acquisition/scope revisions.
|
|
1807
|
+
|
|
1808
|
+
Only the fulfillment's due gate and later scientific gates are reset; earlier
|
|
1809
|
+
reviews remain bound to their unchanged deadline-specific design view. New review
|
|
1810
|
+
packets include the original design, the exact fulfillment chain, the effective
|
|
1811
|
+
view and registered code/environment bytes. Filing objects does **not** mark the
|
|
1812
|
+
original Policy rule scientifically satisfied or certify code execution. The
|
|
1813
|
+
existing independent reviewer must assess the actual objects and rule. Portable
|
|
1814
|
+
audits retain the raw objects and registration metadata and verify the committed
|
|
1815
|
+
fulfillment head, slot semantics and current review view after relocation.
|
|
1816
|
+
|
|
1447
1817
|
### Original task, current scope, and actual checks
|
|
1448
1818
|
|
|
1449
1819
|
For a new research project, record a small original-requirement checklist after
|
|
@@ -1462,6 +1832,17 @@ Each requirement has a stable ID, acceptance condition, `checkKind` (`evidence`,
|
|
|
1462
1832
|
coverage dimensions. Original wording cannot be overwritten. Old projects without
|
|
1463
1833
|
a task remain explicitly unassessed rather than retrospectively accepted.
|
|
1464
1834
|
|
|
1835
|
+
Optional `requestProvenance` supplies `mode` (`verbatim`, `interpreted`, or
|
|
1836
|
+
`reconstructed`), `source` (`kind: user-message|user-file`, exact `text`, `locator`
|
|
1837
|
+
or null), and `explanation`. A null source is valid only for reconstruction.
|
|
1838
|
+
Verbatim source text must equal `originalRequest` exactly, including BOM and line
|
|
1839
|
+
endings. Source bytes are immutable; locator values are retained only by hash.
|
|
1840
|
+
Missing provenance is explicitly `unrecorded`, never inferred retroactively.
|
|
1841
|
+
Scope changes and forks preserve it. Declared origin is not authenticated authorship;
|
|
1842
|
+
secrets are rejected before admission.
|
|
1843
|
+
Scientific review also stages the exact supplied request-source object, so its
|
|
1844
|
+
original bytes are available through the same packet-only read channel as its hash.
|
|
1845
|
+
|
|
1465
1846
|
Before analysis, use `research schema show task-scope-change` and
|
|
1466
1847
|
`project task scope propose PROJECT --input FILE --expected-contract SHA` to
|
|
1467
1848
|
propose a change. Review the returned `changes.details` before/after values, then
|
|
@@ -1479,17 +1860,57 @@ between native stages. Records bind the exact requirement version, source/atom/
|
|
|
1479
1860
|
finding IDs, and explicitly selected bounded UTF-8 result files. The declared
|
|
1480
1861
|
command is stored only by hash and is **not executed by this command**. Raw result
|
|
1481
1862
|
bytes are copied into immutable hash-addressed objects; secrets and control-store
|
|
1482
|
-
sources are rejected.
|
|
1483
|
-
|
|
1484
|
-
|
|
1863
|
+
sources are rejected. A reported computation without an observed run remains
|
|
1864
|
+
`unverified-execution`, not an answered computational requirement. Failed,
|
|
1865
|
+
inconclusive and not-run checks remain honest without invented results. Evidence
|
|
1866
|
+
and proof checks need no fabricated computation. All records say
|
|
1867
|
+
`trust=native-observation`, `executionCertified=false`.
|
|
1868
|
+
|
|
1869
|
+
For an actual calculation, the native host authors and reviews one ordinary
|
|
1870
|
+
Node/Python program and explicitly requests observation:
|
|
1871
|
+
|
|
1872
|
+
```bash
|
|
1873
|
+
tiangong-ai research schema show task-native-run --json
|
|
1874
|
+
tiangong-ai research project task run observe PROJECT \
|
|
1875
|
+
--input /absolute/native-run.json --confirm-execution --workspace /absolute/workspace --json
|
|
1876
|
+
tiangong-ai research project task run inspect PROJECT --run RUN_ID \
|
|
1877
|
+
--workspace /absolute/workspace --json
|
|
1878
|
+
```
|
|
1485
1879
|
|
|
1486
|
-
|
|
1880
|
+
The closed request binds the computational requirement version, explicit
|
|
1881
|
+
interpreter, script, environment-lock declaration, current acquisition artifact
|
|
1882
|
+
IDs/hashes, unique output filenames, non-secret arguments and finite timeout.
|
|
1883
|
+
Use `{input:ID}` / `{output:ID}` placeholders rather than host paths in arguments,
|
|
1884
|
+
and name `nativeSessionId` when a producer stage is active. The CLI snapshots
|
|
1885
|
+
inputs and plans exact output paths before invoking the ordinary program. It
|
|
1886
|
+
adds no permission bypass or dependency installation, forwards no provider
|
|
1887
|
+
credentials and launches no reasoning agent. The workspace lease is released
|
|
1888
|
+
during computation. Program authoring and scientific decisions remain native.
|
|
1889
|
+
|
|
1890
|
+
The returned record binds runtime/code/input/output bytes, process exit/signal
|
|
1891
|
+
and time. Use `nativeRunSha256` at acceptance; those results come only from that
|
|
1892
|
+
run, not a directory scan or unrelated external files. Success requires a zero
|
|
1893
|
+
exit, stable inputs and every declared output; failure/timeout/cancellation and
|
|
1894
|
+
missing or changed outputs remain nonpassing records. Committed replay does not
|
|
1895
|
+
run again. An incomplete interrupted run requires inspection and an explicitly
|
|
1896
|
+
new run ID, not automatic retry. `stagingDirectoryName` is only a safe relative
|
|
1897
|
+
local-inspection hint; permanent hash-bound objects carry audit authority.
|
|
1898
|
+
`observation=cli-observed-native-process` is not mathematical correctness or an
|
|
1899
|
+
authenticated execution certificate. The dependency lock is explicitly
|
|
1900
|
+
`declared-lock-not-attested`; no hermetic-environment claim is inferred.
|
|
1901
|
+
|
|
1902
|
+
One unchanged result blob is stored once and appears once in the reviewer directory. The
|
|
1487
1903
|
existing independent review receives the original request, original/current
|
|
1488
1904
|
requirements, exact checks and results, and returns a bound `taskAssessment`;
|
|
1489
1905
|
there is no additional default paid review round. Missing current checks stop
|
|
1490
1906
|
before review, and stale/failed/inconclusive checks cannot be promoted to answered.
|
|
1491
1907
|
Publication packets and portable audit verification retain these relationships;
|
|
1492
1908
|
hash integrity does not prove execution, scientific validity, or editorial acceptance.
|
|
1909
|
+
Native and scientific packets stage observed programs, locks, inputs and outputs
|
|
1910
|
+
for exact on-demand inspection. Portable audit checks native start/completion
|
|
1911
|
+
events, requirement versions and all run objects. It also replays read selectors
|
|
1912
|
+
against the exact stored object, directory and packet/delivery records; a rehashed
|
|
1913
|
+
outer inventory cannot hide missing program bytes or a changed read receipt.
|
|
1493
1914
|
|
|
1494
1915
|
`project task status` and each `research run` project summary report original and
|
|
1495
1916
|
current task completion separately from workflow completion and publication verdict.
|
|
@@ -1497,6 +1918,107 @@ A completed workflow or approved reduced scope must not be described as satisfyi
|
|
|
1497
1918
|
unanswered original requirements. Use the selected runtime's help/schema discovery
|
|
1498
1919
|
once before adopting these commands; they are not an implicit runtime upgrade.
|
|
1499
1920
|
|
|
1921
|
+
Native producer stage packets preserve the original `taskContract` and also
|
|
1922
|
+
carry `taskAcceptance`, compiled from the same authoritative check view used by
|
|
1923
|
+
status/review. Recorded, failed, stale and unanswered rows remain distinct. The
|
|
1924
|
+
packet artifact directory exposes `inputs/task-acceptance.json` and its exact
|
|
1925
|
+
check result files for on-demand reading, including non-calculation results.
|
|
1926
|
+
Compilation occurs during fresh preparation; replay returns the existing packet.
|
|
1927
|
+
A recorded check still requires the existing independent review for acceptance.
|
|
1928
|
+
|
|
1929
|
+
## Bounded computational investigations
|
|
1930
|
+
|
|
1931
|
+
Use an investigation for a still-unanswered computational requirement when the
|
|
1932
|
+
native producer needs several diagnostic attempts over fixed acquired inputs.
|
|
1933
|
+
The native host supplies hypotheses, programs, configuration choices and
|
|
1934
|
+
interpretation; the CLI observes individual calculations and records their
|
|
1935
|
+
relationships. It does not launch another producer or retry loop.
|
|
1936
|
+
|
|
1937
|
+
Discover the exact selected CLI's closed schemas first:
|
|
1938
|
+
|
|
1939
|
+
```bash
|
|
1940
|
+
tiangong-ai research schema show investigation --json
|
|
1941
|
+
tiangong-ai research schema show investigation-attempt --json
|
|
1942
|
+
tiangong-ai research schema show investigation-candidate --json
|
|
1943
|
+
tiangong-ai research schema show investigation-promotion --json
|
|
1944
|
+
tiangong-ai research schema show investigation-close --json
|
|
1945
|
+
```
|
|
1946
|
+
|
|
1947
|
+
An envelope binds the requirement, Policy/design and acquisition versions, exact
|
|
1948
|
+
canonical input hashes, existing Node/Python runtimes, program and environment
|
|
1949
|
+
bytes, allowed numerical options and required diagnostic metrics/status fields.
|
|
1950
|
+
Configure the numeric project budget before approval. Limits include maximum
|
|
1951
|
+
runs, cumulative/per-run wall time, cost allocations, per-run `maxOutputBytes`
|
|
1952
|
+
and cumulative `maxTotalOutputBytes`. The per-run byte limit is at most 512 MiB.
|
|
1953
|
+
A read-only plan starts no program; approval requires its exact hash and the
|
|
1954
|
+
actual supplied authorization text:
|
|
1955
|
+
|
|
1956
|
+
```bash
|
|
1957
|
+
tiangong-ai research project investigation plan PROJECT --input /absolute/envelope.json --json
|
|
1958
|
+
tiangong-ai research project investigation approve PROJECT --input /absolute/envelope.json --confirm PLAN_SHA256 --authorization-source /absolute/approval.txt --json
|
|
1959
|
+
tiangong-ai research project investigation attempt PROJECT --input /absolute/attempt.json --json
|
|
1960
|
+
tiangong-ai research project investigation status PROJECT --investigation INVESTIGATION_ID --json
|
|
1961
|
+
```
|
|
1962
|
+
|
|
1963
|
+
Add `--workspace /absolute/research` when operating outside the selected research
|
|
1964
|
+
workspace. Use a separate scratch directory outside that workspace. Calculation
|
|
1965
|
+
confinement denies host network access and workspace reads, makes runtime roots
|
|
1966
|
+
read-only, and allows capsule writes. An unsupported boundary is refused before
|
|
1967
|
+
execution. Environment locks remain declarations, not dependency attestation;
|
|
1968
|
+
programs that require installation or broader capabilities need a separately
|
|
1969
|
+
reviewed scope.
|
|
1970
|
+
|
|
1971
|
+
Within the approved envelope, attempts need no repeated owner approval. Each
|
|
1972
|
+
records a hypothesis, parent attempt (the previous committed attempt by default,
|
|
1973
|
+
or explicit `parentAttemptId`), configuration changes, exact results and bounded
|
|
1974
|
+
logs. Missing declared solver telemetry is diagnostic-incomplete. Process or
|
|
1975
|
+
solver failures remain diagnostic observations, not scientific answers.
|
|
1976
|
+
|
|
1977
|
+
Output accounting includes stdout/stderr and the observed high-water sizes of
|
|
1978
|
+
declared output files, including the runtime probe. Streams are checked as they
|
|
1979
|
+
arrive; files are checked periodically and at completion. Observed overshoot is
|
|
1980
|
+
retained honestly; this is not a quota on every temporary filesystem write.
|
|
1981
|
+
Exceeding the byte budget terminates the calculation, prevents result admission
|
|
1982
|
+
and stops further attempts under that envelope. Unknown cost remains unknown;
|
|
1983
|
+
software accounting retains the approved upper-bound allocation.
|
|
1984
|
+
|
|
1985
|
+
An identical committed attempt returns its original result. An unresolved start
|
|
1986
|
+
keeps its reservation and cannot be blindly replayed or replaced. A one-shot
|
|
1987
|
+
process guard retains the deadline independently of the observer and terminates
|
|
1988
|
+
the calculation if that observer disconnects; missing durable results remain
|
|
1989
|
+
unresolved rather than being reconstructed as success. Status exposes current
|
|
1990
|
+
authority, reservations and the permitted next action. Unresolved attempt status
|
|
1991
|
+
and promoted `task run inspect` also check the local supervisor process identity;
|
|
1992
|
+
a missing or mismatched process never establishes completion or permits retry.
|
|
1993
|
+
These local coordinates stay outside portable audit records. `select` records a
|
|
1994
|
+
candidate; `close` records why investigation stopped and releases unused cost
|
|
1995
|
+
allocation while preserving history. It refuses closure with unresolved work.
|
|
1996
|
+
|
|
1997
|
+
```bash
|
|
1998
|
+
tiangong-ai research project investigation select PROJECT --input /absolute/selection.json --json
|
|
1999
|
+
tiangong-ai research project investigation close PROJECT --input /absolute/closure.json --json
|
|
2000
|
+
tiangong-ai research project investigation promotion plan PROJECT --input /absolute/promotion.json --json
|
|
2001
|
+
tiangong-ai research project investigation promotion approve PROJECT --input /absolute/promotion.json --confirm PLAN_SHA256 --authorization-source /absolute/promotion-approval.txt --json
|
|
2002
|
+
```
|
|
2003
|
+
|
|
2004
|
+
Promotion approval alone does not freeze scientific objects or satisfy the task.
|
|
2005
|
+
Use existing scientific object registration and fulfillment for predeclared
|
|
2006
|
+
pending slots, or a separately approved authoritative successor for a changed
|
|
2007
|
+
frozen design. Then supply `investigationPromotionSha256` in a new `task run
|
|
2008
|
+
observe` request using the exact frozen recipe. That approval admits one fresh
|
|
2009
|
+
certification; a failed or unresolved certification does not authorize another.
|
|
2010
|
+
A candidate or older ordinary run cannot substitute for it. A passed observation
|
|
2011
|
+
can enter task-check records, with the existing independent review still required
|
|
2012
|
+
before the task is answered.
|
|
2013
|
+
|
|
2014
|
+
Portable audits retain the investigation, attempt, candidate, promotion,
|
|
2015
|
+
certification and closure relationships. A successor includes the explicitly
|
|
2016
|
+
referenced source investigation's immutable records and blobs, excluding local
|
|
2017
|
+
routing and unrelated investigations. Verification reconstructs the scientific
|
|
2018
|
+
view at promotion and certification start, so a later freeze cannot retroactively
|
|
2019
|
+
certify an earlier run. Hash/relationship verification does not
|
|
2020
|
+
establish authorship, hermetic execution or scientific truth.
|
|
2021
|
+
|
|
1500
2022
|
## Research Search
|
|
1501
2023
|
|
|
1502
2024
|
Forward research-oriented search requests to SCI, report, patent, and ESG edge
|