Bind Hands intent to adopted frontier plan
This commit is contained in:
parent
4338b0331a
commit
17d4ae47ca
4 changed files with 91 additions and 59 deletions
|
|
@ -1178,9 +1178,21 @@ fn record_hands_implementation_gate(
|
|||
requested_at: requested_at.clone(),
|
||||
contract: "Coordinator continuation becomes a typed Hands action intent before any file edit, command, or commit may count as implementation evidence."
|
||||
.to_string(),
|
||||
frontier_route_id: String::new(),
|
||||
plan_candidate_sha256: String::new(),
|
||||
plan_action: String::new(),
|
||||
frontier_route_id: route
|
||||
.adopted_plan
|
||||
.as_ref()
|
||||
.map(|_| route.route_id.clone())
|
||||
.unwrap_or_default(),
|
||||
plan_candidate_sha256: route
|
||||
.adopted_plan
|
||||
.as_ref()
|
||||
.map(|plan| plan.candidate_sha256.clone())
|
||||
.unwrap_or_default(),
|
||||
plan_action: route
|
||||
.adopted_plan
|
||||
.as_ref()
|
||||
.map(|plan| plan.action.clone())
|
||||
.unwrap_or_default(),
|
||||
};
|
||||
put_hands_action_intent(runtime_store, &intent)?;
|
||||
|
||||
|
|
@ -2346,6 +2358,12 @@ mod tests {
|
|||
assert_eq!(grant.receipt_id, intent.substrate_gate_grant_receipt_id);
|
||||
assert_eq!(intent.intent_id, review.intent_id);
|
||||
assert_eq!(intent.requested_action, "continueImplementation");
|
||||
assert_eq!(
|
||||
Some(intent.frontier_route_id.as_str()),
|
||||
gate["routeId"].as_str()
|
||||
);
|
||||
assert_eq!(intent.plan_candidate_sha256, "coordinator-plan-hash-test");
|
||||
assert_eq!(intent.plan_action, "Implement the bounded coordinator gate test.");
|
||||
assert_eq!(
|
||||
gate.pointer("/recordPassCommand/executable")
|
||||
.and_then(serde_json::Value::as_str),
|
||||
|
|
@ -2363,7 +2381,7 @@ mod tests {
|
|||
}
|
||||
|
||||
fn seed_hands_frontier(store: &Path) -> Result<()> {
|
||||
let item = epiphany_core::RepoFrontierItem {
|
||||
let mut item = epiphany_core::RepoFrontierItem {
|
||||
id: "coordinator-hands-frontier-test".to_string(),
|
||||
migration_body: "Exercise the coordinator-owned Hands gate.".to_string(),
|
||||
question: "Does Self route the admitted implementation frontier?".to_string(),
|
||||
|
|
@ -2375,6 +2393,20 @@ mod tests {
|
|||
status: epiphany_core::RepoFrontierStatus::Active,
|
||||
..Default::default()
|
||||
};
|
||||
item.adopted_plan = Some(epiphany_core::RepoFrontierAdoptedPlan {
|
||||
planning_request_id: "coordinator-planning-request-test".to_string(),
|
||||
result_id: "coordinator-imagination-result-test".to_string(),
|
||||
job_id: "coordinator-imagination-job-test".to_string(),
|
||||
candidate_id: "coordinator-plan-candidate-test".to_string(),
|
||||
candidate_sha256: "coordinator-plan-hash-test".to_string(),
|
||||
safe_paths: item.source_scope.clone(),
|
||||
action: "Implement the bounded coordinator gate test.".to_string(),
|
||||
command: "cargo test --bin epiphany-mvp-coordinator".to_string(),
|
||||
checks: vec!["focused coordinator test passes".to_string()],
|
||||
stop_conditions: vec!["authority scope changes".to_string()],
|
||||
rollback_steps: vec!["revert the bounded change".to_string()],
|
||||
commit_message: "Bind Hands intent to adopted plan".to_string(),
|
||||
});
|
||||
let mut model = epiphany_core::EpiphanyMemoryGraphSnapshot {
|
||||
schema_version: Some(epiphany_core::MEMORY_GRAPH_SCHEMA_VERSION.to_string()),
|
||||
graph_id: "mvp-coordinator-test-model".to_string(),
|
||||
|
|
|
|||
|
|
@ -1,55 +1,55 @@
|
|||
# Fresh Workspace Handoff
|
||||
|
||||
## Current authority — 2026-08-07 canonical-organ cut
|
||||
## Current authority — 2026-08-07 Hands binding cut
|
||||
|
||||
The active branch is `codex/epiphany-shakedown-live`. Exact pushed commit
|
||||
`872d8ad6188fdfe8afcf5d4e9dd65a791fa444f2` is authenticated and published as
|
||||
`sha256-b97f457cfde1eea2b45464b3ca12e7cdba4cb13d4c1b261b20267e960e1a326e`
|
||||
`4338b0331a374802c649aa2a647a9c39f9a9f92d` is authenticated and published as
|
||||
`sha256-1023d71c625706694cc67e034172b9f33ea331594924c5e7b786d0818f077a21`
|
||||
with witness
|
||||
`sha256-40d6bda4d82a2da67614722a52810078abc37d2d5bfe60330b479fa611f726ab`.
|
||||
The exact package contains 21 binaries and exposes no private state.
|
||||
`sha256-0d351a7001c01a46b46207a9364e6221325d3811cd2cccfd72786430115282be`.
|
||||
The package contains 21 binaries and exposes no private state.
|
||||
|
||||
Fresh v25 lives at
|
||||
`F:\Projects\.epiphany-runtime\shakedown\live-20260807-v25`. It was cold-started
|
||||
from the packaged repository-body tool at Git head `872d8ad6`; only canonical
|
||||
`agents.cc` crossed from v24. Its repository Body is generation 1, its local
|
||||
Verse was seeded fresh, and the exact release was published into that Verse.
|
||||
Fresh v26 lives at
|
||||
`F:\Projects\.epiphany-runtime\shakedown\live-20260807-v26`. It was cold-started
|
||||
from the packaged repository-body tool at Git head `4338b033`; only canonical
|
||||
`agents.cc` crossed from v25. The exact release was published into its fresh
|
||||
local Verse.
|
||||
|
||||
Proposal `shakedown-v25-continuity-imagination-r1` selected request
|
||||
`repo-frontier-proposal-modeling-e5e04c43b3d255baa8ba2f3778e2865b8aec275d8249dca0dfa3ace034b6d80c`.
|
||||
Packaged Self derived `launchModeling` without overrides. Modeling job
|
||||
`5af5100d-e097-4928-9bd3-2ba60a2fbbb3` completed, and Mind accepted its active
|
||||
frontier with canonical sorted unique source scope at thread revision 3.
|
||||
Proposal `shakedown-v26-continuity-imagination-r1` was selected without a
|
||||
routing override. Packaged Self derived `launchModeling`; job
|
||||
`6683204c-d2d5-46f2-a518-c355268afcf1` completed and was accepted. Its exact
|
||||
canonical Imagination frontier became eligible, Self launched Imagination job
|
||||
`b2c01a84-b006-4483-afd1-1dc4af4cebf1`, and dedicated Mind job
|
||||
`7daa2630-0ea2-4adf-b17a-24f0c3c7037e` returned `adopt`.
|
||||
|
||||
The worker emitted `recommended_next_organ=imagination` in lowercase. Proposal
|
||||
admission accepted the arbitrary non-empty string, while Self's planning
|
||||
selector owns the exact canonical identity `Imagination`. Typed eligibility
|
||||
therefore reported admission count one but zero candidates, and Self returned
|
||||
`awaitFrontierProposal`. v25 is insert-only evidence; do not mutate or replay it.
|
||||
The decision commit admitted the plan and selected the resulting Hands route.
|
||||
The next gate failed with `repo frontier Hands authority chain violates its full
|
||||
authority contract`. The validator is correct: `record_hands_implementation_gate`
|
||||
persisted empty `frontier_route_id`, `plan_candidate_sha256`, and `plan_action`
|
||||
even though the selected route carried an adopted plan. v26 is failure evidence;
|
||||
do not mutate or replay it.
|
||||
|
||||
The local cut now makes proposal admission accept only exact routeable organ
|
||||
identities `Hands`, `Eyes`, or `Imagination`. Modeling prompt and launch context
|
||||
state that exact vocabulary. Planning eligibility exposes
|
||||
`recommendedNextOrganValid` and includes case-mismatched Imagination-shaped
|
||||
legacy documents as ineligible diagnostics; it does not case-fold them into
|
||||
authority. Focused hostile-admission, challenge/eligibility, canonical launch
|
||||
context, and MVP status tests pass.
|
||||
The local cut derives those three intent fields from the selected route's
|
||||
adopted plan. The existing no-plan path remains empty by derivation. The focused
|
||||
regression test now seeds an adopted plan and proves persisted intent identity;
|
||||
all 14 coordinator binary tests pass.
|
||||
|
||||
## Next action
|
||||
|
||||
Commit and push the canonical-organ cut, then package and publish that exact
|
||||
commit. Cold-start v26. Prove the complete native path without overrides:
|
||||
Commit and push the Hands binding cut, then package and publish that exact
|
||||
commit. Preserve v26 and cold-start a clean generation. Replay the native path
|
||||
without overrides and prove:
|
||||
|
||||
1. Self derives proposal-bound Modeling.
|
||||
2. Mind admits one active frontier with sorted source scope and exact
|
||||
`recommended_next_organ=Imagination`.
|
||||
3. Self selects and launches Imagination.
|
||||
4. Imagination emits one typed plan.
|
||||
5. Dedicated Mind accepts, holds, or refuses it through the typed lifecycle.
|
||||
6. Inspect the next typed action rather than assuming Hands authority.
|
||||
1. Self derives proposal-bound Modeling and canonical Imagination.
|
||||
2. Dedicated Mind adopts the typed candidate.
|
||||
3. Hands intent exactly echoes route id, candidate digest, and plan action.
|
||||
4. RepoFrontierHandsAuthority binds route, model, plan, intent, review, grant,
|
||||
and sorted scope.
|
||||
5. Execute the bounded Continuity crash/restart/closure proof and capture Soul
|
||||
evidence rather than treating the gate as completion.
|
||||
|
||||
After that proof, continue the actual readiness campaign. Persona public
|
||||
consequence, Continuity crash/restart/closure, retention bounds, long-duration
|
||||
resource behavior, and Linux/Yggdrasil cognition remain open. Yggdrasil is the
|
||||
small canonical public crossing Body; Starfire remains the temporary cognition
|
||||
and release forge until measured runtime demand justifies resizing Yggdrasil.
|
||||
After that, continue the actual readiness campaign. Persona public consequence,
|
||||
retention bounds, long-duration resource behavior, and Linux/Yggdrasil cognition
|
||||
remain open. Yggdrasil is the small canonical public crossing Body; Starfire
|
||||
remains the temporary cognition and release forge until measured runtime demand
|
||||
justifies resizing Yggdrasil.
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -34,15 +34,15 @@ invariants:
|
|||
- Evidence and git retain history; this map retains only state that changes future decisions.
|
||||
|
||||
current_status:
|
||||
summary: Epiphany is a supervised engineering alpha on Starfire, not deployment-ready. Exact 872d8ad6 is authenticated and published as sha256-b97f457c with witness sha256-40d6bda4. Clean live v25 proved packaged Self derives proposal Modeling without overrides and Mind admits active canonical sorted-unique source_scope. It then exposed the next admission/selection split: Modeling emitted lowercase recommended_next_organ=imagination, Mind admitted it, and Self's exact canonical Imagination selector correctly found no candidate. The local repair makes exact routeable organ identity a Mind admission invariant, tells Modeling the canonical Hands/Eyes/Imagination vocabulary, and exposes organ validity in typed planning eligibility. Focused hostile-admission, eligibility, launch-context, and MVP status tests pass. v25 is sealed evidence; a clean next generation must prove Modeling-to-Imagination-to-Mind after this repair is packaged. Persona consequence, Continuity execution, retention, long-duration pacing, and Linux/Yggdrasil cognition remain open.
|
||||
summary: Epiphany is a supervised engineering alpha on Starfire, not deployment-ready. Exact pushed 4338b033 is authenticated and published as sha256-1023d71c with witness sha256-0d351a70. Clean v26 proved the native proposal chain through dedicated Mind without routing overrides: Self launched Modeling, Mind admitted its exact canonical Imagination frontier, Self launched Imagination, and dedicated Mind returned adopt. The subsequent Hands gate exposed a coordinator authority-binding defect: the persisted route carried an adopted plan, but record_hands_implementation_gate emitted empty route/plan fields, so the correct runtime validator refused the chain. The local cut derives the Hands intent's route id, candidate digest, and action from the adopted route; all 14 coordinator tests pass. v26 is preserved as failure evidence until the fixed commit is packaged and replayed in a clean generation. Persona consequence, Continuity execution, retention, long-duration pacing, and Linux/Yggdrasil cognition remain open.
|
||||
operational_state:
|
||||
local_worktree: proposal_frontier_canonical_organ_invariant_repair_uncommitted
|
||||
local_worktree: adopted_plan_hands_authority_binding_repair_uncommitted
|
||||
operator_wireguard: restored
|
||||
yggdrasil: canonical_small_public_crossing_body
|
||||
starfire: temporary_epiphany_cognition_body
|
||||
starfire_runtime_identity: epiphany-starfire
|
||||
starfire_swarm_brake: released
|
||||
starfire_release: authenticated_872d8ad6_published_v25_modeling_route_proven
|
||||
starfire_release: authenticated_4338b033_published_v26_native_mind_chain_proven
|
||||
starfire_repository_body: bound_and_observed
|
||||
starfire_verse_topology: bound_to_current_repository_body
|
||||
starfire_native_status: supervised_shakedown_active
|
||||
|
|
@ -52,8 +52,8 @@ current_status:
|
|||
bifrost_feedback_crossing: authenticated_transport_only
|
||||
yggdrasil_epiphany_services: absent
|
||||
resident_physiology: heartbeat_and_self_running
|
||||
unresolved_authority: v25 revision 3 contains one admitted active frontier whose lowercase recommended_next_organ makes it permanently invisible to Self's canonical Imagination selector. Insert-only proposal authority provides no coherent typed repair, so v25 must not be used to prove native Imagination. The local canonical-organ admission/context/eligibility repair is focused-test-proven but unpublished. Native Imagination live proof, Persona consequence, Continuity crash/restart/closure, retention, long-duration behavior, and Linux/Yggdrasil cognition remain open.
|
||||
next_action: Commit, push, package, and publish the proposal-frontier canonical-organ invariant repair. Seal v25 as evidence, bootstrap a clean v26 runtime generation, and prove one exact packaged proposal-Modeling result is admitted active with canonical source_scope and recommended_next_organ=Imagination, selected by Self, launched through Imagination, and decided by dedicated Mind without overrides.
|
||||
unresolved_authority: v26 committed the adopted plan and selected its Hands route, then failed before persisting RepoFrontierHandsAuthority because the coordinator's intent did not echo the route's adopted-plan identity. The local owner-aligned repair is test-proven but unpublished. A clean generation must prove the repaired route-to-intent-to-review-to-grant chain and then execute the bounded Continuity proof. Persona consequence, retention, long-duration behavior, and Linux/Yggdrasil cognition remain open.
|
||||
next_action: Commit, push, package, and publish the adopted-plan Hands binding repair. Preserve v26 as evidence, cold-start a clean generation, replay native Modeling-to-Imagination-to-Mind, and prove the resulting Hands authority exactly binds route, model, adopted plan, intent, review, grant, and scope before executing the Continuity crash/restart/closure plan.
|
||||
|
||||
active_subgoals:
|
||||
- Prove Persona, Self, Eyes, Modeling, Imagination, Hands, Soul, Mind, Continuity, and nervous-system behavior individually.
|
||||
|
|
@ -63,13 +63,13 @@ active_subgoals:
|
|||
|
||||
organ_readiness:
|
||||
persona: partial; authenticated feedback transport is live, but public cognition and speech consequence still need a fresh end-to-end proof.
|
||||
self: partial; proposal recovery, Mind admission, Hands routing, Soul routing, verdict incorporation, proposal preemption, challenge-aware Eyes routing, in-process status ownership, and single-use Research-to-Modeling routing are live. Exact 872d8ad6 also proved native proposal-to-Modeling launch and active frontier admission; canonical organ identity still blocks packaged Imagination proof.
|
||||
self: partial; proposal recovery, Mind admission, Hands routing, Soul routing, verdict incorporation, proposal preemption, challenge-aware Eyes routing, in-process status ownership, and single-use Research-to-Modeling routing are live. Exact 4338b033 proved native proposal Modeling, canonical Imagination selection, Imagination launch, and dedicated Mind decision without overrides; the downstream coordinator Hands binding still needs packaged proof.
|
||||
eyes: proven for one bounded challenged-claim circuit; exact 84f00929 launched Research and Mind accepted the first source-gap packet with typed evidence/checkpoint, exact 148d4527 accepted its causal reorientation, and exact 6f019cf8 proved downstream Modeling consumption.
|
||||
modeling: proven for the current bounded circuit; proposal-bound source inspection, Mind admission, exact routed identity preservation, and first-valid verdict incorporation completed without retry churn. Broader Body-map coverage remains open.
|
||||
imagination: unproven live in the current campaign; the typed lifecycle and MVP route are locally implemented, while v25 exposed that recommended_next_organ identity was admitted as an arbitrary string even though Self routes exact canonical organ names.
|
||||
imagination: proven for one bounded live circuit; exact 4338b033 selected the admitted canonical frontier, launched Imagination, persisted its typed candidate, and handed it to dedicated Mind without overrides. Broader option generation remains open.
|
||||
hands: proven for bounded consequences; native patch, command, commit, push, and typed receipts bind reviewed path ceilings to exact changed-path subsets.
|
||||
soul: proven for the current bounded consequence; the exact 2dd25341 release launched Soul, produced an accepted pass verdict grounded in focused and full-library receipts, and routed verdict incorporation.
|
||||
mind: partial; RepoModel admission, thread-state admission, gateway review, state commit, and first-valid verdict incorporation are live; broader stale or overstated frontier correction remains open.
|
||||
mind: partial; RepoModel admission, thread-state admission, gateway review, state commit, first-valid verdict incorporation, and dedicated frontier-plan adoption are live; broader stale or overstated frontier correction remains open.
|
||||
continuity: partial; heartbeat and resident Self survive sequential cycles, while restart, crash, reboot, closure, and retention remain open.
|
||||
nervous_system: partial; detached scheduling, runtime jobs, typed feedback, ordinary Windows coverage-store identity, and operator projection work; long-duration pressure and resource plateau remain open. Exact release packaging took about seventeen minutes and observed more than 3 GiB compiler working set, so Yggdrasil is not a release forge at its current 1.9 GiB RAM.
|
||||
|
||||
|
|
|
|||
Reference in a new issue