Test-gate orphaned provider responses
This commit is contained in:
parent
f17a6d4585
commit
bd72c5bbea
8 changed files with 81 additions and 182 deletions
|
|
@ -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<String> {
|
||||
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()
|
||||
|
|
|
|||
|
|
@ -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<String>,
|
||||
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<Path>,
|
||||
runtime_id: impl Into<String>,
|
||||
|
|
@ -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<String>,
|
||||
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<Path>,
|
||||
runtime_id: impl Into<String>,
|
||||
|
|
@ -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<String>,
|
||||
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<Path>,
|
||||
runtime_id: impl Into<String>,
|
||||
|
|
@ -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<String>,
|
||||
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<Path>,
|
||||
runtime_id: impl Into<String>,
|
||||
|
|
@ -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<String>,
|
||||
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<Path>,
|
||||
runtime_id: impl Into<String>,
|
||||
|
|
@ -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<String>,
|
||||
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<Path>,
|
||||
runtime_id: impl Into<String>,
|
||||
|
|
@ -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}")
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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 `<root>/.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.
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -70,7 +70,7 @@ data_flow:
|
|||
- move historical proof to git, commits, smoke artifacts, or distilled evidence rather than plan prose
|
||||
|
||||
active_subgoals:
|
||||
- Use `notes/conceptual-substitution-audit-2026-07-12.md` plus `notes/receipt-writer-provenance-audit-2026-07-12.md` as the current authority-corrosion maps. Snapshot promotion, synthetic smoke escape, unbound operator completion, hidden service execution flags, provider/bootstrap collapse, the central topology-derived Odin publisher, all-provider writers, cluster-daemon bootstrap, daemon-supervisor production bootstrap, requester/operator query bootstrap, and launch-context bootstrap are cut. Only explicit seed commands and named path-confined fixtures initialize; providers, Idunn, requesters, diagnostics, and worker-launch assembly require the existing shared body. Next remove or test-gate dead public receipt constructors where provider binaries are absent and audit remaining projections, caches, schedulers, adapters, and non-receipt smokes for borrowed authority or path escape.
|
||||
- Use `notes/conceptual-substitution-audit-2026-07-12.md` plus `notes/receipt-writer-provenance-audit-2026-07-12.md` as the current authority-corrosion maps. Snapshot promotion, synthetic smoke escape, unbound operator completion, hidden service execution flags, provider/bootstrap collapse, central/all-provider publication, production-side implicit bootstrap, and orphaned Bifrost/GitHub/Maintainer/Imagination response authority are cut. Only explicit seed commands and named path-confined fixtures initialize; provider response constructors/writers without local owning bodies are test-only while production retains typed readers for external ingest. Next audit remaining projections, caches, schedulers, adapters, and non-receipt smokes for borrowed authority or path escape.
|
||||
- `swarm-overview` is an Epiphany-local, renderer-neutral diagnostic projection over provider-owned typed state. It owns no lifecycle, discovery, composition, or mutation authority. Epiphany publishes clean provider-owned Eve surfaces; Odin may discover them; downstream lowerers and compositors remain outside Epiphany's concern.
|
||||
- Idunn owns daemon survival and service lifecycle physiology. Codex/operator sessions may inspect, generate runbooks, and route explicit operator authority, but keeping daemons alive belongs to Idunn-owned service lifecycle receipts, scheduler policy, audits, and aftercare. Do not let Self, diagnostic projections, or ad hoc wrapper summaries become a second daemon-keeper. Global tool readbacks for Self `service-health`, `service-policy-directory`, and `swarm-online-runbook` state `lifecycleOwner=Idunn` and `hostedBody=Epiphany` without service mutation or private-state exposure.
|
||||
- Use `notes/epiphany-cultmesh-dreaming-roadmap.md` as the design authority for distributed Epiphany dreaming. Public dreams are separately authored typed documents distributed through CultMesh/CultNet; private state remains local and cannot be shared by flipping a visibility flag. Foreign dreams are external thought weather until a reviewed local adoption receipt digests them into memory, planning, doctrine, or governance.
|
||||
|
|
|
|||
Reference in a new issue