053-host-library-mode

Host-library mode: named migrations, operator-authorized vocabulary, and one caller-owned transaction

Lifecycle approvedImplementation completeVerification unknownQualification unknown

Expose Aicortex as a linked library inside another Rahi cell without giving up migration identity, operator authority, or transaction ownership. The library exports the immutable named migration set `aicortex`, makes predicate registration an explicit operator-configured act, and stages observations, admission records, claim history, erasure records, and outbox work into the caller's `rahi_store::TxnBuilder`. A separate host fixture proves that Rahi ingress state, Aicortex history, a host-owned projection revision, and outbox work share one commit and one rollback.

Read the full pinned specification ↗

Relationships

Claimed units

  • establishes
    {
      "kind": "file",
      "path": "crates/aicortex-store/src/host.rs"
    }
  • establishes
    {
      "kind": "file",
      "path": "crates/aicortex-store/tests/host_library.rs"
    }
  • establishes
    {
      "id": "aicortex-external-host-fixture",
      "kind": "crate"
    }
  • extends
    {
      "nature": "additive",
      "spec": "010-chassis-adoption-and-workspace",
      "unit": {
        "anchor": "workspace",
        "file": "Cargo.toml",
        "kind": "section"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "010-chassis-adoption-and-workspace",
      "unit": {
        "kind": "file",
        "path": "apps/aicortex/src/cell.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "010-chassis-adoption-and-workspace",
      "unit": {
        "kind": "file",
        "path": "apps/aicortex/tests/migrate.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "012-store-schema-and-repositories",
      "unit": {
        "kind": "file",
        "path": "crates/aicortex-store/src/lib.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "012-store-schema-and-repositories",
      "unit": {
        "kind": "file",
        "path": "crates/aicortex-store/src/migrations.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "012-store-schema-and-repositories",
      "unit": {
        "kind": "file",
        "path": "crates/aicortex-store/src/memory_repo.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "012-store-schema-and-repositories",
      "unit": {
        "kind": "file",
        "path": "crates/aicortex-store/tests/schema.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "014-memory-lifecycle-and-erasure",
      "unit": {
        "kind": "file",
        "path": "crates/aicortex-store/src/erasure.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "014-memory-lifecycle-and-erasure",
      "unit": {
        "kind": "file",
        "path": "crates/aicortex-store/tests/erasure.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "050-typed-claims-and-predicate-registry",
      "unit": {
        "kind": "file",
        "path": "crates/aicortex-store/src/predicate_registry_repo.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "050-typed-claims-and-predicate-registry",
      "unit": {
        "kind": "file",
        "path": "crates/aicortex-store/tests/predicate_registry.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "051-claim-admission-and-authority",
      "unit": {
        "kind": "file",
        "path": "crates/aicortex-store/src/claim_proposal_repo.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "051-claim-admission-and-authority",
      "unit": {
        "kind": "file",
        "path": "crates/aicortex-store/src/claim_admission_repo.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "051-claim-admission-and-authority",
      "unit": {
        "kind": "file",
        "path": "crates/aicortex-store/tests/claim_admission.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "052-bitemporal-claim-history-and-projection",
      "unit": {
        "kind": "file",
        "path": "crates/aicortex-store/src/claim_repo.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "052-bitemporal-claim-history-and-projection",
      "unit": {
        "kind": "file",
        "path": "crates/aicortex-store/tests/claim_history.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "052-bitemporal-claim-history-and-projection",
      "unit": {
        "kind": "file",
        "path": "crates/aicortex-store/tests/claim_erasure.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "052-bitemporal-claim-history-and-projection",
      "unit": {
        "kind": "file",
        "path": "crates/aicortex-claims/tests/projection.rs"
      }
    }
  • constrains
    {
      "flavor": "invariant-freeze",
      "note": "the library migration set is named aicortex, preserves migrations 1 through 8 byte for byte as its immutable prefix, appends later approved migrations monotonically, and requires rahi.receipts and rahi.coordination at version 1 or later",
      "unit": {
        "kind": "file",
        "path": "crates/aicortex-store/src/host.rs"
      }
    }
  • constrains
    {
      "flavor": "invariant-freeze",
      "note": "only explicit operator configuration authorizes predicate registration; domain input, model output, and caller-selected subjects do not",
      "unit": {
        "kind": "file",
        "path": "crates/aicortex-store/src/predicate_registry_repo.rs"
      }
    }
  • constrains
    {
      "flavor": "invariant-freeze",
      "note": "the host owns the TxnBuilder and the only commit; aicortex repositories stage and never commit host work",
      "unit": {
        "kind": "file",
        "path": "crates/aicortex-store/src/claim_repo.rs"
      }
    }

Source headings

  1. 053: Host-library mode
  2. 1. Purpose
  3. 2. Territory
  4. 3. Behavior
  5. 3.1 One named migration set
  6. 3.2 Operator-authorized predicate registration
  7. 3.3 One caller-owned transaction
  8. 3.4 Bounded reads and pure projection
  9. 3.5 External-host proof
  10. 4. Functional requirements
  11. 5. Acceptance criteria
  12. 6. Out of scope
  13. 7. Resolved decisions
  14. Verification

Frozen anchors

No frozen anchors declared.