From d7b199e5ccfd44855ef1ff1bf1a5fb66be09fc0c Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Tue, 11 Aug 2026 23:27:51 +0200 Subject: [PATCH] Let current Eyes frontier replace completed Research --- epiphany-core/src/surfaces/coordinator.rs | 14 +++++++------- notes/epiphany-current-algorithmic-map.md | 4 +++- notes/fresh-workspace-handoff.md | 15 ++++++++++++--- state/map.yaml | 4 ++-- 4 files changed, 24 insertions(+), 13 deletions(-) diff --git a/epiphany-core/src/surfaces/coordinator.rs b/epiphany-core/src/surfaces/coordinator.rs index 2587f802..cdb9142c 100644 --- a/epiphany-core/src/surfaces/coordinator.rs +++ b/epiphany-core/src/surfaces/coordinator.rs @@ -1139,13 +1139,10 @@ pub fn recommend_coordinator_action( } if input.eyes_frontier_ready - && matches!( + && !matches!( input.signals.research_result_status, - EpiphanyCoordinatorRoleResultStatus::MissingBinding - | EpiphanyCoordinatorRoleResultStatus::BackendUnavailable - | EpiphanyCoordinatorRoleResultStatus::BackendMissing - | EpiphanyCoordinatorRoleResultStatus::Cancelled - | EpiphanyCoordinatorRoleResultStatus::Failed + EpiphanyCoordinatorRoleResultStatus::Pending + | EpiphanyCoordinatorRoleResultStatus::Running ) { return build( @@ -2342,7 +2339,10 @@ mod tests { assert!(no_frontier.reason.contains("proposal selection")); let eyes_frontier = recommend_coordinator_action(EpiphanyCoordinatorInput { - signals: modeling_done, + signals: EpiphanyCoordinatorSignals { + research_result_status: EpiphanyCoordinatorRoleResultStatus::Completed, + ..modeling_done + }, research_result_accepted: true, modeling_result_accepted: true, modeling_result_reviewable: true, diff --git a/notes/epiphany-current-algorithmic-map.md b/notes/epiphany-current-algorithmic-map.md index 3cc602bb..4ed9dc94 100644 --- a/notes/epiphany-current-algorithmic-map.md +++ b/notes/epiphany-current-algorithmic-map.md @@ -4424,7 +4424,9 @@ Imagination without adding a lifecycle-specific process rule. - Outputs: one immutable `RepoFrontierResearchRequest`, its exact typed launch projection, and an uncovered/covered readiness decision. - Derived state: historical `research_result_accepted` is evidence about an old - pass, not authority over the current frontier. + pass, and a terminal `Completed` role binding is evidence about its old job; + neither owns the current frontier. Only a currently `Pending` or `Running` + Research job suppresses another launch. - Forbidden writers: timestamps, generic accepted Research state, and unrelated Eyes packets cannot consume current readiness. - Shared path: status, direct coordinator execution, and resident execution use diff --git a/notes/fresh-workspace-handoff.md b/notes/fresh-workspace-handoff.md index 186cdda4..5036bac2 100644 --- a/notes/fresh-workspace-handoff.md +++ b/notes/fresh-workspace-handoff.md @@ -3,7 +3,8 @@ ## Public Eyes evidence is grant-bound and Mind-admissible - 2026-08-11 Latest pushed source is exact `8fb61ac2`; a causal Eyes-frontier routing cut is -implemented locally with 680/680 library tests passing. Actual c011 remains exact +implemented locally with 680/680 core library tests and 24/24 Self-policy tests +passing. Actual c011 remains exact `465af24d`, alive, cognitively braked at resident revision 384, with no active lease or admitted work and zero defunct children. Do not disturb it before the new source passes copied-state gates. @@ -40,8 +41,16 @@ Copied c011 state then exposed a real routing fault: historical accepted Research masked a newer actionable Eyes frontier. The local cut makes the exact current frontier own an immutable `RepoFrontierResearchRequest`, carries its exact projection in the Research launch, and consumes readiness only -through an accepted Eyes packet from that bound job. Next: commit, push, and -package this cut; replay copied c011 state; accept one immutable public lookup +through an accepted Eyes packet from that bound job. Exact `18966e55` packaged +cleanly as release `sha256-1e37ab44b403de1b7e2c59bce93caeadce18015204afbc783d310e382c1577f0` +with witness `sha256-e90cbf24b3f1f149e27665ebde2dc697428b76e169b1b52d47ebb5b1f5dd5941`. +Its copied-state replay exposed a second half of the same ownership fault: the +static Research role binding was already `Completed`, and policy treated that +historical terminal state as a reason not to launch against the newer request. +The local policy now suppresses current Eyes readiness only while Research is +`Pending` or `Running`; 24/24 Self-policy tests pass, including the exact +completed-binding regression. Next: commit, push, and package this final cut; +replay copied c011 state; accept one immutable public lookup through Eyes into Mind; and prove missing `publicSourceRead` refuses without consequence. Only then replace c011. Yggdrasil never builds. diff --git a/state/map.yaml b/state/map.yaml index 155a5e71..a8303a9b 100644 --- a/state/map.yaml +++ b/state/map.yaml @@ -38,7 +38,7 @@ current_status: summary: Epiphany is a supervised engineering alpha on Starfire, not deployment-ready. Exact b8138a6b active-child SIGTERM and restart, exact 9f369528 deterministic warm packaging, exact c930f505 cross-container ownership, exact ed15f83a resident lifecycle retention, exact 16c4b19f coordinator receipt and Heartbeat artifact retention, exact cce2b8ac narrow model-generation retention, exact eea15e82 model-turn JSON ingress, exact b1e8c89a semantic unattempted-generation retention, exact 6bc3ec3f semantic physical-epoch retirement, and exact 44230a05 Persona conversation retention are proven. Gamecult-ops 059821f owns Yggdrasil stream retention and exact 6ee08a4 owns stable Starfire Persona-permit firewall ingress. Exact 16c4b19f genuine idle and exact a987d2f7 active cognition completed 900-pulse bounded plateaus. Runtime-owned typed fulfillment is accepted live under exact 6dd9b132. Yggdrasil is the small public crossing body, never the release forge. latest_phase: Live c010 inspection found six defunct model-worker grandchildren adopted by resident PID 1. Exact 465af24d makes resident Self enumerate typed runtime worker process claims and call exact nonblocking waitpid only for those claimed PIDs before each once/serve cycle and before retention. Coordinator Child handles remain separately owned. Six Windows process tests, nine swarm tests, and the Unix exact-child test pass. The warning-free 24-binary Linux release sha256-089e000511f0420bfaab1136952b8cf94677a72d5c30a3fb3e6a26996bd3726f with witness sha256-20ca293589b33d3b2e6ea5a7411db544741fe18360ecbd4423cdfa000d1ad7c6 is live as c011. A typed operator proposal drove exact Modeling request repo-frontier-proposal-modeling-1c15a1d0d22e52cff8d735f331658c6a9a652b183d29f35902a7ca6dbc676f50 through Heartbeat, Self, coordinator, adopted worker PID 152, terminal fulfillment, settlement, and zero-zombie reaping. Its authenticated review continuation completed and emitted admitted-direction Imagination request c72af0e16fbc767966e63f56f058ae3741f07d2af4b12bab7b65dd8d8fab4bbb. That preserved grant then launched adopted worker PID 275; it terminalized normally, settled at revision 384, and was reaped with PID 1 again returning to zero defunct children. It produced no further admitted work. c011 is braked at revision 384 with no active lease. The reaper cut is accepted across two genuine worker kinds. Yggdrasil never builds. operational_state: - local_worktree: causal_current_eyes_frontier_research_request_implemented_tests_green_pending_commit_package_live_proof + local_worktree: causal_current_eyes_frontier_request_and_completed_binding_relaunch_cut_tests_green_pending_commit_package_live_proof operator_wireguard: restored starfire_persona_permit_firewall: persistent_exact_gamecult_ops_6ee08a4 yggdrasil: canonical_small_public_crossing_body @@ -70,7 +70,7 @@ current_status: yggdrasil_epiphany_service_contract: repaired_in_gamecult_ops_812b427_not_installed resident_physiology: c011_exact_465af24d_alive_braked_revision384_after_modeling_and_imagination_terminal_settlement_and_zero_zombie_reaping unresolved_authority: Coordinator receipt, Heartbeat pulse-artifact, genuine-idle and active resource plateaus, exact-grant terminality, restart-persistent cooldown refusal, schedule/action issuance cardinality, runtime-owned typed fulfillment, all three packaged fulfilled-before-receipt lanes, genuine packaged Imagination option generation, narrow model-generation retention, published model-turn JSON ingress, semantic logical/physical retention, Persona conversation retention, stable Starfire firewall ownership, completed model-adapter session archival, normal coordinator lifecycle opening/error closure/legacy repair/archival, co-resident resident lifecycle retention, authenticated outer-worker attempt retention, deployed supervisor/projector journald ownership, Docker named-volume atomic snapshot visibility, deterministic incremental release construction, and canonical-brake refusal of direct daemon lifecycle actuation are accepted. Starfire's Docker Desktop F: bind is rejected for mutable authority after an exact packaged lockless reader observed an empty published snapshot during writer interruption. Historical migrated semantic attempts without recorded physical namespace remain durable and non-retirable. One completed Discord consequence remains blocked by the absent Yggdrasil credential. Exact aa841873 also makes legacy coordinator repair one full-snapshot transaction so a later hostile family cannot leave an earlier partial repair. - next_action: Keep exact c011 alive and cognitively braked. The copied-state public Eyes proof exposed that historical Research acceptance masked a newer actionable Eyes frontier. Commit and package the causal cut: the current admitted RepoModel frontier owns one immutable RepoFrontierResearchRequest, the Research launch carries its exact projection, and only an accepted Eyes packet from that bound job consumes readiness. Replay on copied c011 state, accept one immutable public Research lookup through Eyes into Mind, then prove an otherwise exact request without publicSourceRead refuses before adapter or network consequence with byte-identical state. Only then replace c011. Do not build on Yggdrasil. + next_action: Keep exact c011 alive and cognitively braked. Exact 18966e55 packaged cleanly, but copied-state replay exposed the remaining policy seam: a completed historical Research binding still blocked a causally newer uncovered Eyes frontier. Commit and package the completed-binding relaunch cut; only Pending or Running Research may suppress the exact uncovered frontier. Replay on fresh copied c011 state, accept one immutable public Research lookup through Eyes into Mind, then prove an otherwise exact request without publicSourceRead refuses before adapter or network consequence with byte-identical state. Only then replace c011. Do not build on Yggdrasil. active_subgoals: - Prove Persona, Self, Eyes, Modeling, Imagination, Hands, Soul, Mind, Continuity, and nervous-system behavior individually.