Skip to content

epic: rebuild the runtime core part-by-part (kameo = reference oracle) #122

Description

@joeldsouzax

Decision (#63)

kameo is a reference oracle, not a fork base. We rebuild the local runtime core in-place as bombay, part-by-part, each part guarded by the existing test suite (#74) and consulting kameo for behaviour. Identity is core, not behind a transport flag — the identity-first inversion (kameo is process-first/identity-incidental; we are identity-first/process-embodies-identity). Scaffolding (god-level clippy bar, CI, cucumber harness, macros, console) is kept. Timeline: as long as it takes — we hard-test every part.

Two-tier message model stays (see #66 design note): cheap local (non-serialized, in-memory) vs. serialized dataspace citizens. Only the backend of the remote tier changes (libp2p → Zenoh).

Per-card rigor contract (every sub-card follows this)

  1. Learning & discussion — mental model; how kameo does it; what we keep vs. change.
  2. Existing crates — survey + pick (folds in the de-handroll cards cleanup: adopt thiserror for local error enums #50cleanup: tokio-util CancellationToken for task abort #55, cleanup: lock-free local registry (papaya / dashmap) #51).
  3. Research — best algorithm/approach — primary sources (papers, prior art, arxiv) before committing to an impl. No commitment before the survey.
  4. Deterministic Simulation Testing (DST) — seedable, replayable, interleaving-exploring.
  5. Mutation testingcargo-mutants; zero surviving mutants in the module.
  6. Cross-cutting tests (CLAUDE.md rule 7: sequence/protocol · lifecycle · defensive boundary · linearizability) + property tests + loom where atomics/ordering live.
  7. Definition of Done — rebuilt in-place in bombay (no chore: god-level clippy — adopt nexus elite lint config #61 quarantine header), god-level bar clean; existing + new tests green; DST seeds pass; zero surviving mutants; behaviour parity proven by the test net; identity-first where relevant.

Sub-cards (dependency order — mailbox first)

No duplicates: de-handroll cards (#2, #50-#55, #51) are folded into the matching sub-card as acceptance criteria and closed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    epicLarge multi-issue effortfoundationM1 foundation work

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions