From f6e51db0fdf5bca2d67c8398f9dccbdc488034cb Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Sat, 8 Aug 2026 19:41:11 +0100 Subject: [PATCH] build: reject explicit release bin selection --- epiphany-core/src/packaged_release.rs | 12 +++--------- notes/fresh-workspace-handoff.md | 23 ++++++++++++++++------- state/ledgers.msgpack | Bin 577353 -> 577727 bytes state/map.yaml | 4 ++-- 4 files changed, 21 insertions(+), 18 deletions(-) diff --git a/epiphany-core/src/packaged_release.rs b/epiphany-core/src/packaged_release.rs index d5bc6cfe..f119671c 100644 --- a/epiphany-core/src/packaged_release.rs +++ b/epiphany-core/src/packaged_release.rs @@ -456,12 +456,8 @@ fn build_required_release_siblings( })?; let mut outputs = BTreeMap::new(); let required = required_packaged_release_binaries(target); - let mut first_pass_bins = BTreeSet::new(); for (role, file_name) in &required { - let (_, binary) = required_release_build_target(role)?; - if *role != "coordinator" { - first_pass_bins.insert(binary); - } + required_release_build_target(role)?; outputs.insert( *role, target_dir.join(target).join("release").join(file_name), @@ -477,10 +473,8 @@ fn build_required_release_siblings( .arg(&target_dir) .arg("--target") .arg(target) - .arg("--locked"); - for binary in first_pass_bins { - command.arg("--bin").arg(binary); - } + .arg("--locked") + .arg("--bins"); let status = command .status() .context("failed to start Epiphany release bundle build")?; diff --git a/notes/fresh-workspace-handoff.md b/notes/fresh-workspace-handoff.md index 4b1b15da..b1e6d738 100644 --- a/notes/fresh-workspace-handoff.md +++ b/notes/fresh-workspace-handoff.md @@ -199,13 +199,22 @@ tests pass. Direct release observation fell to 49.52s and created generation 3. This is material but not final; package it and measure a real launch before claiming the original 51s path is cured. -Packaging no longer requests Cargo `--bins`, which linked every diagnostic and -smoke executable after core edits. It now requests only the authenticated -release sibling binaries, leaving the feature-gated coordinator in its existing -second phase. The focused 17 packaging tests pass. A deliberately detached -release benchmark that missed the shared target directory took 4m41s, proving -that target-cache location must remain tool-owned rather than operator memory; -the authenticated packager already owns a stable graph cache explicitly. +Packaging selection was tested by replacing Cargo `--bins` with the explicit +authenticated sibling set while leaving the feature-gated coordinator in its +existing second phase. The focused 17 packaging tests passed. A deliberately +detached release benchmark that missed the shared target directory took 4m41s, +proving that target-cache location must remain tool-owned rather than operator +memory; the authenticated packager already owns a stable graph cache explicitly. + +The real exact `9d671aee` package falsified that selector hypothesis. The first +phase still took 7m26s because root `--bins` already named the 20 stable release +bundle targets; it never linked core's 74 diagnostic binaries. Explicitly +listing the same 20 targets did not reduce fan-out. The change is reverted in +source. Core compilation remains the build-time owner. Exact `9d671aee` is +nevertheless authenticated and published as release +`sha256-6de91b234bdfda1149e48b9fef6710bdd8c4e3274981e4aa88fc46ec109a2e56` +with witness +`sha256-f2c0e464b1523b1a14fb500afa747f0dd95166ebd068752bf639a43827c6b9ba`. ## Open readiness work diff --git a/state/ledgers.msgpack b/state/ledgers.msgpack index 01f0649c84c1b743320357ca1cd6fd5fa1a9bb5e..bf30d2cb761a4224be1f5943f54e5c2ec7bb658f 100644 GIT binary patch delta 427 zcmXYsKT88a6vVywFJP-+`5^U$yAYBXD+_But?c%8pUE?OyXWqnCXFd9`~aFx1UpMX zL9FZqL9qAJ_$~%+xP_ga-^|xT>F5IIj;l z7Baw&>U2|q2-8z?o(;n)C|Em!Zr6eateWmp_D z--FN&g_;0c=5xRro>A3b)Qq#zC~p1Vg<--CFdX M`}V0!99zx+0I9hYdjJ3c diff --git a/state/map.yaml b/state/map.yaml index d22643ee..db97c2bd 100644 --- a/state/map.yaml +++ b/state/map.yaml @@ -42,7 +42,7 @@ current_status: starfire: temporary_epiphany_cognition_body starfire_runtime_identity: epiphany-starfire starfire_swarm_brake: released - starfire_release: authenticated_d3bfbda0_release_sha256_4bb5f672 + starfire_release: authenticated_9d671aee_release_sha256_6de91b23 starfire_repository_body: bound_and_observed starfire_verse_topology: bound_to_current_repository_body starfire_native_status: supervised_shakedown_active @@ -53,7 +53,7 @@ current_status: yggdrasil_epiphany_services: absent resident_physiology: heartbeat_and_self_running unresolved_authority: Modeling launch still synchronously performs an authenticated two-pass raw Repository Body observation. Parallel entry reads cut a direct release observation from 92.30s to 49.52s, but the next authenticated live launch must show whether this materially improves the original 51.482s bucket. Keyed storage is a secondary mutation optimization and has not earned live migration. The adopted Mind decision also carries a model-supplied 2025 timestamp; coordinator commit-time timestamp ownership remains open. Persona consequence, Continuity closure, retention, endurance, and Linux cognition remain unproven. - next_action: Treat v53 as a closed circuit and do not reopen its resolved frontier through the legacy regather projection. Package and authenticate the narrowed release plus parallel Repository Body observer, then measure one bounded live Modeling launch only if fresh typed pressure exists; otherwise use the direct observation receipt and proceed to a separate native Persona consequence circuit. Keep the legacy runtime store authoritative until a real live need justifies keyed migration. Follow Persona with Continuity crash/restart/closure. + next_action: Treat v53 as a closed circuit and do not reopen its resolved frontier through the legacy regather projection. Authenticated 9d671aee contains the parallel Repository Body observer; measure another live Modeling launch only when fresh typed pressure exists. Proceed now to a separate native Persona consequence circuit. Keep the legacy runtime store authoritative until a real live need justifies keyed migration. Follow Persona with Continuity crash/restart/closure. active_subgoals: - Prove Persona, Self, Eyes, Modeling, Imagination, Hands, Soul, Mind, Continuity, and nervous-system behavior individually.