Skip to content

feat(schemas): Model Plane provider classification + review-hardening (resolves #243) - #246

Merged
mdheller merged 2 commits into
mainfrom
feat/t7-review-hardening
Aug 2, 2026
Merged

feat(schemas): Model Plane provider classification + review-hardening (resolves #243)#246
mdheller merged 2 commits into
mainfrom
feat/t7-review-hardening

Conversation

@mdheller

Copy link
Copy Markdown
Contributor

Resolves#243 (part of #241) and closes the schema-expressible design-review findings.

#243 — no 6th agent_class

A model-serving daemon is a system_core host process (its AgentPassport) plus an InferenceProvider record — the two compose. Made concrete with a new optional InferenceProvider.passportRef (urn:srcos:agent-passport:). Keeps the five-class model (ADR-0014) intact. See docs/adr/0017-....

Review-hardening teeth (verified both ways)

Validation

  • All Model Plane examples still valid under the new gates; genesis seq:0 exempt; 5/5 teeth tests pass; duplicate-$id clean.

Non-schema findings (router-vs-confidence text, served==receipt reconciliation, T0 trust concentration) are being filed separately for SHACL/conformance/spec follow-up — nothing stranded.

⚠️ Do not auto-merge — awaiting Copilot review.

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the SourceOS spec’s Model Plane contracts to (1) keep the five-class AgentPassport.agent_class model intact by explicitly composing provider identity via InferenceProvider.passportRef, and (2) add schema-enforced “review-hardening” constraints for ledger tamper-evidence and biometric boundary refusals.

Changes:

  • Add InferenceProvider.passportRef to link a provider record to its host-process AgentPassport without introducing a new agent_class (ADR-0017 / issue #243 resolution).
  • Require ledgerPrevHash for any non-genesis ledger entry (ledgerSeq >= 1) across InferenceReceipt, EscalationDecision, and AdapterPromotionDecision.
  • Enforce a biometric hard boundary in EscalationDecision (biometric category ⇒ verdict: refused + refusalReason: biometric-boundary) and add a corresponding refused example.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.

Show a summary per file
FileDescription
schemas/README.mdUpdates Model Plane schema catalog narrative to reflect provider composition + new schema “teeth”.
schemas/InferenceReceipt.jsonAdds ledgerPrevHash requirement for non-genesis (ledgerSeq >= 1) receipts.
schemas/InferenceProvider.jsonAdds optional passportRef (AgentPassport URN) to make provider↔passport composition explicit.
schemas/EscalationDecision.jsonAdds biometric-boundary enforcement and non-genesis ledgerPrevHash requirement.
schemas/AdapterPromotionDecision.jsonAdds non-genesis ledgerPrevHash requirement.
examples/escalation-decision.refused-biometric.jsonNew example demonstrating mandatory refusal for biometric sensitivity.
docs/adr/0017-model-plane-provider-classification-and-hardening.mdNew ADR capturing the #243 decision + hardening rationale.
CHANGELOG.mdRecords the provider classification decision + hardening changes under Unreleased.

Comment threadschemas/README.md Outdated
- **`AdapterPromotionDecision`** — adapter promotion as a human-governed decision, never an automatic OS update. Enumerates every contributing `OverrideEvent` (the property Apple's loop lacks), and a `promoted` verdict is schema-impossible without a verified signature, per-event training consent, all eval gates passing (including an adversarial-poisoning probe), a named human promoter, and a mandatory rollback target (SEAM-016, SEAM-017). Governs *model* (LoRA) adapters — distinct from `AdapterDescriptor` (connector/actuation adapters).

All three carry an optional `ledgerPrevHash` (hash-chain the append-only ledgerso an enumerated contribution list cannot be retroactively rewritten) and, on the receipt, an optional `confidenceMethod` (the escalation trigger is self-reported — recording the method makes it auditable).
All three hash-chain the append-only ledger: `ledgerPrevHash` is required for any non-genesis entry (`ledgerSeq >= 1`), so an enumerated contribution list cannot be retroactively rewritten; the receipt also carries an optional `confidenceMethod` (the escalation trigger is self-reported — recording the method makes it auditable). A model-serving daemon is not a new agent class — it is a `system_core` host process (its `AgentPassport`) plus an `InferenceProvider` record, linked via `InferenceProvider.passportRef` (ADR-0017).

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed — took the stronger option: ledgerSeq is now required on both EscalationDecision and AdapterPromotionDecision (InferenceReceipt already required it), so all three are ledger-bound (SEAM-011) and the hash-chain gate can't be dodged by omitting the sequence. README wording is now accurate. Negative tests added.

… (T7-5/#243)
Resolves#243 without a 6th agent_class: model daemon = system_core passport +
InferenceProvider record, linked via new optional InferenceProvider.passportRef.
Adds design-review teeth to T7 provenance schemas (verified both ways):
- ledger hash-chain: ledgerPrevHash required for non-genesis entries (seq>=1)
on InferenceReceipt/EscalationDecision/AdapterPromotionDecision (finding #4)
- biometric hard boundary: EscalationDecision with a biometric sensitiveCategory
is schema-forced to refused/biometric-boundary (finding #7)
New example escalation-decision.refused-biometric.json. See ADR-0017.
@mdheller
mdhellerforce-pushed the feat/t7-review-hardening branch from d8cd235 to 20c9008CompareAugust 2, 2026 18:40
…PromotionDecision
Address Copilot: the hash-chain gate keyed on ledgerSeq>=1 could be dodged by
omitting ledgerSeq entirely (it was optional in these two). These are ledger
entries (SEAM-011 ledger-bound), so ledgerSeq is now required in all three
provenance types (InferenceReceipt already required it); the README claim that
all three hash-chain the ledger is now accurate. Negative tests added.
@mdheller
mdheller merged commit d984260 into mainAug 2, 2026
7 checks passed
@mdheller
mdheller deleted the feat/t7-review-hardening branch August 2, 2026 18:46
@mdhellermdheller mentioned this pull request Aug 2, 2026
20 tasks
Sign up for freeto 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.

T7-5 DECISION: add inference_provider to AgentPassport.agent_class?

2 participants

@mdheller