Skip to content

chore: re-point trust-kernel dep — echidna-core-spark is now echidna-core-creusot, trust types live in echidna-core 0.2.0 #173

Closed

Description

@hyperpolymath

Context

echidnabot's trust kernel is a git dependency pinned by full rev:

echidna-core-spark = { git = "https://github.com/hyperpolymath/echidna", rev = "b761b3a832981be51d4e88076ef1b90fe5037e9c" }

with a comment recording the follow-up: "At this rev the crate is still named echidna-core-spark; it is being renamed echidna-core-creusot upstream, and the trust types are meant to move into echidna-core proper. Follow-up: re-point this line once that lands on echidna main."

Both changes have now landed on echidna main (verified 2026-10-09 during estate recon, PR hyperpolymath/echidna#415):

  • crates/echidna-core-creusot/ — the renamed Creusot-annotated trust kernel (axiom_tracker, pareto, compute_trust_level, TrustLevel)
  • crates/echidna-core/ 0.2.0 — the stable consumable surface, whose lib docs name echidnabot as an intended client. It re-exports the trust kernel unchanged as echidna_core::trust (so echidna_core::trust::axiom_tracker::AxiomTracker, echidna_core::trust::compute_trust_level, …), plus ProverKind and a strict echidna.prove.result/1 parser (echidna_core::prove_result::ProveResult). Stability policy + git-dependency recipe: crates/echidna-core/README.adoc in the echidna repo.

Task

  1. Swap the dependency in Cargo.toml to echidna-core (the stable surface), pinned by full rev on echidna main at the time of the change — never an unmerged branch (per docs/ECHIDNA-INTEGRATION.adoc).
  2. Update the use paths:
    • echidna_core_spark::compute_trust_level → echidna_core::trust::compute_trust_level (src/trust/confidence.rs)
    • echidna_core_spark::axiom_tracker::AxiomTracker → echidna_core::trust::axiom_tracker::AxiomTracker (src/trust/axiom_tracker.rs)
  3. Delete the follow-up notes once landed (the Cargo.toml comment and the "Follow-up: crate rename" section of docs/ECHIDNA-INTEGRATION.adoc); record the new rev there.
  4. Keep echidnabot's local slug ProverKind and local prove_result parser: docs/ECHIDNA-INTEGRATION.adoc deliberately avoids depending on echidna's identifiers/contract types to keep release cadences decoupled. Do not widen scope without an owner ruling.

Acceptance

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    choreRoutine maintenance with no behaviour change

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions