From 9b8df0b487eaae12e35dbe53a82faae1a1e39954 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Sun, 9 Aug 2026 06:50:21 +0100 Subject: [PATCH] Assign packaged binaries to one Cargo package --- Cargo.toml | 4 ++++ epiphany-core/src/packaged_release.rs | 9 ++------- notes/epiphany-current-algorithmic-map.md | 18 ++++++++++++++++++ notes/fresh-workspace-handoff.md | 22 ++++++++++++++++++++++ state/ledgers.msgpack | Bin 587708 -> 588313 bytes state/map.yaml | 8 ++++---- 6 files changed, 50 insertions(+), 11 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 26928a78..e53b6c05 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -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" diff --git a/epiphany-core/src/packaged_release.rs b/epiphany-core/src/packaged_release.rs index 64bafa6c..764073b3 100644 --- a/epiphany-core/src/packaged_release.rs +++ b/epiphany-core/src/packaged_release.rs @@ -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"]) diff --git a/notes/epiphany-current-algorithmic-map.md b/notes/epiphany-current-algorithmic-map.md index aae79871..f8db1edb 100644 --- a/notes/epiphany-current-algorithmic-map.md +++ b/notes/epiphany-current-algorithmic-map.md @@ -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. diff --git a/notes/fresh-workspace-handoff.md b/notes/fresh-workspace-handoff.md index 37a3a8b1..819a84f2 100644 --- a/notes/fresh-workspace-handoff.md +++ b/notes/fresh-workspace-handoff.md @@ -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` diff --git a/state/ledgers.msgpack b/state/ledgers.msgpack index 06d8ae3382b8bf9501021edd7892059c8cae2c5d..669176f40a2c54f904031008e1224a1a77a10d98 100644 GIT binary patch delta 582 zcmY*WJ&zMH5M=`#X=o@;q8lj%O*S|=?E<+H(V=TN=_ER@J)2nPwT;KiCe;;4&{7aZ z{EL$)&`GB&`8zaxmCWW4g5ue`OOHwvsAA zjb&8}Q34sau$V8R3`+=7oyrAQAVmKfHBdlatCk0(B~u&zi^zw%Ri-l5r1cz>w;B%0 zrYL9(Mx#qcNei8f4NRvKQ4l1bxbhH=pUSxKFrCaw?pn7Im zF|i;!iB^Wt`|@oH?8eE4Cn{93CET9B9o|2ZP6GxLmeQ?r;+e-+9WHk`OaY+gGOa#WU{~Flw?BS zS(dM(Z#W?SqMgDRdY=&+zSKV>yN>JhxpU{%c=u=mN5)}7bZlJlRW&4}MC^y?kj?Z@ W$vHcYCa)tRJU6agZQuVKj(-D8sL!4N delta 67 zcmbRFMS0JAzMKQO6iKzRldM%vi|Cn9)3yseLLFBM^gVW*}w(Vpbq# O17h~=Q<*r_zXAXR@fEEA diff --git a/state/map.yaml b/state/map.yaml index 799ccec4..9df0fe6c 100644 --- a/state/map.yaml +++ b/state/map.yaml @@ -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.