@vela-science/canopus 0.5.0 → 0.5.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.5.1 - 2026-07-20
4
+
5
+ - Preserve exact pending-result replay roots instead of recomputing a receipt
6
+ projection with incomplete post-run state.
7
+ - Keep the published `0.5.0` package and failed post-publication workflow as
8
+ audit evidence; `0.5.1` is the corrected default install target.
9
+
3
10
  ## 0.5.0 - 2026-07-20
4
11
 
5
12
  - Compose against released Vela 0.911.0 and surface configured, available, and
package/README.md CHANGED
@@ -38,8 +38,8 @@ Mission → GPT-5.6 → artifact → verifier → Receipt → Defer.
38
38
  **90 seconds — inspect the shipped product:**
39
39
 
40
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
+ bunx @vela-science/canopus@0.5.1 --version
42
+ bunx @vela-science/canopus@0.5.1 profile validate sidon-a24-at-least-7194-gpt56-v3
43
43
  ```
44
44
 
45
45
  **Full workflow — reproduce without rebuilding Canopus:**
@@ -56,22 +56,22 @@ vela reproduce .
56
56
  Run the provenance-backed public package with Bun:
57
57
 
58
58
  ```sh
59
- bunx @vela-science/canopus@0.5.0 --version
59
+ bunx @vela-science/canopus@0.5.1 --version
60
60
  ```
61
61
 
62
62
  Inspect a clean frontier, then run its first ranked producer offer:
63
63
 
64
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
65
+ bunx @vela-science/canopus@0.5.1 doctor /path/to/frontier
66
+ bunx @vela-science/canopus@0.5.1 run /path/to/frontier --first
67
+ bunx @vela-science/canopus@0.5.1 inspect latest
68
+ bunx @vela-science/canopus@0.5.1 replay /path/to/run.json
69
69
  ```
70
70
 
71
71
  Use `--no-land` for a diagnostic mission that cannot change the source frontier:
72
72
 
73
73
  ```sh
74
- bunx @vela-science/canopus@0.5.0 run /path/to/frontier --first --no-land
74
+ bunx @vela-science/canopus@0.5.1 run /path/to/frontier --first --no-land
75
75
  ```
76
76
 
77
77
  `doctor` binds the exact Vela, Codex, Git, frontier, packet, profile, and verifier
@@ -16,6 +16,9 @@ function publicCaveat(value) {
16
16
  }
17
17
  return value;
18
18
  }
19
+ function shellArgument(value) {
20
+ return `'${value.replaceAll("'", `'"'"'`)}'`;
21
+ }
19
22
  export function projectPublicRun(options) {
20
23
  const { record, mission } = options;
21
24
  if (mission.schema !== "canopus.mission.v1") {
@@ -91,7 +94,7 @@ export function projectPublicRun(options) {
91
94
  `git clone ${repository.url}.git`,
92
95
  `cd ${repository.directory}`,
93
96
  `git checkout ${record.final_roots.git_commit}`,
94
- "vela reproduce .",
97
+ ...mission.allowed_paths.map((artifact) => `vela reproduce ${shellArgument(artifact)}`),
95
98
  ],
96
99
  },
97
100
  nonclaims: [
@@ -6,6 +6,12 @@ import { parseCandidate } from "../contracts/candidate.js";
6
6
  function unique(values) {
7
7
  return [...new Set(values)];
8
8
  }
9
+ function finalizeWorkerCaveat(value) {
10
+ if (/verif(?:y|ication|ier).*(?:pending|has not run)|pending.*verif(?:y|ication|ier)/iu.test(value)) {
11
+ return "The worker handed off without verifier authority; Canopus subsequently recorded the separate verifier outcome.";
12
+ }
13
+ return value;
14
+ }
9
15
  export function finalizeCandidate(options) {
10
16
  const draftPaths = options.engine.draft.artifacts.map((artifact) => `${artifact.path}:${artifact.kind}`).sort();
11
17
  const supporting = new Map((options.supportingArtifacts ?? []).map((entry) => [entry.path, entry.kind]));
@@ -34,7 +40,7 @@ export function finalizeCandidate(options) {
34
40
  ? `The engine proposed a candidate, but the declared verifier did not pass: ${options.engine.draft.claim}`
35
41
  : exactPositiveClaim ?? options.engine.draft.claim;
36
42
  const caveats = unique([
37
- ...options.engine.draft.caveats,
43
+ ...options.engine.draft.caveats.map(finalizeWorkerCaveat),
38
44
  `Declared verifier outcome: ${options.verifier.status}.`,
39
45
  "Canopus produced this record; it is not a human acceptance decision.",
40
46
  ]);
@@ -44,7 +44,10 @@ canopus public-run /local/run/run.json \
44
44
  `canopus.public-run.v1` contains only mission and model identity, a bounded
45
45
  activity summary, claim and caveats, artifact/verifier/Receipt roots, route,
46
46
  accepted delta, usage, source/final commits, and clean-clone reproduction
47
- commands. It cannot export a failed or admitted run. Never publish the raw run
47
+ commands. Those public commands target the mission's exact allowed artifact
48
+ paths; they do not substitute frontier-wide accepted-state replay for
49
+ verification of a pending artifact. It cannot export a failed or admitted run.
50
+ Never publish the raw run
48
51
  directory, isolated homes, authentication, private paths, or unrestricted logs.
49
52
 
50
53
  The run root also contains isolated checkouts and content-addressed artifacts.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vela-science/canopus",
3
- "version": "0.5.0",
3
+ "version": "0.5.1",
4
4
  "description": "A bounded, replaceable research harness over released Vela interfaces",
5
5
  "type": "module",
6
6
  "private": false,