Separate external governance fixtures
This commit is contained in:
parent
3fddc87d6d
commit
fe8f49d462
6 changed files with 281 additions and 267 deletions
|
|
@ -664,270 +664,5 @@ impl RepoSyncRequest {
|
|||
#[derive(Debug, Deserialize)] struct RepoSyncAuthority { branch_local_only:bool, merge_authorized:bool, push_authorized:bool, upstream_sync_authorized:bool, github_publication_authorized:bool, credit_ledger_authorized:bool, hands_action_authorized:bool, service_lifecycle_authority:bool, cross_body_mutation_authorized:bool, private_verse_rummaging:bool, operator_or_maintainer_authority_required:bool }
|
||||
pub(super) fn parse_repo_sync_request(text:&str)->Result<RepoSyncRequest>{toml::from_str(text).context("sync request is not valid typed TOML")}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tool_request_tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn comment_cannot_counterfeit_direct_execution_seal() {
|
||||
let text = r#"
|
||||
schema_version = "epiphany.repo_tool_request.v0"
|
||||
safe_action_family = "repo.tool_request"
|
||||
summary = "summary"
|
||||
private_state_exposed = false
|
||||
[request]
|
||||
target_directory = "gamecult-local/daemon-tool-directory"
|
||||
target_capability = "daemon-tool-capability:selected-by-review"
|
||||
operation = "submitTypedToolIntent"
|
||||
[cultmesh]
|
||||
intent_contract = "epiphany.cultmesh.daemon_tool_invocation_intent.v0"
|
||||
receipt_contract = "epiphany.cultmesh.daemon_tool_invocation_receipt.v0"
|
||||
host_daemon_owns_execution = true
|
||||
requester_owns_request = false
|
||||
requires_host_liveness_ready = true
|
||||
requires_cultmesh_receipts = true
|
||||
[odin]
|
||||
discoverable = true
|
||||
preserves_provider_ownership = true
|
||||
private_verse_passthrough = false
|
||||
[authority]
|
||||
# direct_tool_execution = false
|
||||
direct_tool_execution = true
|
||||
arbitrary_shell_authority = false
|
||||
hands_action_authority = false
|
||||
state_commit_authority = false
|
||||
publication_authority = false
|
||||
service_lifecycle_authority = false
|
||||
cross_body_mutation_authority = false
|
||||
private_verse_rummaging = false
|
||||
"#;
|
||||
let request = parse_repo_tool_request(text).expect("fixture is typed TOML");
|
||||
assert!(request.authority.direct_tool_execution);
|
||||
assert!(!request.has_authority_seals());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn metrics_comment_cannot_counterfeit_spend_seal() {
|
||||
let text = r#"
|
||||
schema_version = "epiphany.repo_metrics_request.v0"
|
||||
safe_action_family = "repo.metrics_request"
|
||||
summary = "summary"
|
||||
private_state_exposed = false
|
||||
[request]
|
||||
status = "awaiting-metrics-review"
|
||||
requested_owner = "Bifrost/Maintainer"
|
||||
requested_effect = "record-compute-review-and-artifact-accounting"
|
||||
publication_request_ref = "publication"
|
||||
credit_request_ref = "credit"
|
||||
artifact_acceptance_request_ref = "artifact"
|
||||
[antecedents]
|
||||
closure_review_required = true
|
||||
soul_verdict_required = true
|
||||
mind_commit_required = true
|
||||
public_proof_required = true
|
||||
accepted_artifact_required = true
|
||||
credit_request_required = true
|
||||
[required_receipts]
|
||||
closure_review = "epiphany.repo_work_closure_review.v0"
|
||||
soul_verdict = "epiphany.soul.verification_verdict"
|
||||
mind_commit = "epiphany.mind.state_commit_receipt"
|
||||
public_proof = "epiphany.repo_work_public_proof_bundle.v0"
|
||||
accepted_artifact = "gamecult.artifact.acceptance_receipt.v0"
|
||||
model_spend = "gamecult.metrics.model_spend_receipt.v0"
|
||||
review_load = "gamecult.metrics.review_load_receipt.v0"
|
||||
credit_readback = "gamecult.bifrost.credit_readback_receipt.v0"
|
||||
[metrics_packet]
|
||||
requires_model_call_count = true
|
||||
requires_token_or_cost_summary = true
|
||||
requires_review_minutes_or_count = true
|
||||
requires_accepted_artifact_ref = true
|
||||
requires_public_proof_ref = true
|
||||
requires_credit_readback_ref = true
|
||||
requires_private_state_redaction_check = true
|
||||
[authority]
|
||||
branch_local_only = true
|
||||
metrics_ledger_authorized = false
|
||||
# spend_authorized = false
|
||||
spend_authorized = true
|
||||
review_load_authorized = false
|
||||
credit_ledger_authorized = false
|
||||
github_pr_authorized = false
|
||||
merge_authorized = false
|
||||
publication_authorized = false
|
||||
upstream_sync_authorized = false
|
||||
hands_action_authorized = false
|
||||
service_lifecycle_authority = false
|
||||
cross_body_mutation_authorized = false
|
||||
private_verse_rummaging = false
|
||||
bifrost_or_maintainer_metrics_authority_required = true
|
||||
"#;
|
||||
let request = parse_repo_metrics_request(text).expect("fixture is typed TOML");
|
||||
assert!(!request.has_authority_seals());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn artifact_comment_cannot_counterfeit_acceptance_seal() {
|
||||
let text = r#"
|
||||
schema_version = "epiphany.repo_artifact_acceptance_request.v0"
|
||||
safe_action_family = "repo.artifact_acceptance_request"
|
||||
summary = "summary"
|
||||
private_state_exposed = false
|
||||
[request]
|
||||
status = "awaiting-artifact-acceptance-review"
|
||||
requested_owner = "Maintainer/Bifrost"
|
||||
requested_effect = "record-accepted-artifact-for-reviewed-branch-work"
|
||||
verification_request_ref = "verification"
|
||||
maintainer_review_request_ref = "review"
|
||||
publication_request_ref = "publication"
|
||||
[antecedents]
|
||||
closure_review_required = true
|
||||
soul_verdict_required = true
|
||||
mind_commit_required = true
|
||||
public_proof_required = true
|
||||
maintainer_review_required = true
|
||||
hands_commit_required = true
|
||||
[required_receipts]
|
||||
closure_review = "epiphany.repo_work_closure_review.v0"
|
||||
soul_verdict = "epiphany.soul.verification_verdict"
|
||||
mind_commit = "epiphany.mind.state_commit_receipt"
|
||||
public_proof = "epiphany.repo_work_public_proof_bundle.v0"
|
||||
maintainer_review = "gamecult.maintainer.review_receipt.v0"
|
||||
hands_commit = "epiphany.hands.commit_receipt"
|
||||
accepted_artifact = "gamecult.artifact.acceptance_receipt.v0"
|
||||
[artifact_packet]
|
||||
requires_artifact_ref = true
|
||||
requires_commit_sha = true
|
||||
requires_changed_path_list = true
|
||||
requires_review_verdict = true
|
||||
requires_public_proof_ref = true
|
||||
requires_acceptance_rationale = true
|
||||
requires_private_state_redaction_check = true
|
||||
[authority]
|
||||
branch_local_only = true
|
||||
# artifact_acceptance_authorized = false
|
||||
artifact_acceptance_authorized = true
|
||||
credit_ledger_authorized = false
|
||||
github_pr_authorized = false
|
||||
merge_authorized = false
|
||||
publication_authorized = false
|
||||
upstream_sync_authorized = false
|
||||
hands_action_authorized = false
|
||||
service_lifecycle_authority = false
|
||||
cross_body_mutation_authorized = false
|
||||
private_verse_rummaging = false
|
||||
maintainer_or_bifrost_acceptance_authority_required = true
|
||||
"#;
|
||||
let request = parse_repo_artifact_acceptance_request(text).expect("fixture is typed TOML");
|
||||
assert!(!request.has_authority_seals());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn credit_comment_cannot_counterfeit_ledger_seal() {
|
||||
let text = r#"
|
||||
schema_version = "epiphany.repo_credit_request.v0"
|
||||
safe_action_family = "repo.credit_request"
|
||||
summary = "summary"
|
||||
private_state_exposed = false
|
||||
[request]
|
||||
status = "awaiting-bifrost-credit-review"
|
||||
requested_owner = "Bifrost"
|
||||
requested_effect = "record-credit-for-redacted-proof-and-accepted-artifact"
|
||||
publication_request_ref = "publication"
|
||||
maintainer_review_request_ref = "review"
|
||||
pr_request_ref = "pr"
|
||||
[antecedents]
|
||||
closure_review_required = true
|
||||
soul_verdict_required = true
|
||||
mind_commit_required = true
|
||||
public_proof_required = true
|
||||
maintainer_review_required = true
|
||||
accepted_artifact_required = true
|
||||
authorship_context_required = true
|
||||
[required_receipts]
|
||||
closure_review = "epiphany.repo_work_closure_review.v0"
|
||||
soul_verdict = "epiphany.soul.verification_verdict"
|
||||
mind_commit = "epiphany.mind.state_commit_receipt"
|
||||
public_proof = "epiphany.repo_work_public_proof_bundle.v0"
|
||||
maintainer_review = "gamecult.maintainer.review_receipt.v0"
|
||||
accepted_artifact = "gamecult.artifact.acceptance_receipt.v0"
|
||||
credit_ledger = "gamecult.bifrost.credit_receipt.v0"
|
||||
credit_readback = "gamecult.bifrost.credit_readback_receipt.v0"
|
||||
[credit_packet]
|
||||
requires_author_identity = true
|
||||
requires_reviewer_identity = true
|
||||
requires_accepted_artifact_ref = true
|
||||
requires_public_proof_ref = true
|
||||
requires_changed_path_list = true
|
||||
requires_credit_ledger_target = true
|
||||
requires_private_state_redaction_check = true
|
||||
[authority]
|
||||
branch_local_only = true
|
||||
# credit_ledger_authorized = false
|
||||
credit_ledger_authorized = true
|
||||
bifrost_publication_authorized = false
|
||||
github_pr_authorized = false
|
||||
merge_authorized = false
|
||||
publication_authorized = false
|
||||
upstream_sync_authorized = false
|
||||
hands_action_authorized = false
|
||||
service_lifecycle_authority = false
|
||||
cross_body_mutation_authorized = false
|
||||
private_verse_rummaging = false
|
||||
bifrost_credit_authority_required = true
|
||||
"#;
|
||||
let request = parse_repo_credit_request(text).expect("fixture is typed TOML");
|
||||
assert!(!request.has_authority_seals());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn publication_comment_cannot_counterfeit_bifrost_seal() {
|
||||
let text = r#"
|
||||
schema_version = "epiphany.repo_publication_request.v0"
|
||||
safe_action_family = "repo.publication_request"
|
||||
summary = "summary"
|
||||
private_state_exposed = false
|
||||
[request]
|
||||
status = "awaiting-bifrost-review"
|
||||
requested_owner = "Bifrost"
|
||||
requested_effect = "publish-redacted-proof-and-route-maintainer-review"
|
||||
verification_request_ref = "verification"
|
||||
[antecedents]
|
||||
closure_review_required = true
|
||||
soul_verdict_required = true
|
||||
mind_commit_required = true
|
||||
public_proof_export_required = true
|
||||
private_state_redaction_required = true
|
||||
[required_receipts]
|
||||
closure_review = "epiphany.repo_work_closure_review.v0"
|
||||
soul_verdict = "epiphany.soul.verification_verdict"
|
||||
mind_commit = "epiphany.mind.state_commit_receipt"
|
||||
public_proof = "epiphany.repo_work_public_proof_bundle.v0"
|
||||
bifrost_publication = "gamecult.bifrost.public_proof_publication_receipt.v0"
|
||||
github_publication = "gamecult.github.publication_receipt.v0"
|
||||
credit_ledger = "gamecult.bifrost.credit_receipt.v0"
|
||||
upstream_sync = "epiphany.repo_work_upstream_main_sync.v0"
|
||||
[public_export]
|
||||
redacted_only = true
|
||||
raw_receipts_allowed = false
|
||||
private_paths_allowed = false
|
||||
worker_thought_allowed = false
|
||||
operator_context_allowed = false
|
||||
credit_required = true
|
||||
[authority]
|
||||
branch_local_only = true
|
||||
# bifrost_publication_authorized = false
|
||||
bifrost_publication_authorized = true
|
||||
github_publication_authorized = false
|
||||
credit_ledger_authorized = false
|
||||
merge_authorized = false
|
||||
upstream_sync_authorized = false
|
||||
hands_action_authorized = false
|
||||
service_lifecycle_authority = false
|
||||
cross_body_mutation_authorized = false
|
||||
private_verse_rummaging = false
|
||||
maintainer_review_required = true
|
||||
"#;
|
||||
let request = parse_repo_publication_request(text).expect("fixture is typed TOML");
|
||||
assert!(!request.has_authority_seals());
|
||||
}
|
||||
}
|
||||
include!("external_governance_tests.rs");
|
||||
|
|
|
|||
|
|
@ -0,0 +1,267 @@
|
|||
#[cfg(test)]
|
||||
mod external_governance_tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn comment_cannot_counterfeit_direct_execution_seal() {
|
||||
let text = r#"
|
||||
schema_version = "epiphany.repo_tool_request.v0"
|
||||
safe_action_family = "repo.tool_request"
|
||||
summary = "summary"
|
||||
private_state_exposed = false
|
||||
[request]
|
||||
target_directory = "gamecult-local/daemon-tool-directory"
|
||||
target_capability = "daemon-tool-capability:selected-by-review"
|
||||
operation = "submitTypedToolIntent"
|
||||
[cultmesh]
|
||||
intent_contract = "epiphany.cultmesh.daemon_tool_invocation_intent.v0"
|
||||
receipt_contract = "epiphany.cultmesh.daemon_tool_invocation_receipt.v0"
|
||||
host_daemon_owns_execution = true
|
||||
requester_owns_request = false
|
||||
requires_host_liveness_ready = true
|
||||
requires_cultmesh_receipts = true
|
||||
[odin]
|
||||
discoverable = true
|
||||
preserves_provider_ownership = true
|
||||
private_verse_passthrough = false
|
||||
[authority]
|
||||
# direct_tool_execution = false
|
||||
direct_tool_execution = true
|
||||
arbitrary_shell_authority = false
|
||||
hands_action_authority = false
|
||||
state_commit_authority = false
|
||||
publication_authority = false
|
||||
service_lifecycle_authority = false
|
||||
cross_body_mutation_authority = false
|
||||
private_verse_rummaging = false
|
||||
"#;
|
||||
let request = parse_repo_tool_request(text).expect("fixture is typed TOML");
|
||||
assert!(request.authority.direct_tool_execution);
|
||||
assert!(!request.has_authority_seals());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn metrics_comment_cannot_counterfeit_spend_seal() {
|
||||
let text = r#"
|
||||
schema_version = "epiphany.repo_metrics_request.v0"
|
||||
safe_action_family = "repo.metrics_request"
|
||||
summary = "summary"
|
||||
private_state_exposed = false
|
||||
[request]
|
||||
status = "awaiting-metrics-review"
|
||||
requested_owner = "Bifrost/Maintainer"
|
||||
requested_effect = "record-compute-review-and-artifact-accounting"
|
||||
publication_request_ref = "publication"
|
||||
credit_request_ref = "credit"
|
||||
artifact_acceptance_request_ref = "artifact"
|
||||
[antecedents]
|
||||
closure_review_required = true
|
||||
soul_verdict_required = true
|
||||
mind_commit_required = true
|
||||
public_proof_required = true
|
||||
accepted_artifact_required = true
|
||||
credit_request_required = true
|
||||
[required_receipts]
|
||||
closure_review = "epiphany.repo_work_closure_review.v0"
|
||||
soul_verdict = "epiphany.soul.verification_verdict"
|
||||
mind_commit = "epiphany.mind.state_commit_receipt"
|
||||
public_proof = "epiphany.repo_work_public_proof_bundle.v0"
|
||||
accepted_artifact = "gamecult.artifact.acceptance_receipt.v0"
|
||||
model_spend = "gamecult.metrics.model_spend_receipt.v0"
|
||||
review_load = "gamecult.metrics.review_load_receipt.v0"
|
||||
credit_readback = "gamecult.bifrost.credit_readback_receipt.v0"
|
||||
[metrics_packet]
|
||||
requires_model_call_count = true
|
||||
requires_token_or_cost_summary = true
|
||||
requires_review_minutes_or_count = true
|
||||
requires_accepted_artifact_ref = true
|
||||
requires_public_proof_ref = true
|
||||
requires_credit_readback_ref = true
|
||||
requires_private_state_redaction_check = true
|
||||
[authority]
|
||||
branch_local_only = true
|
||||
metrics_ledger_authorized = false
|
||||
# spend_authorized = false
|
||||
spend_authorized = true
|
||||
review_load_authorized = false
|
||||
credit_ledger_authorized = false
|
||||
github_pr_authorized = false
|
||||
merge_authorized = false
|
||||
publication_authorized = false
|
||||
upstream_sync_authorized = false
|
||||
hands_action_authorized = false
|
||||
service_lifecycle_authority = false
|
||||
cross_body_mutation_authorized = false
|
||||
private_verse_rummaging = false
|
||||
bifrost_or_maintainer_metrics_authority_required = true
|
||||
"#;
|
||||
let request = parse_repo_metrics_request(text).expect("fixture is typed TOML");
|
||||
assert!(!request.has_authority_seals());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn artifact_comment_cannot_counterfeit_acceptance_seal() {
|
||||
let text = r#"
|
||||
schema_version = "epiphany.repo_artifact_acceptance_request.v0"
|
||||
safe_action_family = "repo.artifact_acceptance_request"
|
||||
summary = "summary"
|
||||
private_state_exposed = false
|
||||
[request]
|
||||
status = "awaiting-artifact-acceptance-review"
|
||||
requested_owner = "Maintainer/Bifrost"
|
||||
requested_effect = "record-accepted-artifact-for-reviewed-branch-work"
|
||||
verification_request_ref = "verification"
|
||||
maintainer_review_request_ref = "review"
|
||||
publication_request_ref = "publication"
|
||||
[antecedents]
|
||||
closure_review_required = true
|
||||
soul_verdict_required = true
|
||||
mind_commit_required = true
|
||||
public_proof_required = true
|
||||
maintainer_review_required = true
|
||||
hands_commit_required = true
|
||||
[required_receipts]
|
||||
closure_review = "epiphany.repo_work_closure_review.v0"
|
||||
soul_verdict = "epiphany.soul.verification_verdict"
|
||||
mind_commit = "epiphany.mind.state_commit_receipt"
|
||||
public_proof = "epiphany.repo_work_public_proof_bundle.v0"
|
||||
maintainer_review = "gamecult.maintainer.review_receipt.v0"
|
||||
hands_commit = "epiphany.hands.commit_receipt"
|
||||
accepted_artifact = "gamecult.artifact.acceptance_receipt.v0"
|
||||
[artifact_packet]
|
||||
requires_artifact_ref = true
|
||||
requires_commit_sha = true
|
||||
requires_changed_path_list = true
|
||||
requires_review_verdict = true
|
||||
requires_public_proof_ref = true
|
||||
requires_acceptance_rationale = true
|
||||
requires_private_state_redaction_check = true
|
||||
[authority]
|
||||
branch_local_only = true
|
||||
# artifact_acceptance_authorized = false
|
||||
artifact_acceptance_authorized = true
|
||||
credit_ledger_authorized = false
|
||||
github_pr_authorized = false
|
||||
merge_authorized = false
|
||||
publication_authorized = false
|
||||
upstream_sync_authorized = false
|
||||
hands_action_authorized = false
|
||||
service_lifecycle_authority = false
|
||||
cross_body_mutation_authorized = false
|
||||
private_verse_rummaging = false
|
||||
maintainer_or_bifrost_acceptance_authority_required = true
|
||||
"#;
|
||||
let request = parse_repo_artifact_acceptance_request(text).expect("fixture is typed TOML");
|
||||
assert!(!request.has_authority_seals());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn credit_comment_cannot_counterfeit_ledger_seal() {
|
||||
let text = r#"
|
||||
schema_version = "epiphany.repo_credit_request.v0"
|
||||
safe_action_family = "repo.credit_request"
|
||||
summary = "summary"
|
||||
private_state_exposed = false
|
||||
[request]
|
||||
status = "awaiting-bifrost-credit-review"
|
||||
requested_owner = "Bifrost"
|
||||
requested_effect = "record-credit-for-redacted-proof-and-accepted-artifact"
|
||||
publication_request_ref = "publication"
|
||||
maintainer_review_request_ref = "review"
|
||||
pr_request_ref = "pr"
|
||||
[antecedents]
|
||||
closure_review_required = true
|
||||
soul_verdict_required = true
|
||||
mind_commit_required = true
|
||||
public_proof_required = true
|
||||
maintainer_review_required = true
|
||||
accepted_artifact_required = true
|
||||
authorship_context_required = true
|
||||
[required_receipts]
|
||||
closure_review = "epiphany.repo_work_closure_review.v0"
|
||||
soul_verdict = "epiphany.soul.verification_verdict"
|
||||
mind_commit = "epiphany.mind.state_commit_receipt"
|
||||
public_proof = "epiphany.repo_work_public_proof_bundle.v0"
|
||||
maintainer_review = "gamecult.maintainer.review_receipt.v0"
|
||||
accepted_artifact = "gamecult.artifact.acceptance_receipt.v0"
|
||||
credit_ledger = "gamecult.bifrost.credit_receipt.v0"
|
||||
credit_readback = "gamecult.bifrost.credit_readback_receipt.v0"
|
||||
[credit_packet]
|
||||
requires_author_identity = true
|
||||
requires_reviewer_identity = true
|
||||
requires_accepted_artifact_ref = true
|
||||
requires_public_proof_ref = true
|
||||
requires_changed_path_list = true
|
||||
requires_credit_ledger_target = true
|
||||
requires_private_state_redaction_check = true
|
||||
[authority]
|
||||
branch_local_only = true
|
||||
# credit_ledger_authorized = false
|
||||
credit_ledger_authorized = true
|
||||
bifrost_publication_authorized = false
|
||||
github_pr_authorized = false
|
||||
merge_authorized = false
|
||||
publication_authorized = false
|
||||
upstream_sync_authorized = false
|
||||
hands_action_authorized = false
|
||||
service_lifecycle_authority = false
|
||||
cross_body_mutation_authorized = false
|
||||
private_verse_rummaging = false
|
||||
bifrost_credit_authority_required = true
|
||||
"#;
|
||||
let request = parse_repo_credit_request(text).expect("fixture is typed TOML");
|
||||
assert!(!request.has_authority_seals());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn publication_comment_cannot_counterfeit_bifrost_seal() {
|
||||
let text = r#"
|
||||
schema_version = "epiphany.repo_publication_request.v0"
|
||||
safe_action_family = "repo.publication_request"
|
||||
summary = "summary"
|
||||
private_state_exposed = false
|
||||
[request]
|
||||
status = "awaiting-bifrost-review"
|
||||
requested_owner = "Bifrost"
|
||||
requested_effect = "publish-redacted-proof-and-route-maintainer-review"
|
||||
verification_request_ref = "verification"
|
||||
[antecedents]
|
||||
closure_review_required = true
|
||||
soul_verdict_required = true
|
||||
mind_commit_required = true
|
||||
public_proof_export_required = true
|
||||
private_state_redaction_required = true
|
||||
[required_receipts]
|
||||
closure_review = "epiphany.repo_work_closure_review.v0"
|
||||
soul_verdict = "epiphany.soul.verification_verdict"
|
||||
mind_commit = "epiphany.mind.state_commit_receipt"
|
||||
public_proof = "epiphany.repo_work_public_proof_bundle.v0"
|
||||
bifrost_publication = "gamecult.bifrost.public_proof_publication_receipt.v0"
|
||||
github_publication = "gamecult.github.publication_receipt.v0"
|
||||
credit_ledger = "gamecult.bifrost.credit_receipt.v0"
|
||||
upstream_sync = "epiphany.repo_work_upstream_main_sync.v0"
|
||||
[public_export]
|
||||
redacted_only = true
|
||||
raw_receipts_allowed = false
|
||||
private_paths_allowed = false
|
||||
worker_thought_allowed = false
|
||||
operator_context_allowed = false
|
||||
credit_required = true
|
||||
[authority]
|
||||
branch_local_only = true
|
||||
# bifrost_publication_authorized = false
|
||||
bifrost_publication_authorized = true
|
||||
github_publication_authorized = false
|
||||
credit_ledger_authorized = false
|
||||
merge_authorized = false
|
||||
upstream_sync_authorized = false
|
||||
hands_action_authorized = false
|
||||
service_lifecycle_authority = false
|
||||
cross_body_mutation_authorized = false
|
||||
private_verse_rummaging = false
|
||||
maintainer_review_required = true
|
||||
"#;
|
||||
let request = parse_repo_publication_request(text).expect("fixture is typed TOML");
|
||||
assert!(!request.has_authority_seals());
|
||||
}
|
||||
}
|
||||
|
|
@ -910,6 +910,14 @@ Ten high-authority families are now typed; 667 substring assertions remain in
|
|||
the measured closure region. External governance is 933 lines and remains a
|
||||
bounded physical domain rather than returning to the facade slab.
|
||||
|
||||
## Verification fixtures separated from governance anatomy
|
||||
|
||||
External governance carried 267 lines of counterfeit fixtures inline under the
|
||||
misleading name `tool_request_tests`. They now live in
|
||||
`external_governance_tests.rs` and retain lexical access through a test-only
|
||||
include. Production governance is 668 lines; the five counterfeit-seal tests
|
||||
remain intact without widening visibility or creating a test API.
|
||||
|
||||
## Unresolved: provider receipts without chronology
|
||||
|
||||
Bifrost body-change/GitHub publication receipts are externally owned and their
|
||||
|
|
|
|||
|
|
@ -275,6 +275,10 @@ Sync-request closure is now typed within external governance and guarded
|
|||
against substring fallback. Current count: ten typed high-authority families
|
||||
and 667 remaining closure substring assertions.
|
||||
|
||||
External-governance counterfeit fixtures now live in the dedicated lexical
|
||||
`external_governance_tests.rs`; production contract anatomy is 668 lines and
|
||||
the five semantic counterfeit tests remain private and passing.
|
||||
|
||||
The latest structural count is 32 closure family branches, 744 remaining
|
||||
substring assertions in the closure region, and 1,284 lines in
|
||||
`closure_contracts.rs`. Do not blindly generate a struct forest for every
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -660,4 +660,4 @@ current_status:
|
|||
- Service lifecycle receipt history is now event-only: `load_epiphany_cultmesh_daemon_service_lifecycle_receipts` filters out the `epiphany-local/daemon-service-lifecycle-receipt/latest` mirror, while `load_latest_epiphany_cultmesh_daemon_service_lifecycle_receipt` remains the latest-state reader. Focused unit test `service_lifecycle_receipt_history_excludes_latest_mirror` proves two per-receipt writes return exactly two history records and latest points at the second. Fresh smoke `verse-query-lifecycle-history-filter-smoke` and live overview/triage `local-20260618-145632-497-efac6f0d` / `local-20260618-145632-321-867947af` prove compact swarm sights still expose service lifecycle attention plus the present elevated runbook artifact without daemon pokes or service mutation. Do not use a broad unscoped cargo test filter for this check on Windows; it fans out across bin harnesses and hit a broken pipe during this pass.
|
||||
- `epiphany-verse-query seed-compact` is the compact seed receipt for wrappers and read-only rites. The older `seed` command still prints the full local Verse context for explicit debugging, but compact wrapper modes now avoid full `seed`/final `query` readback after the combined overview proof exposed Windows debug stack overflow from full-context serialization pressure.
|
||||
last_completed_repo_swarm_cut: Huginn live-fire has crossed the first real repo Body from Persona pressure to branch-local Hands commit and Soul/Mind closure, and now has repeatable closure and redacted-public-proof mouths. On `E:\Projects\Huginn` branch `epiphany/huginn/first-awakening`, `tools/epiphany_local_run.ps1 -Mode repo-persona-intake` accepted item `huginn-inspection-readback-livefire`, Weksa/Persona intake remained sealed, and `epiphany-work derive-plan` lowered it to model-authored safe family `repo.status_section` for `README.md` only. `tools/epiphany_local_run.ps1 -Mode repo-swarm-run` advanced four bounded pulses: run-from-plan, adopt-from-plan, execute-from-plan, and close-from-execute. Huginn commit `e9b07c38fceabbdc89ea35c2156326c80c0393a2` updated only `README.md`; closure receipt `.epiphany\work\work-close-huginn-inspection-readback-livefire.json` records status `closed`, Soul verdict `passed`, Mind state commit `repo-work-close-huginn-inspection-readback-livefire-mind-commit`, safe family `repo.status_section`, path scope `README.md`, Bifrost publication gate, and `privateStateExposed=false`. Verification also ran Huginn's TypeScript compiler through concrete Node path: `C:\Program Files\nodejs\node.exe E:\Projects\Huginn\node_modules\typescript\bin\tsc -p tsconfig.json` passed. Native verifier `epiphany-repo-livefire-closure-smoke --workspace E:\Projects\Huginn --item huginn-inspection-readback-livefire --expected-path README.md --expected-family repo.status_section --expected-gate awaiting-publication --expected-blocker bifrost-publication-missing` checks closure receipt, Mind map entry, overview gate/blocker, authority seals, and `git show` changed paths, returning `status=ok`, `soulVerdict=passed`, `publicationGate=Bifrost`, and `privateStateExposed=false`. Wrapper `tools/epiphany_local_run.ps1 -Mode repo-livefire-closure -Workspace E:\Projects\Huginn -RepoWorkItem huginn-inspection-readback-livefire -SkipBuild` exposes the same read-only proof through the local operator mouth; artifact `local-20260621-190156-803-2f85ba15` printed commit, path, gate, blocker, Soul verdict, Mind commit receipt, and `privateStateExposed=False` without push, merge, publication, or target mutation. New wrapper `tools/epiphany_local_run.ps1 -Mode repo-work-public-proof -Workspace E:\Projects\Huginn -RepoWorkItem huginn-inspection-readback-livefire -SkipBuild` exports the redacted proof bundle and repo-local Verse index without publishing; artifact `local-20260621-190645-345-4555b1dc` wrote `.epiphany\public\proof-bundles\repo-work-public-proof-huginn-inspection-readback-livefire.json`, proof id `repo-work-public-proof-huginn-inspection-readback-livefire`, SHA-256 `857545b199f3e37eb06c2e757e5cfc201958e46667bb1f8403fd333a22620f63`, nine artifact rows, zero publication rows, and `privateStateExposed=False`. swarm overview readback `local-20260621-190701-140-b9519ec6` sees the `REPO-WORK-PUBLIC-PROOF` row and action row from Huginn's repo-local Verse with the same SHA-256 while Bifrost publication remains missing. Launcher compact modes are now named compact operator-context modes instead of read-only modes, and `bifrost-public-proof` summaries print item, target public Verse, room, proof SHA-256, review receipts, and credit receipts so publication receipts are auditable without claiming upstream sync.
|
||||
next_action: Continue the conceptual-substitution pass. Ten high-authority closure families, including publication and sync requests, are typed and guarded against regaining substring authority. The closure region still has 32 family branches and 667 substring assertions; closure contracts remain a parent-private lexical facade over external_governance and operations authority domains. Do not substitute a blind struct forest for coherent ownership. Prioritize consequence-bearing request families, collapse shared syntax only when a named invariant earns it, and leave presentation-only markdown checks out of policy machinery. Repo-personality and verse-query smoke recursive deletion are canonically confined; 32 timestamped smokes have no recursive-delete path; all ten generated UUID temp leaves across binaries and coordinator tests require exclusive creation before cleanup. Continue auditing remaining reset helpers for provenance substituted for resolved scope. Operational/evidence/self-state and operator mirrors follow owned clocks; identity chains are typed; scheduling/runbook selection do not parse prose; writerless readiness-review is deleted. Bifrost provider receipts still need provider chronology. Continue auditing evidence/security mirrors and adapters for borrowed authority.
|
||||
next_action: Continue the conceptual-substitution pass. Ten high-authority closure families, including publication and sync requests, are typed and guarded against regaining substring authority. The closure region still has 32 family branches and 667 substring assertions; closure contracts remain a parent-private lexical facade over external_governance and operations authority domains. External governance production anatomy is 668 lines; its 267 lines of counterfeit fixtures live in a dedicated private test include. Do not substitute a blind struct forest for coherent ownership. Prioritize consequence-bearing request families, collapse shared syntax only when a named invariant earns it, and leave presentation-only markdown checks out of policy machinery. Repo-personality and verse-query smoke recursive deletion are canonically confined; 32 timestamped smokes have no recursive-delete path; all ten generated UUID temp leaves across binaries and coordinator tests require exclusive creation before cleanup. Continue auditing remaining reset helpers for provenance substituted for resolved scope. Operational/evidence/self-state and operator mirrors follow owned clocks; identity chains are typed; scheduling/runbook selection do not parse prose; writerless readiness-review is deleted. Bifrost provider receipts still need provider chronology. Continue auditing evidence/security mirrors and adapters for borrowed authority.
|
||||
|
|
|
|||
Reference in a new issue