build: reject explicit release bin selection

This commit is contained in:
Meta Vens 2026-08-08 19:41:11 +01:00
commit f6e51db0fd
4 changed files with 21 additions and 18 deletions

View file

@ -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")?;

View file

@ -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

Binary file not shown.

View file

@ -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.