@vela-science/canopus 0.4.5 → 0.5.0

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/BUILD_WEEK.md CHANGED
@@ -9,116 +9,115 @@
9
9
  - **Repository:** <https://github.com/vela-science/vela-research-harness>
10
10
  - **Live evidence:** <https://app.vela.space/build-week>
11
11
 
12
- The OpenAI Build Week submission period began July 13, 2026 at 9:00 a.m.
13
- Pacific and ends July 21, 2026 at 5:00 p.m. Pacific. Canopus did not exist at
14
- the start of that period. Its first commit,
12
+ The submission period began July 13, 2026 at 9:00 a.m. Pacific and ends July
13
+ 21 at 5:00 p.m. Pacific. Canopus did not exist at the start. Its first commit,
15
14
  `9d95924f27842ceb14a45bb0ecaf5a777c3b2736`, was created July 15 at 11:05
16
15
  p.m. Toronto time.
17
16
 
18
17
  ## Baseline and Build Week delta
19
18
 
20
- The pre-existing substrate is distinguished from the submitted work:
21
-
22
- | Repository or layer | Submission-period baseline | Build Week contribution |
19
+ | Layer | Submission-period baseline | Build Week contribution |
23
20
  | --- | --- | --- |
24
- | Canopus | none | Entire bounded runner, custody boundary, verifier separation, npm package, retained runs, public projection, and advisory audit |
25
- | Vela protocol | `26386aef9126594c27888d511b76ad65a8d56870` | Released Vela 0.910.0 is consumed through existing public interfaces; Canopus changes no protocol, Receipt, policy, or authority primitive |
26
- | Erdős frontier | `a143c351f8488e0c621598307e248373d9dc3374` | Retains the exact bounded 1056 artifact, Receipt, Defer proposal, and replayable final commit used by the demo |
27
- | Vela Observatory | `37eca05ae3bc1e2f2832ed99c58ba9fdc4bd1787` | Adds a pinned public-run type, retained-run detail route, and stable anonymous `/build-week` evidence page |
28
-
29
- Canopus releases `0.1.0` through `0.4.3` and their dated commits were all made
30
- during the submission period. Version `0.4.4` advances the product and CI pin
31
- to Vela 0.910.0, adds the GPT-5.6 formal registration, preserves the exact
32
- GPT-5.4 registration from `v0.4.3`, and adds the sanitized public projection
33
- and claim-fidelity fallback. Version `0.4.5` changes documentation only to
34
- identify the retained worker and verifier chain precisely; all evidence roots
35
- and runtime behavior remain those of 0.4.4.
36
-
37
- ## Exact evidence used by the submission
38
-
39
- ### Retained bounded research result
40
-
41
- The successful research example is the existing Canopus Erdős 1056 run. Its
42
- worker used GPT-5.4; the separate Build Week advisory below is the GPT-5.6
43
- addition over its immutable evidence.
44
-
45
- - Run: `run_eb6bcd46-cffd-4ae8-b630-2681bd84da71`
46
- - Mission: `mission_erdos1056_k15_range_10428401_10428600_native1`
47
- - Target: `erdos:1056`
48
- - Activity: worker success; verifier pass; clean-clone replay matched
49
- - Bounded range: `10428401..10428600`; 15 primes tested
50
- - Maximum multiplicity: 12 at `p=10428581`, residue `5141590`
51
- - Artifact root: `sha256:79370d5243095f28e65c218f3d5dc4710802e4dbe462fcfff1a35a8697a6f225`
52
- - Verifier root: `sha256:6d3f61b9111fde87d57340404ad5b7561a4aa777ce54c8bf639d081c216cb165`
53
- - Receipt root: `sha256:263506aae0144fb2aa4784ff9c145c6c41886b2956191c6458214cedd0bfd4aa`
21
+ | Canopus | none | Entire bounded runner, worker custody boundary, verifier separation, npm package, retained runs, public projection, and evidence workflow |
22
+ | Vela protocol | `26386aef9126594c27888d511b76ad65a8d56870` | Released Vela 0.910.0 is consumed without changing its protocol, Receipt, policy, or authority interfaces |
23
+ | Sidon frontier | `5f138a51a6c8723d5a85ff0ffc265728c2c33c6e` | A root-bound GPT-5.6 target, a new 7,194-point witness, frozen verification, Receipt, Defer proposal, and replayable final commit |
24
+ | Vela Observatory | `37eca05ae3bc1e2f2832ed99c58ba9fdc4bd1787` | A pinned public-run type, retained-run detail route, and stable anonymous `/build-week` evidence page |
25
+
26
+ Canopus versions `0.1.0` through `0.4.6` were built during the submission
27
+ period. Version `0.4.6` adds the successful GPT-5.6 Sidon profile and evidence,
28
+ secure workspace-backed artifact retention, and the exact private Vela work
29
+ session handoff required to carry a large scientific artifact through Defer.
30
+
31
+ ## Primary GPT-5.6 scientific result
32
+
33
+ ### What is new
34
+
35
+ GPT-5.6 found an explicit Sidon subset of `{0,1}^24` with **7,194 points**.
36
+ Every one of its `7,194 × 7,195 / 2 = 25,880,415` unordered componentwise
37
+ integer pair sums is distinct. This advances the repository's mechanically
38
+ verified but unaccepted 7,193-point seed by one point, establishing the bounded
39
+ candidate lower bound `a(24) 7,194`. The accepted Vela state remains at its
40
+ prior human-authorized lower bound; the new result is pending review.
41
+
42
+ The discovery occurred in bounded run
43
+ `run_230412bc-01f4-4805-9152-7fc8f8a5b8e0`. GPT-5.6 designed and executed an
44
+ exact exchange search, removed zero-based baseline point 72, and added the
45
+ 24-bit points `970f25` and `246891`. It independently enumerated all
46
+ 25,880,415 sums. That run then failed closed because the 359 KB artifact
47
+ remained in its transient worker workspace instead of crossing the artifact
48
+ freeze boundary. It produced no Receipt and changed no frontier state.
49
+
50
+ Canopus `0.4.6` repairs that product boundary without widening custody. A
51
+ workspace-backed artifact is accepted only from its exact allowlisted path,
52
+ must remain inside the sealed worker workspace, must be one regular singly
53
+ linked file, must fit the mission byte budget, must be valid UTF-8, and is
54
+ scanned for authentication material before being frozen. Symlinks, hardlinks,
55
+ escapes, missing or empty files, invalid bytes, oversize files, and unrelated
56
+ Git changes fail closed.
57
+
58
+ ### Completed primary run
59
+
60
+ - Run: `run_f68e4cfc-e5c7-4c73-86cb-d79807c47ec4`
61
+ - Mission: `mission_sidon_a24_at_least_7194_gpt56_v3`
62
+ - Profile: `sidon-a24-at-least-7194-gpt56-v3`
63
+ - Model: `gpt-5.6-sol`
64
+ - Target packet root: `sha256:09977a08357cbe240c5a7f5c3ea8e5c7055d6b5d71bcfb5f947b49accee1a3a8`
65
+ - Profile root: `sha256:3b529df4304b96890cdd7eed5f90fd862422b8b1e7b4da1cef0a478e6e7cdebe`
66
+ - Worker: success
67
+ - Artifact: 359,754 bytes at `sha256:878b05e01dbc4a785e5a671f977509f0bb338dfcb58ac53bf03d47bf6465f01e`
68
+ - Frozen verifier: pass in a network-denied, read-only Linux capsule
69
+ - Verifier root: `sha256:89130864b3ca4f354673416d4352616265b1e3dc25147a4ae91bbbf3874fbff8`
70
+ - Receipt root: `sha256:91b9f0c72e2934d3f98a34de93b61a168c8a9ff560a18a63ff4a1ee6ae2f897c`
71
+ - Evidence root: `sha256:072d5d45501fdf4fdae0481230e8b61536afbd4b02a097360bf9583a4c993a56`
72
+ - Proposal: `vpr_491cc97cfdfe98ff`
54
73
  - Route: `defer`
55
74
  - Accepted-state delta: `0`
56
- - Final frontier commit: `807f0a8f770cfed05ac0dff00b952dc41052a720`
57
- - Public projection root: `sha256:056d7a3d9ba8d5fb682b6271e73616bff72cd9fa11f62f1ac93d76e89a699350`
75
+ - Clean-clone replay: matched
76
+ - Final frontier commit: `4289e05876f142e72af622672e190be26f6a6f1d`
77
+ - Usage: 105,553 observed tokens, 88.131 seconds, 7 research processes, 1 attempt
78
+ - Public projection root: `sha256:cf2c2ed8d54f68b8adca94f25f7ff2adcb39501fb2e68fa0b5640403dba5266e`
58
79
 
59
- The generated, sanitized projection is
60
- [`evidence/build-week/run_eb6bcd46-cffd-4ae8-b630-2681bd84da71.public.json`](evidence/build-week/run_eb6bcd46-cffd-4ae8-b630-2681bd84da71.public.json).
80
+ The generated sanitized projection is
81
+ [`evidence/build-week/run_f68e4cfc-e5c7-4c73-86cb-d79807c47ec4.public.json`](evidence/build-week/run_f68e4cfc-e5c7-4c73-86cb-d79807c47ec4.public.json).
61
82
  It contains no raw worker events, isolated home, authentication, private path,
62
83
  or unrestricted log.
63
84
 
64
- ### GPT-5.6 claim-fidelity advisory
65
-
66
- The fallback registration uses `gpt-5.6-sol` once, without tools, over the
67
- immutable run, artifact, and five final Vela roots. Deterministic replay binds
68
- the schema, roots, artifact, and numeric correspondences. Language and
69
- publication recommendations are explicitly labeled `model_assessment`.
70
-
71
- - Registration: `erdos1056-run-eb6b-claim-fidelity-gpt56`
72
- - Registration root: `sha256:371390871e1a371207e3de797e45989e84bbb766e07afdab5d47fdb3536f2c1b`
73
- - Output-schema root: `sha256:874c61b6fbd44a2bcb68cde8b5a9a89b74f6d00f3d9a9723cb67c682bd64e045`
74
- - Assessment root: `sha256:9205390df001a428b4b3e2fbb0a855e9f1061754b3f87771a85fc7328824ed1f`
75
- - Deterministic checks: source run, all five roots, artifact root, all six
76
- numeric correspondences, and the verifier/acceptance distinction pass
77
- - Model assessment: no universal claim; no “solved” language; publishable only
78
- with the bounded-result and non-acceptance caveats
79
- - Scientific state landed: `false`
80
-
81
- See the [registration](advisories/erdos1056-claim-fidelity/registration.json),
82
- [assessment](advisories/erdos1056-claim-fidelity/results/assessment.json), and
83
- [verification](advisories/erdos1056-claim-fidelity/results/verification.json).
84
-
85
- ### Formal GPT-5.6 fail-closed case
86
-
87
- The active `formal-erdos-505-test-dim-one-gpt56` profile binds
88
- `gpt-5.6-sol`, profile root
89
- `sha256:e2330e477bdab48aede90512b4cf3f86cccda5fa014b4e64edfed23797f8e254`,
90
- the frozen Lean 4.27.0 capsule, one proof-term artifact, expected route Defer,
91
- and maximum accepted-state delta zero.
92
-
93
- The preregistered attempt `run_4c2ba5f5-04ac-44d5-adb6-8937eb2ea165`
94
- produced candidate root
95
- `sha256:ef81cbf548d8a08e3811f0aa070b6ce0d58b52792f0bb56b5584dd806da4cb30`.
96
- The frozen verifier rejected an unsolved one-dimensional inverse goal and
97
- reported `sorryAx`, with stdout root
98
- `sha256:04e31b07889f94a1d205231942bf30fa6c3b27864520b6a42de58604da53e544`.
99
- Canopus stopped before landing. There is no Receipt, proposal, policy route,
100
- accepted-state delta, Git commit, or frontier mutation for this attempt. The
101
- raw failure directory is intentionally not published.
85
+ ## Secondary evidence
86
+
87
+ The earlier retained Erdős 1056 run remains a useful bounded-research example:
88
+
89
+ - Run `run_eb6bcd46-cffd-4ae8-b630-2681bd84da71`
90
+ - Artifact root `sha256:79370d5243095f28e65c218f3d5dc4710802e4dbe462fcfff1a35a8697a6f225`
91
+ - Verifier pass, Receipt `sha256:263506aae0144fb2aa4784ff9c145c6c41886b2956191c6458214cedd0bfd4aa`, Defer, accepted delta zero, and matched replay
92
+
93
+ The GPT-5.6 claim-fidelity advisory over that immutable run also remains
94
+ published as a non-authoritative `model_assessment`. Its deterministic checks
95
+ bind the source run, all five roots, artifact, numeric correspondences, and the
96
+ verifier-versus-acceptance distinction. It was not landed as scientific state.
97
+
98
+ The formal profile `formal-erdos-505-test-dim-one-gpt56` supplies the public
99
+ fail-closed counterexample. Run
100
+ `run_4c2ba5f5-04ac-44d5-adb6-8937eb2ea165` produced a candidate, but the
101
+ frozen Lean verifier rejected an unsolved inverse goal and `sorryAx`. Canopus
102
+ stopped before Receipt creation or frontier mutation.
102
103
 
103
104
  ## Reproduce without rebuilding Canopus
104
105
 
105
- The retained scientific-state transition needs only released Vela and the
106
- public frontier:
106
+ The primary state transition needs released Vela and the public frontier:
107
107
 
108
108
  ```bash
109
- git clone https://github.com/vela-science/erdos-frontier.git
110
- cd erdos-frontier
111
- git checkout 807f0a8f770cfed05ac0dff00b952dc41052a720
109
+ git clone https://github.com/vela-science/sidon-frontier.git
110
+ cd sidon-frontier
111
+ git checkout 4289e05876f142e72af622672e190be26f6a6f1d
112
112
  vela reproduce .
113
113
  ```
114
114
 
115
- To inspect the packaged product under Node 22 or 24 without rebuilding:
115
+ Inspect the packaged product under Node 22 or 24:
116
116
 
117
117
  ```bash
118
- npm install --global @vela-science/canopus@0.4.5
118
+ npm install --global @vela-science/canopus@0.4.6
119
119
  canopus --version
120
- canopus profile list
121
- canopus profile validate formal-erdos-505-test-dim-one-gpt56
120
+ canopus profile validate sidon-a24-at-least-7194-gpt56-v3
122
121
  ```
123
122
 
124
123
  Supported tool-using worker platforms are macOS arm64 and Linux x86-64,
@@ -127,27 +126,24 @@ replay surface and directs tool-using work into WSL2.
127
126
 
128
127
  ## Codex collaboration and human decisions
129
128
 
130
- Codex implemented and tested the harness, custody profiles, verifier routing,
131
- release automation, Vela 0.910.0 compatibility, public projection, GPT-5.6
132
- advisory, and evidence surface. The main Build Week completion task also used
133
- Codex to audit the live GitHub organization, verify official submission rules,
134
- run the exact custody preflight, execute the preregistered formal attempt, and
135
- diagnose its fail-closed result.
129
+ Codex implemented and tested Canopus, its custody profiles, verifier routing,
130
+ release automation, Vela 0.910.0 compatibility, public projection, and
131
+ evidence surface. In the primary task, Codex also registered the GPT-5.6 Sidon
132
+ mission, diagnosed two fail-closed handoff defects, implemented bounded
133
+ artifact retention, reran all gates, executed the completed mission, and
134
+ published the resulting pending frontier state.
136
135
 
137
- The human chose the product boundary, Developer Tools track, mission and
138
- fallback criteria, public presentation, and the rule that no model or Canopus
139
- process receives a human key. The human remains the only party that can make a
140
- protected scientific decision or submit the final Devpost entry. The private
141
- `/feedback` Session ID is kept in the submission checklist, not this repository.
136
+ The human chose the product boundary, Developer Tools track, mission target,
137
+ public presentation, and the rule that no model or Canopus process receives a
138
+ human key. The human remains the only party that can make a protected
139
+ scientific decision or submit the final Devpost entry. The private `/feedback`
140
+ Session ID is kept in the submission checklist, not this repository.
142
141
 
143
142
  ## Nonclaims
144
143
 
145
144
  - A verifier pass is not scientific acceptance.
146
- - The retained Erdős 1056 result covers one exact finite range; it does not
147
- solve Erdős 1056.
148
- - The rejected formal candidate does not prove the one-dimensional theorem or
149
- the general Erdős 505 statement.
150
- - The GPT-5.6 advisory is a non-authoritative model assessment and was not
151
- landed as scientific state.
152
- - Vela predates Build Week. The submission is the Canopus product and its
153
- Build Week additions, not the whole Vela ecosystem.
145
+ - The 7,194-point construction does not establish maximality, classification, or a world record.
146
+ - The accepted Vela state did not change; the proposal remains pending human review.
147
+ - The retained Erdős 1056 result covers one finite range and does not solve Erdős 1056.
148
+ - The rejected formal candidate does not prove the one-dimensional theorem or Erdős 505.
149
+ - Vela predates Build Week. The submission is Canopus and its Build Week additions, not the whole ecosystem.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.5.0 - 2026-07-20
4
+
5
+ - Compose against released Vela 0.911.0 and surface configured, available, and
6
+ leased producer work without treating a lease as an empty frontier.
7
+ - Restore the packaged quantum-codes profile, mission draft, and verifier
8
+ capsule so all four published frontiers have reproducible product coverage.
9
+ - Make Bun 1.3.12 the canonical development and public invocation path while
10
+ preserving the supported Node runtime for the installed package.
11
+ - Keep historical Build Week registrations and evidence byte-identical; this
12
+ release adds composition and usability, not scientific authority.
13
+
14
+ ## 0.4.6 - 2026-07-20
15
+
16
+ - Register and complete the GPT-5.6 Sidon mission that produces a new
17
+ 7,194-point construction in `{0,1}^24`, passes the frozen verifier, lands a
18
+ Receipt through Defer with accepted-state delta zero, and clean-clone replays
19
+ the same evidence.
20
+ - Retain large declared artifacts from their exact allowlisted worker path
21
+ before workspace cleanup. Reject path escapes, symlinks, hardlinks, empty or
22
+ missing files, oversize files, invalid UTF-8, and authentication material.
23
+ - Preserve the exact private Vela work-session capability needed by `vela land`
24
+ while the publication guard continues to reject every unrelated Git change.
25
+ - Ship both Sidon verifier capsules in the npm package and cover the package
26
+ allowlist with a regression test.
27
+ - Make the sanitized public projection target-neutral and distinguish a
28
+ worker-time verifier-pending handoff from the final recorded verifier pass.
29
+
3
30
  ## 0.4.5 - 2026-07-20
4
31
 
5
32
  - Correct the judge quickstart so the retained Erdős 1056 evidence chain is
package/README.md CHANGED
@@ -1,152 +1,135 @@
1
- # Canopus
1
+ <p align="center">
2
+ <img src="docs/assets/canopus-readme-hero.jpg" width="960" alt="Canopus carries one bounded target through an isolated Codex worker and separate verifier into a Receipt pending human review." />
3
+ </p>
2
4
 
3
- **Canopus: Bounded Research for Codex**
5
+ <p align="center"><strong>Bounded research for Codex.</strong></p>
4
6
 
5
- Give Codex a mission. Verify the work. Keep humans in authority.
7
+ <p align="center">
8
+ Give Codex one finite mission. Verify the artifact independently. Keep humans in authority.
9
+ </p>
6
10
 
7
- ## Build Week judge quickstart
11
+ <p align="center">
12
+ <a href="https://www.npmjs.com/package/@vela-science/canopus"><img alt="npm" src="https://img.shields.io/npm/v/@vela-science/canopus?style=flat-square&color=C9A664&labelColor=081224" /></a>
13
+ <a href="https://github.com/vela-science/vela-research-harness/actions/workflows/ci.yml"><img alt="CI" src="https://img.shields.io/github/actions/workflow/status/vela-science/vela-research-harness/ci.yml?branch=main&style=flat-square&label=build&labelColor=081224" /></a>
14
+ <a href="LICENSE-APACHE"><img alt="Apache-2.0 OR MIT" src="https://img.shields.io/badge/license-Apache--2.0%20OR%20MIT-4F8F8B?style=flat-square&labelColor=081224" /></a>
15
+ </p>
8
16
 
9
- 1. **20-second public demo:** open
10
- [app.vela.space/build-week](https://app.vela.space/build-week) to inspect the
11
- retained Mission → GPT-5.4 worker artifact → independent verifier → Vela
12
- Receipt → Defer chain, plus the separate GPT-5.6 formal fail-closed attempt
13
- and advisory audit. No account or rebuild is required.
14
- 2. **90-second package inspection:** install the provenance-backed release with
15
- `npm install --global @vela-science/canopus@0.4.5`, then run `canopus
16
- --version`, `canopus profile list`, and `canopus profile validate
17
- formal-erdos-505-test-dim-one-gpt56`.
18
- 3. **Full local workflow:** use the exact `doctor` and `run` commands below on
19
- a clean supported frontier checkout. The public run page includes a separate
20
- no-model `vela reproduce .` path for the retained evidence.
17
+ <p align="center">
18
+ <a href="https://app.vela.space/build-week">Live evidence</a> ·
19
+ <a href="BUILD_WEEK.md">Build Week record</a> ·
20
+ <a href="docs/MISSIONS.md">Missions</a> ·
21
+ <a href="docs/RUN_RECORD.md">Run records</a> ·
22
+ <a href="https://github.com/vela-science/vela">Vela</a>
23
+ </p>
21
24
 
22
- The Build Week delta, baseline commits, Codex collaboration, exact run roots,
23
- and nonclaims are recorded in [BUILD_WEEK.md](BUILD_WEEK.md).
25
+ Canopus is a removable producer over released Vela and Git. It gives Codex one
26
+ exact work offer, freezes the result, runs a separate verifier, and can land a
27
+ Receipt through `vela land`.
24
28
 
25
- Canopus is a bounded research runner over released Vela and Git interfaces. It
26
- selects an exact Vela work offer, gives a finite mission to a tool-enabled Codex
27
- worker, freezes the output, runs an independent verifier container, and may land
28
- a Receipt v1 through `vela land`.
29
+ It cannot sign, accept a proposal, or make a scientific decision. Removing
30
+ Canopus does not change accepted state or Vela replay.
29
31
 
30
- Canopus cannot sign, accept a proposal, or make a scientific decision. A
31
- verifier-passing landing remains `Deferred` or `pending_review` unless an
32
- already-signed Vela policy says otherwise. Removing Canopus does not change Vela
33
- replay or accepted state.
32
+ ## Judge quickstart
34
33
 
35
- ## Product workflow
34
+ **20 seconds — inspect the real result:** open the anonymous
35
+ [Build Week evidence page](https://app.vela.space/build-week) and follow
36
+ Mission → GPT-5.6 → artifact → verifier → Receipt → Defer.
36
37
 
37
- Canopus 0.4.5 targets checksum-pinned Vela 0.910.0. Install the released CLI:
38
+ **90 seconds inspect the shipped product:**
38
39
 
39
- ```bash
40
- npm install --global @vela-science/canopus
40
+ ```sh
41
+ bunx @vela-science/canopus@0.5.0 --version
42
+ bunx @vela-science/canopus@0.5.0 profile validate sidon-a24-at-least-7194-gpt56-v3
41
43
  ```
42
44
 
43
- Its ordinary path is:
45
+ **Full workflow reproduce without rebuilding Canopus:**
44
46
 
45
- ```bash
46
- canopus doctor /path/to/frontier
47
- canopus run /path/to/frontier --first
48
- canopus inspect latest
49
- canopus replay /path/to/run.json
50
- canopus withdraw /path/to/frontier --run latest --reason "superseded"
47
+ ```sh
48
+ git clone https://github.com/vela-science/sidon-frontier.git
49
+ cd sidon-frontier
50
+ git checkout 4289e05876f142e72af622672e190be26f6a6f1d
51
+ vela reproduce .
51
52
  ```
52
53
 
53
- `doctor` discovers and binds Vela, Codex, Git, Docker, the clean frontier roots,
54
- the first Vela producer offer, and a registered verifier profile. It also runs
55
- the same generated-canary native custody preflight required by `run`; native
56
- Windows reports the WSL2 handoff instead of claiming mission readiness. `run`
57
- uses the first offer unless an exact registered target is requested. It refuses
58
- dirty frontiers, drifted binaries or roots, missing verifier images,
59
- cloud-synced output paths, and unregistered targets.
60
- `inspect latest` selects the newest completed or safely stopped run. Failed-run
61
- projections state whether landing was never attempted or whether retained
62
- landing-recovery evidence must be inspected; they never infer an unchanged
63
- frontier from process failure alone. Withdrawal's `latest` selector remains
64
- limited to completed, proposal-bearing runs.
65
-
66
- The native Codex worker runs under a bundled default-deny profile with only the
67
- target workspace and required compiler files exposed. macOS uses Seatbelt;
68
- Linux and WSL2 use Codex's Bubblewrap sandbox. Native Windows supports the
69
- read-only product surface and directs tool-using runs to WSL2 before creating
70
- run output or probing credentials. Open WSL2, enter the frontier through its
71
- Linux path, and rerun the same `canopus run` command there. Authentication,
72
- human keys, unrelated repositories, browser/search/MCP/app surfaces,
73
- delegation, and command network access remain outside the worker boundary. The
74
- verifier runs separately with network and writes denied.
75
-
76
- A successful landing creates unsigned local Git commits and fast-forwards the
77
- source checkout only after verifier success and clean-clone reproduction. It
78
- does not push a remote. Use `--no-land` for a diagnostic run that leaves the
79
- source frontier unchanged.
80
-
81
- Profiles are Defer-only by default. A profile can request the policy lane only
82
- when it includes a closed positive result contract and binds the full target
83
- packet, profile, verifier capsule, and result-contract roots into the Receipt.
84
- Canopus does not decide whether that work is admitted: released Vela evaluates
85
- the exact signed policy, and any route, root, result class, or accepted-state
86
- delta outside the frozen profile stops the run.
87
-
88
- After a pending landing reproduces, Canopus retains only the exact
89
- Receipt-bound producer seed needed to withdraw that one proposal. The
90
- capability never enters worker, verifier, or run evidence. Withdrawal is
91
- explicit, runs in a disposable exact-head clone, proves the accepted scientific
92
- projection unchanged, fast-forwards the clean source, and then deletes the
93
- secret. A later human decision also consumes the now-useless secret.
94
-
95
- The installed product contains only the current active producer profiles:
96
-
97
- - `erdos1056-k15-10428401-10428600`
98
- - `formal-erdos-505-test-dim-one-gpt56`
99
-
100
- The Erdős capsule is a content-addressed static Linux binary for arm64 and
101
- x86-64. The formal capsule is a small reviewed shell edge over an immutable
102
- Linux-amd64 Lean image; Apple-silicon hosts bind Docker's exact amd64 emulation
103
- instead of relying on implicit platform selection.
104
- Completed and stopped profile registrations remain in Git and release evidence,
105
- not in default discovery or the installed package. The shared source and pinned
106
- build provenance remain available for reproducible rebuilding, but an installed
107
- product run does not require a cross-compiler.
108
-
109
- ## Advanced and historical interfaces
110
-
111
- Mission v1 remains the portable interface for preparing and validating a frozen
112
- bundle:
113
-
114
- ```bash
115
- canopus mission prepare path/to/draft.json \
116
- --source /clean/frontier --output /new/bundle --vela /path/to/vela \
117
- --codex /path/to/codex --verifier-image sha256:<image-root>
118
- canopus mission validate /new/bundle/mission.json
54
+ ## Quickstart
55
+
56
+ Run the provenance-backed public package with Bun:
57
+
58
+ ```sh
59
+ bunx @vela-science/canopus@0.5.0 --version
60
+ ```
61
+
62
+ Inspect a clean frontier, then run its first ranked producer offer:
63
+
64
+ ```sh
65
+ bunx @vela-science/canopus@0.5.0 doctor /path/to/frontier
66
+ bunx @vela-science/canopus@0.5.0 run /path/to/frontier --first
67
+ bunx @vela-science/canopus@0.5.0 inspect latest
68
+ bunx @vela-science/canopus@0.5.0 replay /path/to/run.json
119
69
  ```
120
70
 
121
- Closed profile v2 contracts have a separate advanced lifecycle:
71
+ Use `--no-land` for a diagnostic mission that cannot change the source frontier:
122
72
 
123
- ```bash
124
- canopus profile list
125
- canopus profile show erdos1056-k15-10428401-10428600
126
- canopus profile validate erdos1056-k15-10428401-10428600
127
- canopus profile pack erdos1056-k15-10428401-10428600 --output /new/profile-pack
128
- canopus profile validate formal-erdos-505-test-dim-one-gpt56
73
+ ```sh
74
+ bunx @vela-science/canopus@0.5.0 run /path/to/frontier --first --no-land
129
75
  ```
130
76
 
131
- Mission v0 and the stopped cold-use registrations remain available in Git for
132
- exact historical reproduction. Benchmark commands, compiled benchmark modules,
133
- registrations, and benchmark documentation are intentionally absent from the
134
- installed npm package.
77
+ `doctor` binds the exact Vela, Codex, Git, frontier, packet, profile, and verifier
78
+ roots. `run` refuses dirty frontiers, drifted roots, missing capsules, and
79
+ unregistered targets. It never silently skips the first ranked offer.
80
+
81
+ ## Custody and authority
82
+
83
+ | Surface | Can do | Cannot do |
84
+ | --- | --- | --- |
85
+ | Codex worker | Use tools inside one bounded workspace | Reach the network, host home, human keys, or verifier |
86
+ | Verifier | Read frozen candidate bytes and declared inputs | Write, use the network, or make an authority decision |
87
+ | Canopus | Preserve evidence, replay, land a Receipt, withdraw its own proposal | Sign, accept, reject, or call verifier success acceptance |
88
+
89
+ The worker uses macOS Seatbelt or Codex's Bubblewrap sandbox on Linux and WSL2.
90
+ The verifier runs in a separate pinned container with network and writes denied.
91
+
92
+ ## Everyday commands
93
+
94
+ ```sh
95
+ canopus doctor [frontier]
96
+ canopus run [frontier] [--first | --target <id>] [--profile <name>] [--no-land]
97
+ canopus inspect [run.json | latest]
98
+ canopus replay <run.json>
99
+ ```
100
+
101
+ Advanced profile and withdrawal commands are documented in
102
+ [Missions](docs/MISSIONS.md). Installed profiles are closed,
103
+ content-addressed contracts that bind the target, packet, objective, artifact
104
+ types, worker, verifier, replay command, budgets, and landing ceiling.
105
+
106
+ ## OpenAI Build Week
107
+
108
+ Inspect the retained Mission → worker → artifact → verifier → Receipt → Defer
109
+ chain on the [live evidence surface](https://app.vela.space/build-week). Exact
110
+ commits, run roots, audit evidence, and nonclaims live in
111
+ [`BUILD_WEEK.md`](BUILD_WEEK.md).
135
112
 
136
113
  ## Development
137
114
 
138
- Requires Node 22 or 24, pnpm 10, Vela 0.910.0, Codex CLI 0.144.6, and Docker.
139
- Linux and WSL2 also require Bubblewrap. On Ubuntu 24.04, follow OpenAI's
140
- [targeted AppArmor setup](https://developers.openai.com/codex/concepts/sandboxing#prerequisites)
141
- for `bwrap-userns-restrict`; Canopus never disables the global unprivileged
142
- user-namespace restriction or falls back to an unsandboxed worker.
115
+ Requires Bun 1.3.12, Vela 0.911.0, Codex CLI 0.144.6, and Docker. The built
116
+ package also runs under Node 22 or 24; unsupported odd-numbered Node releases
117
+ are rejected rather than silently treated as supported.
143
118
 
144
- ```bash
145
- pnpm install
146
- pnpm check
147
- pnpm pack --dry-run
119
+ ```sh
120
+ bun install --frozen-lockfile
121
+ bun run check
122
+ bun run pack:check
148
123
  ```
149
124
 
150
- See [run records](docs/RUN_RECORD.md) for evidence and publication semantics,
151
- [mission roles](docs/MISSIONS.md) for the bounded jobs, [ADR 0001](docs/adr/0001-harness-boundary-and-name.md)
152
- for the deletion test, and [release evidence](docs/RELEASES.md) for exact roots.
125
+ ## Documentation
126
+
127
+ - [Missions and profiles](docs/MISSIONS.md)
128
+ - [Run records and publication](docs/RUN_RECORD.md)
129
+ - [Release evidence](docs/RELEASES.md)
130
+ - [Why the harness stays removable](docs/adr/0001-harness-boundary-and-name.md)
131
+
132
+ ## License
133
+
134
+ Apache-2.0 OR MIT, at your option. Canopus is a replaceable producer; Vela
135
+ remains the protocol and authority boundary.
File without changes