Assign packaged binaries to one Cargo package

This commit is contained in:
Meta Vens 2026-08-09 06:50:21 +01:00
commit 9b8df0b487
6 changed files with 50 additions and 11 deletions

View file

@ -87,6 +87,10 @@ path = "epiphany-core/src/bin/epiphany-daemon-supervisor.rs"
name = "epiphany-release"
path = "epiphany-core/src/bin/epiphany-release.rs"
[[bin]]
name = "epiphany-state"
path = "epiphany-core/src/bin/epiphany-state.rs"
[[bin]]
name = "epiphany-memory-semantic-projector"
path = "epiphany-core/src/bin/epiphany-memory-semantic-projector.rs"

View file

@ -514,8 +514,6 @@ fn release_build_command(
.arg("--locked")
.arg("--package")
.arg("epiphany-release-bundle")
.arg("--package")
.arg("epiphany-core")
.arg("--features")
.arg("epiphany-release-bundle/coordinator-runtime");
for (_, file_name) in required {
@ -1157,15 +1155,12 @@ mod tests {
assert_eq!(envs.get("CARGO_INCREMENTAL"), Some(&Some("0".to_string())));
assert_eq!(args.iter().filter(|arg| *arg == "--bin").count(), 23);
assert_eq!(args.iter().filter(|arg| *arg == "--package").count(), 2);
assert_eq!(args.iter().filter(|arg| *arg == "--package").count(), 1);
assert!(
args.windows(2)
.any(|pair| pair == ["--package", "epiphany-release-bundle"])
);
assert!(
args.windows(2)
.any(|pair| pair == ["--package", "epiphany-core"])
);
assert!(!args.iter().any(|arg| arg == "epiphany-core"));
assert!(
args.windows(2)
.any(|pair| pair == ["--features", "epiphany-release-bundle/coordinator-runtime"])

View file

@ -1945,3 +1945,21 @@ binaries explicitly, and sets `CARGO_INCREMENTAL=0`. Follow-up coordinator and
state-steward Cargo commands are forbidden writers and have been deleted. All
19 focused packaged-release tests pass. Exact Linux packaging plus a
byte-identical warm rerun remain the verification boundary.
### Sole packaged executable owner
The first single-process proof exposed a deeper split. Selecting
`epiphany-release-bundle` and `epiphany-core` together compiled overlapping bin
names into the same output paths. Cargo warned that this collision may become a
hard error. The cold run took 36m55s and the identical warm run took 11.05s
(Cargo 1.26s), so graph warming was fixed, but four output files changed and the
witness did not reproduce.
Packaged executable selection now belongs only to `epiphany-release-bundle`.
It declares all 23 targets, including `epiphany-state`, from their owning source
paths and selects the core library as a dependency. `epiphany-core` binary
targets remain developer entry points; the core package is not selected as a
release writer. The forbidden state is two selected packages writing one
release filename. Nineteen focused tests prove the command contains one package
selector and no `epiphany-core` package argument. Exact warning-free Linux and
byte-identical warm witness proof remain open.

View file

@ -1,5 +1,27 @@
# Fresh workspace handoff
## Sole packaged executable owner — 2026-08-09
Exact `fe6bf006` cold packaging proved the single-process graph and produced
native-inspected 23-binary release
`sha256-7e579b3d78e7de4a8bf161125908ac41d2b9582aba24b5f5be6922d6a4940db0`
with witness
`sha256-45215f5d27d8edb5be877aad769ccd7ac971952d343dc516dea744ee4f82533a`.
The cold conversion took 36m55s. Its identical warm rerun took 11.05s total,
with Cargo completing in 1.26s, but produced a different valid release and
witness. Cargo reported output filename collisions between the selected
`epiphany-release-bundle` and `epiphany-core` packages. Four binaries differed:
`epiphany-hands-action`, `epiphany-persona-mouth-identity`,
`epiphany-repository-body`, and `epiphany-workspace-coverage-projector`.
The live authority correction makes `epiphany-release-bundle` the only package
selected for witnessed binaries. It now declares `epiphany-state` alongside the
other 22 release targets, still using the core-owned source and library. The
core package remains a developer binary surface but is no longer a packaged
executable writer. All 19 focused tests pass. Commit and push this cut, rebuild
the exact packager, then require a warning-free exact package and byte-identical
warm replay before publication.
## Deterministic single release graph — 2026-08-09
Exact pushed source `e9465c11208d648440999903770cbde245c1da3b`

Binary file not shown.

View file

@ -36,9 +36,9 @@ invariants:
current_status:
summary: Epiphany is a supervised engineering alpha on Starfire, not deployment-ready. The persistent c005 Linux body proves heartbeat, Self coordination, governed Eyes-to-Modeling cognition, causal routing, native Imagination, dedicated Mind adoption, and typed Hands relinquishment without external consequence. Self causally demotes pre-relinquishment CRRC history while preserving raw operator sight. One root Cargo workspace and lock own all first-party dependency resolution, and an authenticated exact-source release now contains all 23 required binaries including the core-owned state steward. Deterministic warm packaging, resident crash/restart, long-duration plateau, log ownership, and stable Starfire firewall ownership remain open. Yggdrasil is the small public crossing body, never the release forge.
latest_phase: Exact pushed source e9465c11208d648440999903770cbde245c1da3b produced authenticated release sha256-5f90294fb037ff777ca99f345e0f4b1e082b176c35bd6e16a60b46d5a687c0 with witness sha256-403a4dd4705772d8d588f3abedb336436b9f1b4ebc037b86efbc5995f5d6a291 and 23 inspected binaries. Its nominally warm identical rerun was slower and produced a different valid release: the old three-command packager oscillated Cargo feature graphs, while release incremental codegen changed the two epiphany-openai-runtime binaries. Source now assigns all 23 binaries across both first-party packages to one Cargo command with coordinator-runtime selected once and CARGO_INCREMENTAL=0. All 19 focused packaged-release tests pass; corrected exact Linux packaging and byte-identical warm proof remain open.
latest_phase: Exact fe6bf006 packaging proved one Cargo process and one graph: the cold conversion produced inspected 23-binary release sha256-7e579b3d78e7de4a8bf161125908ac41d2b9582aba24b5f5be6922d6a4940db0 in 36m55s. Its identical warm rerun completed in 11.05s with Cargo at 1.26s, proving the speed cut, but produced a different valid witness. Cargo diagnosed duplicate output filenames because the command selected both epiphany-release-bundle and epiphany-core, which declare overlapping binary targets; four packaged binaries differed. Source now makes the release bundle the sole packaged executable owner, adds epiphany-state to its target set, and removes epiphany-core package selection. All 19 focused packaged-release tests pass; corrected exact Linux packaging and byte-identical warm proof remain open.
operational_state:
local_worktree: single_release_graph_and_deterministic_codegen_proven_pending_commit
local_worktree: sole_release_bundle_executable_owner_proven_pending_commit
operator_wireguard: restored
yggdrasil: canonical_small_public_crossing_body
starfire: temporary_epiphany_cognition_body
@ -68,8 +68,8 @@ current_status:
starfire_linux_modeling_peak: 109887488_bytes_resident_body_plus_modeling_circuit
yggdrasil_epiphany_service_contract: repaired_in_gamecult_ops_812b427_not_installed
resident_physiology: c005_swarm_with_217dd_and_bd96305e_worker_helpers_running
unresolved_authority: The e9465c11 release proves exact-source 23-binary inventory and witness inspection, but its identical cached rerun falsified deterministic warm packaging. The single-command, non-incremental authority cut is source- and test-proven but not yet exact-package-proven. The Docker contract still depends on explicit target and Cargo-home bindings, though the native release packager owns them correctly. Repository Body observation still performs two authenticated full-tree Git index/manifest passes; exact 217dd packaged observer evidence improved the same unchanged Body boundary to 94.521 seconds. Execute-mode workers require a persistent process body. Keyed storage has not earned live migration. One Discord consequence remains blocked by the absent Yggdrasil credential. Resident stdout/stderr logs remain an unbounded supervisor-owned surface.
next_action: Commit and push the deterministic single-graph packaging cut, package its exact source, then rerun identically warm and require both materially improved warm time and exact release/witness equality before publication. Resume resident crash/restart, retention, and endurance work from awaitFrontierProposal without recreating relinquished route 817bf422 only after that proof.
unresolved_authority: Exact fe6bf006 proved a materially fast warm package but falsified reproducibility because two selected packages owned overlapping output names. The sole release-bundle owner cut is source- and test-proven but not yet exact-package-proven. The Docker contract still depends on explicit target and Cargo-home bindings, though the native release packager owns them correctly. Repository Body observation still performs two authenticated full-tree Git index/manifest passes; exact 217dd packaged observer evidence improved the same unchanged Body boundary to 94.521 seconds. Execute-mode workers require a persistent process body. Keyed storage has not earned live migration. One Discord consequence remains blocked by the absent Yggdrasil credential. Resident stdout/stderr logs remain an unbounded supervisor-owned surface.
next_action: Commit and push the sole packaged-executable-owner cut, package its exact source, then rerun identically warm and require exact release/witness equality without Cargo output-collision warnings before publication. Resume resident crash/restart, retention, and endurance work from awaitFrontierProposal without recreating relinquished route 817bf422 only after that proof.
active_subgoals:
- Prove Persona, Self, Eyes, Modeling, Imagination, Hands, Soul, Mind, Continuity, and nervous-system behavior individually.