Skip to content

feat(model-plane): native InferenceReceipt emitter shim for inferenced (T7-12 emitter slice) - #317

Merged
mdheller merged 1 commit into
mainfrom
feat/model-plane-inferenced-receipt-shim
Aug 3, 2026
Merged

feat(model-plane): native InferenceReceipt emitter shim for inferenced (T7-12 emitter slice)#317
mdheller merged 1 commit into
mainfrom
feat/model-plane-inferenced-receipt-shim

Conversation

@mdheller

@mdheller mdheller commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Model Plane — inferenced receipt emitter shim (Tranche 7)

source-os is a downstream emitter for the Model Plane (epic SourceOS-Linux/sourceos-spec#241). This lands the smallest real slice that proves source-os can emit a spec-conformant, hash-chained InferenceReceipt natively when a completion finishes, into the estate's single ledger (SEAM-011: a local-only ledger is not permitted).

The full serving daemon inferenced (T7-12) and the rest of the daemon set are blocker-laden (HellGraph ledger service, base-model licensing, credentials) and are not built here — this is the emitter half only.

Consume-not-fork

  • modules/model-plane/tools/inference_receipt_emitter.py — the canonical emitter, vendored byte-verbatim from SocioProphet/prophet-platform apps/receipt-gateway (commit abd98805, sha256 6881246b…; provenance in tools/VENDOR.md). CI asserts the sha still matches — divergence fails the build.
  • modules/model-plane/schemas/model-plane/InferenceReceipt.schema.json — schema vendored verbatim (provenance in $comment).
  • modules/model-plane/inferenced_shim.py — the serving-path caller. Given the content-addressed base-model digest + the completion's input/output, it appends an on-device receipt via emit_receipt(). It re-implements no chaining.

Teeth — .github/workflows/model-plane-receipts.yml

  1. Emitted receipt validates against InferenceReceipt.schema.json and chains (ledgerPrevHash continuity; genesis has none).
  2. A tampered entry breaks the chain and is rejected.
  3. A local-only (non-genesis, unchained) entry is rejected by both schema and verifier (SEAM-011).
  4. The vendored emitter is asserted to match the canonical sha256 (consume-not-fork guard).

Verified locally: inferenced_shim.py --selftest and the canonical emitter --selftest both pass; sha guard OK.

Not in this slice (tracked separately)

T7-9 (full architecture), T7-10 profiles, T7-11 modelplaned, T7-12 full inferenced serving daemon, T7-13 embeddingd, T7-14 visiond, T7-15 distilld, T7-20 seam-registry. docs/model-plane/architecture.md tracks the status table.

…d (T7-12 emitter slice)

source-os is a downstream emitter for the Tranche 7 Model Plane. This adds the
smallest real slice that proves source-os can emit a spec-conformant,
hash-chained InferenceReceipt natively when a completion finishes, into the
estate's single ledger (SEAM-011: no local-only ledger).

Consume-not-fork: the canonical emitter and schema are vendored BYTE-VERBATIM
from prophet-platform apps/receipt-gateway (provenance + source sha256 in
modules/model-plane/tools/VENDOR.md and the schema $comment). The only
source-os code is inferenced_shim.py, the serving-path caller — it delegates all
chaining to emit_receipt() and re-implements nothing.

Teeth (.github/workflows/model-plane-receipts.yml): a produced receipt validates
against InferenceReceipt.schema.json and chains (prevHash continuity); a tampered
entry and a local-only (unchained) entry are both rejected; and the vendored
emitter is asserted to match the canonical sha256 (consume-not-fork guard).

The full daemon set (T7-9..15) and seam-registry (T7-20) remain; see the T7
follow-up issue. docs/model-plane/architecture.md (T7-9 stub) tracks status.
@mdheller
mdheller merged commit 1ae493a into main Aug 3, 2026
2 checks passed
@mdheller
mdheller deleted the feat/model-plane-inferenced-receipt-shim branch August 3, 2026 06:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant