Make resident Self own receipt-free settlement
This commit is contained in:
parent
ca22d7a411
commit
2e66433f51
6 changed files with 239 additions and 131 deletions
|
|
@ -6,25 +6,22 @@ use epiphany_core::{
|
|||
ResidentSelfOutcome, ResidentSelfPolicy, ResidentSelfPorts, ResidentSelfPressure,
|
||||
ResidentSelfState, acknowledge_resident_self_launch, acquire_resident_process_singleton,
|
||||
authenticate_resident_self_policy, bind_runtime_repository_domain,
|
||||
bridge_admitted_persona_feedback_to_heartbeat, cancel_resident_self_turn,
|
||||
capture_process_instance, complete_resident_self_turn_after_death,
|
||||
bridge_admitted_persona_feedback_to_heartbeat, capture_process_instance,
|
||||
coordinator_run_receipts, derive_resident_cognition_readiness,
|
||||
enqueue_resident_self_pressure, import_bifrost_persona_feedback_deliveries,
|
||||
ingest_resident_self_domain_pressure, load_epiphany_cultmesh_swarm_brake,
|
||||
load_resident_self_state, observe_process_instance, pending_resident_self_acks,
|
||||
prepare_resident_self_launch, publish_resident_provider_readiness,
|
||||
recover_receipt_free_dead_coordinator_session,
|
||||
recover_dead_resident_typed_worker,
|
||||
resident_cognitive_runtime_id,
|
||||
resident_prepared_launch_thread_id, resident_self_child_claim,
|
||||
resident_self_grant_has_typed_request, resident_self_local_provider_status,
|
||||
resident_self_typed_attempt_exists,
|
||||
resident_self_local_provider_status,
|
||||
retain_completed_runtime_sessions,
|
||||
retain_coordinator_run_receipts, retain_resident_self_lifecycles,
|
||||
settle_resident_self_exited_coordinator, terminate_process_instance,
|
||||
settle_resident_self_exited_coordinator,
|
||||
settle_resident_self_receipt_free_dead_coordinator, terminate_process_instance,
|
||||
validate_persona_feedback_store_separation,
|
||||
validate_resident_self_coordinator_receipt_binding,
|
||||
validate_resident_self_store_separation, verify_resident_self_grant_fulfillment,
|
||||
validate_resident_self_store_separation,
|
||||
};
|
||||
use serde_json::json;
|
||||
use std::collections::{BTreeMap, BTreeSet};
|
||||
|
|
@ -227,30 +224,6 @@ fn wait_for_shutdown(requested: &AtomicBool, duration: Duration) {
|
|||
}
|
||||
}
|
||||
|
||||
fn cancelled_turn_status(
|
||||
shutdown_requested: bool,
|
||||
brake_engaged: bool,
|
||||
timed_out: bool,
|
||||
) -> &'static str {
|
||||
if shutdown_requested {
|
||||
"shutdown-cancelled"
|
||||
} else if brake_engaged {
|
||||
"brake-cancelled"
|
||||
} else if timed_out {
|
||||
"timed-out"
|
||||
} else {
|
||||
"process-failed"
|
||||
}
|
||||
}
|
||||
|
||||
fn outcome_after_cancel(shutdown_requested: bool) -> ResidentSelfOutcome {
|
||||
if shutdown_requested {
|
||||
ResidentSelfOutcome::Braked
|
||||
} else {
|
||||
ResidentSelfOutcome::Failed
|
||||
}
|
||||
}
|
||||
|
||||
fn exact_resident_coordinator_receipt(
|
||||
runtime_store: &std::path::Path,
|
||||
lease: &epiphany_core::ResidentSelfTurnLease,
|
||||
|
|
@ -275,83 +248,6 @@ fn exact_resident_coordinator_receipt(
|
|||
Ok(Some(receipt))
|
||||
}
|
||||
|
||||
fn settle_receipt_free_dead_coordinator(
|
||||
args: &Args,
|
||||
lease: &epiphany_core::ResidentSelfTurnLease,
|
||||
observation: ChildObservation,
|
||||
shutdown_requested: bool,
|
||||
brake_engaged: bool,
|
||||
timed_out: bool,
|
||||
now: u64,
|
||||
) -> Result<ResidentSelfOutcome> {
|
||||
let typed = resident_self_grant_has_typed_request(&args.state_store, &lease.grant_id)?;
|
||||
if typed {
|
||||
match verify_resident_self_grant_fulfillment(
|
||||
&args.state_store,
|
||||
&args.policy.runtime_store,
|
||||
&lease.grant_id,
|
||||
)? {
|
||||
epiphany_core::ResidentSelfGrantFulfillment::Fulfilled => {
|
||||
let recovery = recover_receipt_free_dead_coordinator_session(
|
||||
&args.state_store,
|
||||
&args.policy.runtime_store,
|
||||
lease,
|
||||
observation,
|
||||
now,
|
||||
)?
|
||||
.ok_or_else(|| {
|
||||
anyhow!(
|
||||
"typed fulfillment cannot predate its coordinator runtime incarnation"
|
||||
)
|
||||
})?;
|
||||
complete_resident_self_turn_after_death(
|
||||
&args.state_store,
|
||||
lease,
|
||||
&recovery,
|
||||
now,
|
||||
args.policy.cooldown_seconds,
|
||||
)?;
|
||||
return Ok(ResidentSelfOutcome::Completed);
|
||||
}
|
||||
epiphany_core::ResidentSelfGrantFulfillment::Pending => {
|
||||
if resident_self_typed_attempt_exists(
|
||||
&args.state_store,
|
||||
&args.policy.runtime_store,
|
||||
&lease.grant_id,
|
||||
)? {
|
||||
if !recover_dead_resident_typed_worker(
|
||||
&args.state_store,
|
||||
&args.policy.runtime_store,
|
||||
&lease.grant_id,
|
||||
now,
|
||||
)? {
|
||||
return Ok(ResidentSelfOutcome::AwaitingFulfillment);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
let recovery = recover_receipt_free_dead_coordinator_session(
|
||||
&args.state_store,
|
||||
&args.policy.runtime_store,
|
||||
lease,
|
||||
observation,
|
||||
now,
|
||||
)?;
|
||||
cancel_resident_self_turn(
|
||||
&args.state_store,
|
||||
lease,
|
||||
cancelled_turn_status(shutdown_requested, brake_engaged, timed_out),
|
||||
if recovery.is_some() {
|
||||
"exact coordinator process died after atomic opening and before a terminal receipt"
|
||||
} else {
|
||||
"exact coordinator process died before atomic runtime opening"
|
||||
},
|
||||
now,
|
||||
)?;
|
||||
Ok(outcome_after_cancel(shutdown_requested))
|
||||
}
|
||||
|
||||
fn cycle(
|
||||
args: &Args,
|
||||
state: &mut ResidentSelfState,
|
||||
|
|
@ -471,14 +367,16 @@ fn cycle(
|
|||
*state = load_resident_self_state(&args.state_store)?;
|
||||
return Ok(outcome);
|
||||
}
|
||||
let outcome = settle_receipt_free_dead_coordinator(
|
||||
args,
|
||||
let outcome = settle_resident_self_receipt_free_dead_coordinator(
|
||||
&args.state_store,
|
||||
&args.policy.runtime_store,
|
||||
&lease,
|
||||
observation,
|
||||
shutdown_requested,
|
||||
brake_engaged,
|
||||
timed_out,
|
||||
now,
|
||||
args.policy.cooldown_seconds,
|
||||
)?;
|
||||
*state = load_resident_self_state(&args.state_store)?;
|
||||
Ok(outcome)
|
||||
|
|
@ -891,23 +789,6 @@ mod brake_tests {
|
|||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn shutdown_preempts_other_cancellation_causes() {
|
||||
assert_eq!(
|
||||
cancelled_turn_status(true, true, true),
|
||||
"shutdown-cancelled"
|
||||
);
|
||||
assert_eq!(cancelled_turn_status(false, true, true), "brake-cancelled");
|
||||
assert_eq!(cancelled_turn_status(false, false, true), "timed-out");
|
||||
assert_eq!(cancelled_turn_status(false, false, false), "process-failed");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn shutdown_cancellation_is_a_braked_outcome_not_a_failure() {
|
||||
assert_eq!(outcome_after_cancel(true), ResidentSelfOutcome::Braked);
|
||||
assert_eq!(outcome_after_cancel(false), ResidentSelfOutcome::Failed);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn terminal_fulfillment_has_explicit_operator_projection() {
|
||||
assert_eq!(
|
||||
|
|
|
|||
|
|
@ -1394,6 +1394,94 @@ pub fn resident_self_grant_has_typed_request(
|
|||
Ok(resident_self_typed_request_ref(&grant)?.is_some())
|
||||
}
|
||||
|
||||
pub fn settle_resident_self_receipt_free_dead_coordinator(
|
||||
resident_store: &Path,
|
||||
runtime_store: &Path,
|
||||
lease: &ResidentSelfTurnLease,
|
||||
observation: ChildObservation,
|
||||
shutdown_requested: bool,
|
||||
brake_engaged: bool,
|
||||
timed_out: bool,
|
||||
now_millis: u64,
|
||||
cooldown_seconds: u64,
|
||||
) -> Result<ResidentSelfOutcome> {
|
||||
let typed = resident_self_grant_has_typed_request(resident_store, &lease.grant_id)?;
|
||||
if typed {
|
||||
match verify_resident_self_grant_fulfillment(
|
||||
resident_store,
|
||||
runtime_store,
|
||||
&lease.grant_id,
|
||||
)? {
|
||||
ResidentSelfGrantFulfillment::Fulfilled => {
|
||||
let recovery = recover_receipt_free_dead_coordinator_session(
|
||||
resident_store,
|
||||
runtime_store,
|
||||
lease,
|
||||
observation,
|
||||
now_millis,
|
||||
)?
|
||||
.ok_or_else(|| anyhow!(
|
||||
"typed fulfillment cannot predate its coordinator runtime incarnation"
|
||||
))?;
|
||||
complete_resident_self_turn_after_death(
|
||||
resident_store,
|
||||
lease,
|
||||
&recovery,
|
||||
now_millis,
|
||||
cooldown_seconds,
|
||||
)?;
|
||||
return Ok(ResidentSelfOutcome::Completed);
|
||||
}
|
||||
ResidentSelfGrantFulfillment::Pending => {
|
||||
if resident_self_typed_attempt_exists(
|
||||
resident_store,
|
||||
runtime_store,
|
||||
&lease.grant_id,
|
||||
)? && !recover_dead_resident_typed_worker(
|
||||
resident_store,
|
||||
runtime_store,
|
||||
&lease.grant_id,
|
||||
now_millis,
|
||||
)? {
|
||||
return Ok(ResidentSelfOutcome::AwaitingFulfillment);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
let recovery = recover_receipt_free_dead_coordinator_session(
|
||||
resident_store,
|
||||
runtime_store,
|
||||
lease,
|
||||
observation,
|
||||
now_millis,
|
||||
)?;
|
||||
let status = if shutdown_requested {
|
||||
"shutdown-cancelled"
|
||||
} else if brake_engaged {
|
||||
"brake-cancelled"
|
||||
} else if timed_out {
|
||||
"timed-out"
|
||||
} else {
|
||||
"process-failed"
|
||||
};
|
||||
cancel_resident_self_turn(
|
||||
resident_store,
|
||||
lease,
|
||||
status,
|
||||
if recovery.is_some() {
|
||||
"exact coordinator process died after atomic opening and before a terminal receipt"
|
||||
} else {
|
||||
"exact coordinator process died before atomic runtime opening"
|
||||
},
|
||||
now_millis,
|
||||
)?;
|
||||
Ok(if shutdown_requested {
|
||||
ResidentSelfOutcome::Braked
|
||||
} else {
|
||||
ResidentSelfOutcome::Failed
|
||||
})
|
||||
}
|
||||
|
||||
pub fn settle_resident_self_exited_coordinator(
|
||||
resident_store: &Path,
|
||||
runtime_store: &Path,
|
||||
|
|
@ -3562,6 +3650,11 @@ mod tests {
|
|||
let temp = tempfile::tempdir()?;
|
||||
let resident_store = temp.path().join("resident-self.cc");
|
||||
let runtime_store = temp.path().join("runtime.cc");
|
||||
let coordinator = temp.path().join("epiphany-mvp-coordinator");
|
||||
std::fs::write(&coordinator, b"witnessed executable")?;
|
||||
let mut resident_policy = policy();
|
||||
resident_policy.coordinator_bin = coordinator.clone();
|
||||
resident_policy.runtime_store = runtime_store.clone();
|
||||
seed_model_direction_request(
|
||||
&runtime_store,
|
||||
"request-model-fulfillment",
|
||||
|
|
@ -3591,6 +3684,37 @@ mod tests {
|
|||
2,
|
||||
)?
|
||||
.expect("model direction grant");
|
||||
let prepared = prepare_resident_self_launch(&resident_store, &resident_policy, 3)?
|
||||
.expect("model direction preparation");
|
||||
let process = LaunchedCoordinator {
|
||||
process_id: u32::MAX - 11,
|
||||
process_creation_token: 77,
|
||||
process_executable_path: coordinator,
|
||||
};
|
||||
claim_resident_self_preparation_as_child(
|
||||
&resident_store,
|
||||
&prepared.preparation_id,
|
||||
&process,
|
||||
4,
|
||||
)?;
|
||||
let lease = acknowledge_resident_self_launch(
|
||||
&resident_store,
|
||||
&prepared.preparation_id,
|
||||
&process,
|
||||
5,
|
||||
)?;
|
||||
let session_id = crate::coordinator_run_session_id(
|
||||
&lease.turn_id,
|
||||
Some(&lease.launch_digest),
|
||||
)?;
|
||||
crate::open_coordinator_run(
|
||||
&runtime_store,
|
||||
&session_id,
|
||||
&lease.turn_id,
|
||||
Some(&lease.launch_digest),
|
||||
&format!("Resident coordinator launch {}.", lease.objective_digest),
|
||||
"1970-01-01T00:00:00.005Z",
|
||||
)?;
|
||||
assert_eq!(
|
||||
verify_resident_self_grant_fulfillment(
|
||||
&resident_store,
|
||||
|
|
@ -3642,6 +3766,62 @@ mod tests {
|
|||
)?,
|
||||
ResidentSelfGrantFulfillment::Fulfilled
|
||||
);
|
||||
assert_eq!(
|
||||
settle_resident_self_receipt_free_dead_coordinator(
|
||||
&resident_store,
|
||||
&runtime_store,
|
||||
&lease,
|
||||
ChildObservation::Missing,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
6,
|
||||
resident_policy.cooldown_seconds,
|
||||
)?,
|
||||
ResidentSelfOutcome::Completed
|
||||
);
|
||||
let settled = load_resident_self_state(&resident_store)?;
|
||||
assert!(settled.active_turn.is_none());
|
||||
let terminal_grant = state_cache(&resident_store)?
|
||||
.get::<ResidentSelfHeartbeatGrant>(&grant.grant_id)?
|
||||
.expect("terminal model direction grant");
|
||||
assert_eq!(
|
||||
terminal_grant.terminal_status.as_deref(),
|
||||
Some("recovered-fulfilled")
|
||||
);
|
||||
let pressure = state_cache(&resident_store)?
|
||||
.get::<ResidentSelfPressure>("pressure-model-fulfillment")?
|
||||
.expect("consumed model direction pressure");
|
||||
assert_eq!(pressure.status, "consumed");
|
||||
assert_eq!(
|
||||
pressure.consumed_by_grant_id.as_deref(),
|
||||
Some(grant.grant_id.as_str())
|
||||
);
|
||||
let settled_bytes = std::fs::read(&resident_store)?;
|
||||
assert!(
|
||||
settle_resident_self_receipt_free_dead_coordinator(
|
||||
&resident_store,
|
||||
&runtime_store,
|
||||
&lease,
|
||||
ChildObservation::Missing,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
8,
|
||||
resident_policy.cooldown_seconds,
|
||||
)
|
||||
.is_err()
|
||||
);
|
||||
assert_eq!(std::fs::read(&resident_store)?, settled_bytes);
|
||||
assert!(
|
||||
heartbeat_issue_resident_self_grant(
|
||||
&resident_store,
|
||||
"heartbeat-must-not-retry",
|
||||
"action-must-not-retry",
|
||||
7,
|
||||
)?
|
||||
.is_none()
|
||||
);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3223,3 +3223,30 @@ only after exact native process observation.
|
|||
requeues once, and a distinct same-request attempt receives its own process
|
||||
and terminal authority while the first remains terminal. Valid-result-before-
|
||||
receipt and retention replay remain the open boundaries.
|
||||
|
||||
## Receipt-free typed fulfillment settlement owner
|
||||
|
||||
- Owner: resident Self owns whether a dead receipt-free coordinator completes,
|
||||
waits, or cancels its exact grant. The swarm binary owns native observation
|
||||
and supplies policy inputs only.
|
||||
- Inputs: exact resident lease and grant, authenticated runtime-owned typed
|
||||
fulfillment, exact coordinator incarnation, native child observation,
|
||||
shutdown/brake/timeout, time, and cooldown.
|
||||
- Outputs: fulfilled evidence plus exact coordinator death recovery closes the
|
||||
original grant `recovered-fulfilled`; pending live worker authority remains
|
||||
awaiting; terminal unfulfilled authority follows canonical cancellation.
|
||||
- Derived state: binary outcome projection and Heartbeat visibility do not own
|
||||
settlement. A consumed pressure is historical request authority, not a retry
|
||||
queue entry.
|
||||
- Forbidden writers: binary-local classifiers, receipt absence alone, elapsed
|
||||
time, and terminal acknowledgement presence cannot manufacture completion or
|
||||
retry.
|
||||
- Shared paths: `once` and `serve` both enter the same resident function through
|
||||
`cycle`; all three typed request families use runtime-owned fulfillment.
|
||||
- Cut line: delete the private binary settlement function and cancellation
|
||||
classifiers; resident Self performs recovery and the exact grant CAS.
|
||||
- Verification: admitted-model-direction result before coordinator receipt,
|
||||
exact missing-child recovery, one recovered-fulfilled grant, consumed
|
||||
pressure, byte-identical replay refusal, and no Heartbeat retry. Source passes
|
||||
661 core tests with one ignore plus seven swarm tests. Exact package and copied
|
||||
Linux proof remain.
|
||||
|
|
|
|||
|
|
@ -2457,3 +2457,23 @@ Next: prove a valid typed result published before the coordinator receipt closes
|
|||
the original grant exactly once without retry. Then run retention against these
|
||||
terminal attempts and settled grant and require non-resurrection. Actual c006
|
||||
stays braked and stopped; Yggdrasil never builds.
|
||||
|
||||
## Resident-owned fulfilled-before-receipt source cut — 2026-08-10
|
||||
|
||||
The receipt-free settlement decision no longer lives as private policy in the
|
||||
`epiphany-swarm` binary. Resident Self now owns the whole transition; the binary
|
||||
supplies only exact child observation, brake/shutdown/timeout state, time, and
|
||||
configured cooldown. The old binary cancellation classifiers and settlement
|
||||
function are deleted.
|
||||
|
||||
The admitted-model-direction fulfillment test now crosses the real ownership
|
||||
boundary: it persists the grant and active lease, atomically opens the resident
|
||||
coordinator incarnation, admits an authenticated typed terminal result, then
|
||||
observes the coordinator missing before any run receipt. Resident Self records
|
||||
the exact coordinator death recovery and closes the original grant as
|
||||
`recovered-fulfilled`. The pressure remains consumed by that grant, replay is
|
||||
refused with byte-identical resident state, and Heartbeat cannot issue a retry.
|
||||
|
||||
Full core verification passes 661 tests with one intentional ignore; all seven
|
||||
swarm tests pass without warnings. Commit, exact package, and copied Linux proof
|
||||
remain. Actual c006 is still braked and stopped.
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -36,9 +36,9 @@ invariants:
|
|||
|
||||
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: Exact pushed 7637b1cf packages the atomic terminal-failure owner as release sha256-fa3a1e1528191012c051f1b431d5a5ae392c140ee6219700c041c517b347facc with witness sha256-f5c3a576cc1f740f271ee69fec1b27dc296c62b1be1cfc9fb075909337c59914, 24 binaries, and zero warnings. In fresh copied Linux state, the activated packaged worker exited zero after typed model-transport failure while the same atomic completion made its job Failed and exact process claim terminal-failure under the generic result authority. Resident canonical settlement cleared one lease, terminalized one grant process-failed, emitted one cancellation ack, and requeued the pressure once. Heartbeat issued attempt two; a distinct same-request job and process creation token completed under its own terminal-failure authority while attempt one remained terminal. Receipts are under .epiphany-run/linux-package-7637b1cf and .epiphany-run/worker-terminal-failure-7637b1cf. Actual c006 remains braked and stopped.
|
||||
latest_phase: Exact pushed 7637b1cf packages and proves atomic terminal-failure, canonical requeue, and a distinct same-request retry without dual live authority. The next source cut moves receipt-free coordinator settlement out of binary-local policy into resident Self, which owns the grant transition. An authenticated admitted-model-direction path now proves a valid typed result may precede coordinator death and receipt absence: exact runtime death recovery closes the original grant recovered-fulfilled, leaves its pressure consumed, refuses replay without state change, and emits no Heartbeat retry. Full core verification passes 661/1 ignored and all 7 swarm tests pass. This owner cut is source-complete but uncommitted/unpackaged. Actual c006 remains braked and stopped.
|
||||
operational_state:
|
||||
local_worktree: worker_terminal_failure_packaged_live_accepted
|
||||
local_worktree: fulfilled_before_receipt_owner_source_complete
|
||||
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: c006_exact_c693aaea_settled_braked_no_active_lease_no_attempt_three_old_processes_stopped
|
||||
unresolved_authority: Coordinator receipt, Heartbeat pulse-artifact, deployed supervisor/projector log retention, genuine-idle and active resource plateaus, exact-grant terminality, restart-persistent cooldown refusal, schedule/action issuance cardinality, runtime-owned typed fulfillment, 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, and normal coordinator lifecycle opening/error closure/legacy repair/archival are accepted live. Receipt-free coordinator and worker death recovery are source-grounded, but the exact packaged Linux kill matrix is not yet accepted. Historical migrated semantic attempts without recorded physical namespace remain durable and non-retirable. Repository Body observation still performs two authenticated full-tree Git index/manifest passes. Execute-mode workers require a persistent process body. Mutable Starfire bind storage still needs the packaged randomized interruption/read-loop proof before recovered c005 authority may be trusted. One completed Discord consequence remains blocked by the absent Yggdrasil credential.
|
||||
next_action: Prove the valid-result-before-coordinator-receipt branch closes the original grant exactly once without retry across a richer copied runtime family. Then prove retention cannot resurrect either terminal-failure attempt or its settled grant, and exercise the remaining proposal Modeling, Imagination, and admitted-model-direction retry matrix. Keep actual c006 braked. Yggdrasil never builds.
|
||||
next_action: Commit and push the resident-owned receipt-free settlement cut, package the exact source once, then prove valid typed result before coordinator receipt closes the original grant exactly once on copied Linux state. Afterward prove retention cannot resurrect terminal worker attempts or their settled grants, and exercise the remaining proposal Modeling, Imagination, and admitted-model-direction matrix. Keep actual c006 braked. Yggdrasil never builds.
|
||||
|
||||
active_subgoals:
|
||||
- Prove Persona, Self, Eyes, Modeling, Imagination, Hands, Soul, Mind, Continuity, and nervous-system behavior individually.
|
||||
|
|
|
|||
Reference in a new issue