From bd72c5bbeae2073b2e04e692b7f1ac62072a33e2 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Sun, 12 Jul 2026 21:34:21 +0100 Subject: [PATCH] Test-gate orphaned provider responses --- epiphany-core/src/bin/epiphany-verse-query.rs | 202 ++---------------- epiphany-core/src/cultmesh_integration.rs | 24 +++ epiphany-core/src/lib.rs | 12 ++ notes/epiphany-current-algorithmic-map.md | 4 + notes/fresh-workspace-handoff.md | 3 + ...eipt-writer-provenance-audit-2026-07-12.md | 16 ++ state/ledgers.msgpack | Bin 436896 -> 437401 bytes state/map.yaml | 2 +- 8 files changed, 81 insertions(+), 182 deletions(-) diff --git a/epiphany-core/src/bin/epiphany-verse-query.rs b/epiphany-core/src/bin/epiphany-verse-query.rs index 0868eb58..34c2adab 100644 --- a/epiphany-core/src/bin/epiphany-verse-query.rs +++ b/epiphany-core/src/bin/epiphany-verse-query.rs @@ -39,16 +39,13 @@ use epiphany_core::default_epiphany_cultmesh_swarm_brake; use epiphany_core::epiphany_cluster_service_execution_audit_report; use epiphany_core::epiphany_cultmesh_agent_state_soa_summary_from_entry; use epiphany_core::epiphany_cultmesh_bifrost_body_change_publication_intent; -use epiphany_core::epiphany_cultmesh_bifrost_body_change_publication_receipt_for_intent; use epiphany_core::epiphany_cultmesh_bifrost_collaboration_feedback; -use epiphany_core::epiphany_cultmesh_bifrost_github_publication_receipt_for_publication; use epiphany_core::epiphany_cultmesh_daemon_poke_intent_from_status; use epiphany_core::epiphany_cultmesh_daemon_poke_receipt_for_intent; use epiphany_core::epiphany_cultmesh_daemon_tool_invocation_intent_from_capability; use epiphany_core::epiphany_cultmesh_daemon_tool_invocation_receipt_for_intent; use epiphany_core::epiphany_cultmesh_eve_connection_intent_from_advertisement; use epiphany_core::epiphany_cultmesh_eve_connection_receipt_for_intent; -use epiphany_core::epiphany_cultmesh_imagination_consensus_receipt_for_feedback; use epiphany_core::epiphany_service_execution_audit_report; use epiphany_core::load_agent_state_soa_entry; use epiphany_core::load_epiphany_cultmesh_cluster_topology; @@ -92,9 +89,7 @@ use epiphany_core::query_epiphany_local_verse_context; use epiphany_core::seed_epiphany_local_verse_context; use epiphany_core::write_epiphany_cultmesh_agent_state_soa_summary; use epiphany_core::write_epiphany_cultmesh_bifrost_body_change_publication_intent; -use epiphany_core::write_epiphany_cultmesh_bifrost_body_change_publication_receipt; use epiphany_core::write_epiphany_cultmesh_bifrost_collaboration_feedback; -use epiphany_core::write_epiphany_cultmesh_bifrost_github_publication_receipt; use epiphany_core::write_epiphany_cultmesh_daemon_poke_intent; use epiphany_core::write_epiphany_cultmesh_daemon_poke_receipt; use epiphany_core::write_epiphany_cultmesh_daemon_restart_policy; @@ -105,7 +100,6 @@ use epiphany_core::write_epiphany_cultmesh_daemon_tool_invocation_intent; use epiphany_core::write_epiphany_cultmesh_daemon_tool_invocation_receipt; use epiphany_core::write_epiphany_cultmesh_eve_connection_intent; use epiphany_core::write_epiphany_cultmesh_eve_connection_receipt; -use epiphany_core::write_epiphany_cultmesh_imagination_consensus_receipt; use epiphany_core::write_epiphany_cultmesh_swarm_brake; use epiphany_core::write_epiphany_cultmesh_work_loop_telemetry; use serde::Serialize; @@ -2414,38 +2408,6 @@ fn run_cli() -> Result<()> { args.runtime_id.clone(), bifrost_intent.clone(), )?; - let bifrost_receipt = - epiphany_cultmesh_bifrost_body_change_publication_receipt_for_intent( - "bifrost-publication-receipt-smoke", - &bifrost_intent, - "accepted-for-github-publication", - "bifrost-ledger-smoke", - "github-publication-smoke", - vec!["credit-receipt-smoke".to_string()], - vec!["maintainer-review-smoke".to_string()], - "https://github.com/GameCult/EpiphanyAgent/pull/smoke", - ); - write_epiphany_cultmesh_bifrost_body_change_publication_receipt( - &args.store, - args.runtime_id.clone(), - bifrost_receipt.clone(), - )?; - let github_receipt = - epiphany_cultmesh_bifrost_github_publication_receipt_for_publication( - "github-publication-smoke", - &bifrost_receipt, - "hands-pr-smoke", - "E:/Projects/EpiphanyAgent", - "codex/perfect-machine-cultmesh", - "smoke", - "dry-run-no-commit", - "epiphany.Hands", - ); - write_epiphany_cultmesh_bifrost_github_publication_receipt( - &args.store, - args.runtime_id.clone(), - github_receipt, - )?; let feedback = epiphany_cultmesh_bifrost_collaboration_feedback( "collaboration-feedback-smoke", "epiphany.Persona", @@ -2463,38 +2425,7 @@ fn run_cli() -> Result<()> { write_epiphany_cultmesh_bifrost_collaboration_feedback( &args.store, args.runtime_id.clone(), - feedback.clone(), - )?; - let consensus = epiphany_cultmesh_imagination_consensus_receipt_for_feedback( - "imagination-consensus-smoke", - &feedback, - "queued-for-consensus-discovery", - vec!["epiphany.Imagination".to_string()], - "gamecult-local/imagination/consensus-packets/smoke", - ); - let collaboration_tui_rows = collaboration_feedback_tui_rows(&feedback, &consensus); - if !collaboration_tui_rows.iter().any(|row| { - row.contains("collaboration-feedback") - && row.contains("owner=Persona->Imagination") - && row.contains( - "public=https://gamecult.org/Blog/purge-the-heretek-from-our-daemonic-swarm", - ) - && row.contains("candidates=candidate-action:open-collaboration-thread") - && row.contains("private=false") - }) || !collaboration_tui_rows.iter().any(|row| { - row.contains("imagination-consensus") - && row.contains("owner=Imagination") - && row.contains("adoptionGate=mind.review_then_bifrost_adoption") - && row.contains("private=false") - }) { - anyhow::bail!( - "local Verse query smoke lost compact collaboration feedback routing rows" - ); - } - write_epiphany_cultmesh_imagination_consensus_receipt( - &args.store, - args.runtime_id.clone(), - consensus, + feedback, )?; if !WRAPPER_COLLABORATION_FEEDBACK_COMMAND.contains("-Mode collaboration-feedback") || !WRAPPER_BIFROST_PUBLICATION_COMMAND.contains("-Mode bifrost-publication") @@ -2507,72 +2438,18 @@ fn run_cli() -> Result<()> { ); } let bifrost_ledger_report = load_bifrost_ledger_report(&args)?; - if bifrost_ledger_report.status != "ok" - || bifrost_ledger_report.publication_chain_count != 3 - || bifrost_ledger_report.collaboration_chain_count != 2 - || bifrost_ledger_report.accounting_rows.len() != 6 - || bifrost_ledger_report.closed_accounting_row_count != 2 - || bifrost_ledger_report.attention_accounting_row_count != 0 - || bifrost_ledger_report.repo_work_accounting_request_count != 0 - || bifrost_ledger_report.rows.len() != 5 + if bifrost_ledger_report.latest_publication_intent_id.is_none() + || bifrost_ledger_report + .latest_publication_receipt_id + .is_some() + || bifrost_ledger_report.latest_github_receipt_id.is_some() + || bifrost_ledger_report.latest_feedback_id.is_none() + || bifrost_ledger_report.latest_consensus_receipt_id.is_some() || bifrost_ledger_report.private_state_exposed - || !bifrost_ledger_report.tui_rows.iter().any(|row| { - row.contains("github-publication-receipt") - && row.contains("owner=Bifrost/GitHub") - && row.contains( - "public=https://github.com/GameCult/EpiphanyAgent/pull/smoke", - ) - && row.contains("private=false") - }) - || !bifrost_ledger_report.tui_rows.iter().any(|row| { - row.contains("imagination-consensus-receipt") - && row.contains("owner=Imagination") - && row.contains( - "public=https://gamecult.org/Blog/purge-the-heretek-from-our-daemonic-swarm", - ) - && row.contains("private=false") - }) - || !bifrost_ledger_report.accounting_tui_rows.iter().any(|row| { - row.contains("BIFROST-ACCOUNTING | body-change-publication") - && row.contains("status=closed") - && row.contains("intent=present publication=present github=present") - && row.contains("review=1") - && row.contains("credit=1") - && row.contains("private=false") - }) - || !bifrost_ledger_report.accounting_tui_rows.iter().any(|row| { - row.contains("BIFROST-ACCOUNTING | public-proof-publication") - && row.contains("status=missing") - && row.contains("proof=missing") - && row.contains("private=false") - }) - || !bifrost_ledger_report.accounting_tui_rows.iter().any(|row| { - row.contains("BIFROST-ACCOUNTING | repo-work-readiness-review") - && row.contains("status=missing") - && row.contains("review=0") - && row.contains("approval=missing") - && row.contains("private=false") - }) - || !bifrost_ledger_report.accounting_tui_rows.iter().any(|row| { - row.contains("BIFROST-ACCOUNTING | artifact-acceptance-request") - && row.contains("status=missing") - && row.contains("request=missing") - && row.contains("private=false") - }) - || !bifrost_ledger_report.accounting_tui_rows.iter().any(|row| { - row.contains("BIFROST-ACCOUNTING | metrics-request") - && row.contains("status=missing") - && row.contains("request=missing") - && row.contains("private=false") - }) - || !bifrost_ledger_report.accounting_tui_rows.iter().any(|row| { - row.contains("BIFROST-ACCOUNTING | collaboration-consensus") - && row.contains("status=closed") - && row.contains("feedback=present consensus=present") - && row.contains("private=false") - }) { - anyhow::bail!("local Verse query smoke lost compact Bifrost ledger readback"); + anyhow::bail!( + "local Verse query smoke must preserve pending requester state without manufacturing Bifrost, GitHub, or Imagination responses" + ); } write_epiphany_cultmesh_work_loop_telemetry( &args.store, @@ -2694,15 +2571,15 @@ fn run_cli() -> Result<()> { .is_some_and(|brake| brake.private_state_exposed) || context .latest_bifrost_body_change_publication_receipt - .is_none() - || context.latest_bifrost_github_publication_receipt.is_none() + .is_some() + || context.latest_bifrost_github_publication_receipt.is_some() || context.latest_bifrost_collaboration_feedback.is_none() - || context.latest_imagination_consensus_receipt.is_none() + || context.latest_imagination_consensus_receipt.is_some() || context.latest_work_loop_summary.is_none() || context.latest_agent_state_soa_summary.is_none() { anyhow::bail!( - "local Verse query smoke lost daemon statuses, Eve surfaces, Bifrost publication, collaboration feedback, work-loop receipts, or agent state SoA summary" + "local Verse query smoke lost requester state, manufactured provider responses, or lost work-loop/agent-state summaries" ); } let agent_summary = context @@ -2764,10 +2641,8 @@ fn run_cli() -> Result<()> { args.runtime_id.clone(), )?; let receipt_directory = receipt_directory_report(&context, &lifecycle_receipts, None); - if receipt_directory.status != "ok" - || receipt_directory.private_state_exposed + if receipt_directory.private_state_exposed || !receipt_directory.attention_route_rows.is_empty() - || receipt_directory.ready_row_count < 7 || receipt_directory.artifact_none_count != receipt_directory.rows.len() || receipt_directory.artifact_external_ref_count != 0 || receipt_directory.artifact_present_count != 0 @@ -2779,13 +2654,13 @@ fn run_cli() -> Result<()> { }) || !receipt_directory.rows.iter().any(|row| { row.family == "bifrost-publication" - && row.latest_id == "github-publication-smoke" + && !row.present && row.follow_up_command == WRAPPER_BIFROST_LEDGER_COMMAND }) - || !receipt_directory.rows.iter().any(|row| { - row.family == "imagination-consensus" - && row.latest_id == "imagination-consensus-smoke" - }) + || !receipt_directory + .rows + .iter() + .any(|row| row.family == "imagination-consensus" && !row.present) || !receipt_directory.rows.iter().any(|row| { row.family == "work-loop" && row.latest_id == "work-loop-telemetry-smoke" }) @@ -9358,41 +9233,6 @@ fn present_word(present: bool) -> &'static str { if present { "present" } else { "missing" } } -fn collaboration_feedback_tui_rows( - feedback: &EpiphanyCultMeshBifrostCollaborationFeedbackEntry, - consensus: &EpiphanyCultMeshImaginationConsensusReceiptEntry, -) -> Vec { - let public_refs = compact_tui_list(&feedback.public_discussion_refs); - let candidate_refs = compact_tui_list(&feedback.candidate_action_refs); - let private_feedback = if feedback.private_state_included { - "private=true" - } else { - "private=false" - }; - let private_consensus = if consensus.private_state_exposed { - "private=true" - } else { - "private=false" - }; - vec![ - format!( - "OK | collaboration-feedback | owner=Persona->Imagination | {} | topic={} | public={} | candidates={} | route={} | {private_feedback}", - feedback.feedback_id, - feedback.collaboration_topic, - public_refs, - candidate_refs, - feedback.requested_consensus_route - ), - format!( - "OK | imagination-consensus | owner=Imagination | {} | packet={} | adoptionGate={} | public={} | {private_consensus}", - consensus.receipt_id, - consensus.consensus_packet_ref, - consensus.adoption_gate, - compact_tui_list(&consensus.public_feedback_refs) - ), - ] -} - fn compact_tui_list(values: &[String]) -> String { if values.is_empty() { "none".to_string() diff --git a/epiphany-core/src/cultmesh_integration.rs b/epiphany-core/src/cultmesh_integration.rs index 1bf27f03..fcdc64cc 100644 --- a/epiphany-core/src/cultmesh_integration.rs +++ b/epiphany-core/src/cultmesh_integration.rs @@ -4408,6 +4408,7 @@ pub fn epiphany_cultmesh_bifrost_body_change_publication_intent( } } +#[cfg(test)] pub fn epiphany_cultmesh_bifrost_body_change_publication_receipt_for_intent( receipt_id: impl Into, intent: &EpiphanyCultMeshBifrostBodyChangePublicationIntentEntry, @@ -4456,6 +4457,7 @@ pub fn write_epiphany_cultmesh_bifrost_body_change_publication_intent( Ok(written) } +#[cfg(test)] pub fn write_epiphany_cultmesh_bifrost_body_change_publication_receipt( store_path: impl AsRef, runtime_id: impl Into, @@ -4491,6 +4493,7 @@ pub fn load_latest_epiphany_cultmesh_bifrost_body_change_publication_receipt( } #[allow(clippy::too_many_arguments)] +#[cfg(test)] pub fn epiphany_cultmesh_bifrost_github_publication_receipt_for_publication( receipt_id: impl Into, publication_receipt: &EpiphanyCultMeshBifrostBodyChangePublicationReceiptEntry, @@ -4526,6 +4529,7 @@ pub fn epiphany_cultmesh_bifrost_github_publication_receipt_for_publication( } } +#[cfg(test)] pub fn write_epiphany_cultmesh_bifrost_github_publication_receipt( store_path: impl AsRef, runtime_id: impl Into, @@ -4552,6 +4556,7 @@ pub fn load_latest_epiphany_cultmesh_bifrost_github_publication_receipt( } #[allow(clippy::too_many_arguments)] +#[cfg(test)] pub fn epiphany_cultmesh_bifrost_public_proof_publication_receipt_for_proof( receipt_id: impl Into, proof: &EpiphanyCultMeshRepoWorkPublicProofEntry, @@ -4589,6 +4594,7 @@ pub fn epiphany_cultmesh_bifrost_public_proof_publication_receipt_for_proof( } } +#[cfg(test)] pub fn write_epiphany_cultmesh_bifrost_public_proof_publication_receipt( store_path: impl AsRef, runtime_id: impl Into, @@ -4616,6 +4622,7 @@ pub fn load_latest_epiphany_cultmesh_bifrost_public_proof_publication_receipt( } #[allow(clippy::too_many_arguments)] +#[cfg(test)] pub fn epiphany_cultmesh_bifrost_artifact_acceptance_receipt_for_map_entry( receipt_id: impl Into, map_entry: &EpiphanyCultMeshRepoWorkMapEntry, @@ -4650,6 +4657,7 @@ pub fn epiphany_cultmesh_bifrost_artifact_acceptance_receipt_for_map_entry( } } +#[cfg(test)] pub fn write_epiphany_cultmesh_bifrost_artifact_acceptance_receipt( store_path: impl AsRef, runtime_id: impl Into, @@ -4677,6 +4685,7 @@ pub fn load_latest_epiphany_cultmesh_bifrost_artifact_acceptance_receipt( } #[allow(clippy::too_many_arguments)] +#[cfg(test)] pub fn epiphany_cultmesh_bifrost_metrics_receipt_for_map_entry( receipt_id: impl Into, map_entry: &EpiphanyCultMeshRepoWorkMapEntry, @@ -4710,6 +4719,7 @@ pub fn epiphany_cultmesh_bifrost_metrics_receipt_for_map_entry( } } +#[cfg(test)] pub fn write_epiphany_cultmesh_bifrost_metrics_receipt( store_path: impl AsRef, runtime_id: impl Into, @@ -4768,6 +4778,7 @@ pub fn epiphany_cultmesh_bifrost_collaboration_feedback( } } +#[cfg(test)] pub fn epiphany_cultmesh_imagination_consensus_receipt_for_feedback( receipt_id: impl Into, feedback: &EpiphanyCultMeshBifrostCollaborationFeedbackEntry, @@ -4812,6 +4823,7 @@ pub fn write_epiphany_cultmesh_bifrost_collaboration_feedback( Ok(written) } +#[cfg(test)] pub fn write_epiphany_cultmesh_imagination_consensus_receipt( store_path: impl AsRef, runtime_id: impl Into, @@ -4891,6 +4903,7 @@ fn validate_bifrost_body_change_publication_intent( Ok(()) } +#[cfg(test)] fn validate_bifrost_body_change_publication_receipt( receipt: &EpiphanyCultMeshBifrostBodyChangePublicationReceiptEntry, ) -> Result<()> { @@ -4917,6 +4930,7 @@ fn validate_bifrost_body_change_publication_receipt( Ok(()) } +#[cfg(test)] fn validate_bifrost_github_publication_receipt( receipt: &EpiphanyCultMeshBifrostGithubPublicationReceiptEntry, ) -> Result<()> { @@ -4958,6 +4972,7 @@ fn validate_bifrost_github_publication_receipt( Ok(()) } +#[cfg(test)] fn validate_bifrost_public_proof_publication_receipt( receipt: &EpiphanyCultMeshBifrostPublicProofPublicationReceiptEntry, ) -> Result<()> { @@ -5010,6 +5025,7 @@ fn validate_bifrost_public_proof_publication_receipt( Ok(()) } +#[cfg(test)] fn validate_bifrost_artifact_acceptance_receipt( receipt: &EpiphanyCultMeshBifrostArtifactAcceptanceReceiptEntry, ) -> Result<()> { @@ -5069,6 +5085,7 @@ fn validate_bifrost_artifact_acceptance_receipt( Ok(()) } +#[cfg(test)] fn validate_bifrost_metrics_receipt( receipt: &EpiphanyCultMeshBifrostMetricsReceiptEntry, ) -> Result<()> { @@ -5155,6 +5172,7 @@ fn validate_bifrost_collaboration_feedback( Ok(()) } +#[cfg(test)] fn validate_imagination_consensus_receipt( receipt: &EpiphanyCultMeshImaginationConsensusReceiptEntry, ) -> Result<()> { @@ -6304,22 +6322,27 @@ fn epiphany_cultmesh_bifrost_body_change_publication_intent_key(intent_id: &str) format!("gamecult-local/bifrost/body-change-publication-intent/{intent_id}") } +#[cfg(test)] fn epiphany_cultmesh_bifrost_body_change_publication_receipt_key(receipt_id: &str) -> String { format!("gamecult-local/bifrost/body-change-publication-receipt/{receipt_id}") } +#[cfg(test)] fn epiphany_cultmesh_bifrost_github_publication_receipt_key(receipt_id: &str) -> String { format!("gamecult-local/bifrost/github-publication-receipt/{receipt_id}") } +#[cfg(test)] fn epiphany_cultmesh_bifrost_public_proof_publication_receipt_key(receipt_id: &str) -> String { format!("gamecult-local/bifrost/public-proof-publication-receipt/{receipt_id}") } +#[cfg(test)] fn epiphany_cultmesh_bifrost_artifact_acceptance_receipt_key(receipt_id: &str) -> String { format!("gamecult-local/bifrost/artifact-acceptance-receipt/{receipt_id}") } +#[cfg(test)] fn epiphany_cultmesh_bifrost_metrics_receipt_key(receipt_id: &str) -> String { format!("gamecult-local/bifrost/metrics-receipt/{receipt_id}") } @@ -6328,6 +6351,7 @@ fn epiphany_cultmesh_bifrost_collaboration_feedback_key(feedback_id: &str) -> St format!("gamecult-local/bifrost/collaboration-feedback/{feedback_id}") } +#[cfg(test)] fn epiphany_cultmesh_imagination_consensus_receipt_key(receipt_id: &str) -> String { format!("gamecult-local/imagination/consensus-discovery-receipt/{receipt_id}") } diff --git a/epiphany-core/src/lib.rs b/epiphany-core/src/lib.rs index 0084e07e..056de746 100644 --- a/epiphany-core/src/lib.rs +++ b/epiphany-core/src/lib.rs @@ -374,13 +374,18 @@ pub use cultmesh_integration::default_epiphany_cultmesh_operator_status; pub use cultmesh_integration::default_epiphany_cultmesh_swarm_brake; pub use cultmesh_integration::epiphany_cluster_service_execution_audit_report; pub use cultmesh_integration::epiphany_cultmesh_agent_state_soa_summary_from_entry; +#[cfg(test)] pub use cultmesh_integration::epiphany_cultmesh_bifrost_artifact_acceptance_receipt_for_map_entry; pub use cultmesh_integration::epiphany_cultmesh_bifrost_body_change_publication_intent; +#[cfg(test)] pub use cultmesh_integration::epiphany_cultmesh_bifrost_body_change_publication_receipt_for_intent; pub use cultmesh_integration::epiphany_cultmesh_bifrost_collaboration_feedback; pub use cultmesh_integration::epiphany_cultmesh_bifrost_contracts; +#[cfg(test)] pub use cultmesh_integration::epiphany_cultmesh_bifrost_github_publication_receipt_for_publication; +#[cfg(test)] pub use cultmesh_integration::epiphany_cultmesh_bifrost_metrics_receipt_for_map_entry; +#[cfg(test)] pub use cultmesh_integration::epiphany_cultmesh_bifrost_public_proof_publication_receipt_for_proof; pub use cultmesh_integration::epiphany_cultmesh_continuity_contracts; pub use cultmesh_integration::epiphany_cultmesh_coordinator_run_receipt_from_summary_json; @@ -399,6 +404,7 @@ pub use cultmesh_integration::epiphany_cultmesh_eyes_contracts; pub use cultmesh_integration::epiphany_cultmesh_global_room_policies; pub use cultmesh_integration::epiphany_cultmesh_hands_action_gate_from_summary_json; pub use cultmesh_integration::epiphany_cultmesh_hands_contracts; +#[cfg(test)] pub use cultmesh_integration::epiphany_cultmesh_imagination_consensus_receipt_for_feedback; pub use cultmesh_integration::epiphany_cultmesh_mind_contracts; pub use cultmesh_integration::epiphany_cultmesh_operator_snapshot_from_status_json; @@ -466,13 +472,18 @@ pub use cultmesh_integration::publish_epiphany_cultmesh_provider_state; pub use cultmesh_integration::query_epiphany_local_verse_context; pub use cultmesh_integration::seed_epiphany_local_verse_context; pub use cultmesh_integration::write_epiphany_cultmesh_agent_state_soa_summary; +#[cfg(test)] pub use cultmesh_integration::write_epiphany_cultmesh_bifrost_artifact_acceptance_receipt; pub use cultmesh_integration::write_epiphany_cultmesh_bifrost_body_change_publication_intent; +#[cfg(test)] pub use cultmesh_integration::write_epiphany_cultmesh_bifrost_body_change_publication_receipt; pub use cultmesh_integration::write_epiphany_cultmesh_bifrost_collaboration_feedback; pub use cultmesh_integration::write_epiphany_cultmesh_bifrost_contracts; +#[cfg(test)] pub use cultmesh_integration::write_epiphany_cultmesh_bifrost_github_publication_receipt; +#[cfg(test)] pub use cultmesh_integration::write_epiphany_cultmesh_bifrost_metrics_receipt; +#[cfg(test)] pub use cultmesh_integration::write_epiphany_cultmesh_bifrost_public_proof_publication_receipt; pub use cultmesh_integration::write_epiphany_cultmesh_continuity_contracts; pub use cultmesh_integration::write_epiphany_cultmesh_coordinator_run_receipt; @@ -493,6 +504,7 @@ pub use cultmesh_integration::write_epiphany_cultmesh_hands_action_gate; pub use cultmesh_integration::write_epiphany_cultmesh_hands_contracts; pub use cultmesh_integration::write_epiphany_cultmesh_idunn_aftercare_audit_receipt; pub use cultmesh_integration::write_epiphany_cultmesh_idunn_deployment_receipt; +#[cfg(test)] pub use cultmesh_integration::write_epiphany_cultmesh_imagination_consensus_receipt; pub use cultmesh_integration::write_epiphany_cultmesh_managed_service_policy; pub use cultmesh_integration::write_epiphany_cultmesh_mind_contracts; diff --git a/notes/epiphany-current-algorithmic-map.md b/notes/epiphany-current-algorithmic-map.md index 723d22fa..2054cce7 100644 --- a/notes/epiphany-current-algorithmic-map.md +++ b/notes/epiphany-current-algorithmic-map.md @@ -110,6 +110,10 @@ topology. Rendering a worker prompt cannot initialize shared state. Its standalone smoke accepts no path arguments and writes only beneath `.epiphany-smoke`. +- Bifrost publication/GitHub/public-proof/artifact/metrics response constructors + and Imagination consensus response construction are test-only. Production + retains typed schemas and readers for provider-authored ingest, but no local + shipped binary owns or writes those response documents. - Store/runtime overrides fail before fixture seeding or receipt construction. - Negative proof: targeting `state/local-verse.ccmp` was rejected and its SHA-256 did not change. - Positive proof: the built-in quarantined smoke completes successfully and reports its quarantine coordinates. diff --git a/notes/fresh-workspace-handoff.md b/notes/fresh-workspace-handoff.md index 6d76313a..ef2dee17 100644 --- a/notes/fresh-workspace-handoff.md +++ b/notes/fresh-workspace-handoff.md @@ -33,6 +33,9 @@ The confirmed conceptual substitutions have been cut: - worker launch-context rendering requires the existing Verse and cannot seed it. The prompt-context smoke accepts no destination and is fixed beneath `.epiphany-smoke`. +- orphaned Bifrost/GitHub/Maintainer response and Imagination consensus + constructors/writers are test-only. The aggregate smoke proves requests stay + pending; production keeps readers for externally provider-authored documents. The presentation boundary is now plain: `swarm overview` is a generic compact read-only projection. Gjallar is a downstream TUI application on Nightwing and is not an Epiphany organ, provider, owner, runtime, or architectural dependency. Eve/CultUI graphs may be lowered or composited downstream without Epiphany caring which presentation client does it. diff --git a/notes/receipt-writer-provenance-audit-2026-07-12.md b/notes/receipt-writer-provenance-audit-2026-07-12.md index 235c1655..cdb6ffad 100644 --- a/notes/receipt-writer-provenance-audit-2026-07-12.md +++ b/notes/receipt-writer-provenance-audit-2026-07-12.md @@ -40,3 +40,19 @@ Negative proof passed both directions: a plan command given hostile `--execute-i ## Standalone receipt-smoke quarantine update The two standalone smoke binaries found writing canonical receipt schemas no longer accept receipt-store destinations. `epiphany-repo-deployment-config-family-smoke` accepts only `--root` and derives its entire disposable repo/Verse body under `/.epiphany-smoke`; `--smoke-root` is rejected. `epiphany-weksa-interlingua-smoke` accepts no arguments and writes only `.epiphany-smoke/weksa-interlingua/local-verse.ccmp`. Attempts to redirect either at live state fail before fixture construction. + +## Orphaned provider response API quarantine + +The aggregate `epiphany-verse-query smoke` was the only shipped caller of local +Bifrost publication/GitHub response constructors and Imagination consensus +response construction. It fabricated closed provider chains so its own ledger +projection could report success. Public-proof, artifact-acceptance, and metrics +response writers had no shipped callers but remained publicly exported. + +The aggregate smoke now proves the opposite invariant: requester intent and +Persona feedback are present while Bifrost publication, GitHub publication, +and Imagination consensus responses remain absent. All six orphaned response +constructors, six writers, their validators, and event-key helpers are compiled +only under `cfg(test)`. Typed response schemas and read loaders remain in +production for ingesting documents authored by external owning providers; no +shipped Epiphany binary can construct or persist those responses. diff --git a/state/ledgers.msgpack b/state/ledgers.msgpack index be3590abb4fecbeda47870a35fc1d5671b6ead10..28d501129cc9b01a46108beccf28fb4b7424c1a3 100644 GIT binary patch delta 428 zcmX|-ze)o^5XQZjoJa_mPHY?y#3IR|NhLPgsD)r57IvH5I>*{mKeIC4RIoFO; zxtSGiX9b6q?aQnptMoA|xaE2JGI!U~z2DO2-)&pVD2a+SuCJu$-;z)LlChHwb zdy=%hGa;2_p#g&wYefhhUad(wRvW4<+(RQRX2n26(ii^?9H6rG9*!ZzC|aK!FY^d2kZopv>7|fX9lE)FKuX~t2+_^hxvr?>1GP@u`V+mrT2hvC5 zWi+TLp&T$f^_dw&n>)4v=SKUCE4AWImWIHNV-A}~qE5&b@**wxPJ*sBfFsVNM3g_Z h0#XJ1ZK-^6Yuh4+U0_1YWH6K*Cb2LSM)5E;{s7Uvoeuy2 delta 57 zcmbPvQ)