Commit graph

23 commits

Author SHA1 Message Date
Sam Morrow
fecace78a9
Merge pull request #8 from modelcontextprotocol/docs/next-spec-priorities
docs: outline priorities for the next spec iteration
2026-08-12 09:24:38 +02:00
Sam Morrow
99b6214b9d
docs: remove extension approval mechanics
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3ce9ad35-1e45-451f-98f6-802946669ba8
2026-08-12 09:22:46 +02:00
Sam Morrow
59ccea3c1a
docs: cite display templates proposal
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3ce9ad35-1e45-451f-98f6-802946669ba8
2026-08-12 09:20:43 +02:00
Sam Morrow
43df8e912c
docs: align priorities with IG charter
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3ce9ad35-1e45-451f-98f6-802946669ba8
2026-08-12 09:17:58 +02:00
Sam Morrow
2c6eb7f686
docs: outline next specification priorities
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3ce9ad35-1e45-451f-98f6-802946669ba8
2026-08-12 09:16:06 +02:00
Sam Morrow
e29b74f3bd
Merge pull request #3 from modelcontextprotocol/sammorrowdrums/action-metadata-extension
action-metadata extension (from SEP-2061)
2026-06-26 11:50:45 +02:00
Sam Morrow
940fc7990f
Merge pull request #4 from modelcontextprotocol/sammorrowdrums/ifc-fides-scheme
Add FIDES as a data-labelling scheme under schemes/
2026-06-26 11:50:17 +02:00
Sam Morrow
7ddc339636
Merge pull request #2 from modelcontextprotocol/sammorrowdrums/extensions-scaffold-trust-ifc-action
Trust & privacy extensions: scaffolding + the trust-annotations base
2026-06-26 11:49:55 +02:00
Sam Morrow
daf51770fe
Tie schemes to the 'sensitive' floor: refine it, emit both
- schemes/README.md: note the wire vocabulary (sensitive) is the lowest-common-
  denominator floor and schemes refine it; producers are encouraged to emit both.
- schemes/data-class.md: add an explicit emit-both guideline in graceful
  degradation; correct the changelog date 2026-06-17 -> 2026-06-16.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-16 10:29:55 +02:00
Sam Morrow
59597f94dc
Add data-class scheme skeleton; separate label-schemes from host architectures
- schemes/data-class.md: skeleton for the structured classification taxonomy the
  trust-annotations 'sensitive' boolean deliberately omits (class + regulatory
  scope + org labels), shaped as open questions and attributed to the SEP-1913
  reviewers who pushed for it (JustinCappos, olaservo, Mossaka, krubenok, localden).
- schemes/README.md: list data-class under 'Schemes here'; add verified label-
  scheme candidates (Permissive IFC 2410.03055, AirGapAgent 2405.05175); move
  CaMeL and the design-pattern catalogue into a new 'Not schemes: host
  architectures' section, since they govern host control-flow rather than
  producing a per-result data label.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-16 10:29:55 +02:00
Sam Morrow
41211a8107
Add FIDES as a data-labelling scheme under schemes/
Move the FIDES information-flow-control draft out of
specification/draft/ and into schemes/ifc-fides.md, reframed from a
sibling extension into one data-labelling scheme that fills the
trust-annotations evidenceRef slot (type ifc.fides.v1). FIDES is not an
extension and not a peer of the extensions; it is one interchangeable
filler of the slot.

Add schemes/README.md as the index for the folder: it states what a
scheme is, lists FIDES as the worked example, records the range of
candidate schemes raised in SEP-1913 review (data classification,
design-pattern controls, ShardGuard, capability tokens, cosigning,
sequence-shape, attestation), and sets the bar a scheme doc must meet.

The reviewed normative body (label payload, semantics, reader-set
resolution, reference implementation, open questions) is preserved
verbatim from the JoannaaKL / Rul1an review rounds.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-16 10:29:55 +02:00
Sam Morrow
85c2be73c8
spec(action-metadata): add the action-metadata extension draft
Stacked on the trust-annotations base. Declarative inputMetadata / returnMetadata
+ outcome classifiers (incl. requires_review) on ToolAnnotations. Carries forward
the field semantics from SEP-2061 (Action Security Metadata, @rreichel3), closed
2026-06-13 in favour of this extension.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-16 10:29:41 +02:00
Sam Morrow
d0733ef8e6
Frame 'sensitive' as the lowest-common-denominator floor; recommend emitting both
Per Sam: the coarse 'sensitive' boolean exists to give a universal, 'better than
nothing' policy-enforcement floor every client can act on — a basic/general
scheme — not a competitor to richer schemes. It is not either/or with the
taxonomy; servers are encouraged to do both.

- trust-annotations.mdx: reframe the coarse-vs-rich section around the LCD floor;
  add a SHOULD-emit-both recommendation (boolean + richer evidenceRef scheme);
  point Motivation at it; reframe the in-spec open question accordingly;
  changelog row.
- decisions.md: log the LCD-floor + emit-both decision; correct two entries
  mis-dated 2026-06-17 to today (2026-06-16).
- open-questions.md: reframe the sensitivity item from 'is the boolean right' to
  the narrower residual (is boolean + data-class scheme enough, or is a wire
  escape hatch needed); current lean: no escape hatch.
- terminology: profile -> scheme in forward-looking text (open-questions
  registry line, sep-disposition SEP-2787 row); historical log entries left as-is.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-16 10:29:12 +02:00
Sam Morrow
678f846e23
repo: make trust-annotations the base; FIDES becomes a scheme, not a sibling
Restructure the incubation into two extensions plus interchangeable data-labelling
schemes, shipped as a stack of three PRs:

- This PR (base): shared scaffolding + the trust-annotations extension.
- action-metadata moves to its own stacked PR.
- The IFC/FIDES work moves out of specification/draft/ entirely — it is one
  data-labelling scheme (ifc.fides.v1) that fills the trust-annotations
  evidenceRef slot, not an extension and not a sibling. It lands in a schemes/
  folder built to hold alternative approaches (data-class, capability tokens,
  cosigning, sequence-shape, attestation) so no single academic model is baked
  into the wire.

README, sep-disposition, related-work, trust-model, open-questions and the
decision log are reframed accordingly (two extensions + a schemes folder; the
range of candidate schemes drawn from the SEP-1913 thread and cited literature).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-16 10:29:11 +02:00
Sam Morrow
0be45d9b95
Record SEP-1913 feedback as cited open questions; clarify untrusted vs openWorldHint
Enrich the base extension docs so the early review history is preserved rather
than erased by the narrow first cut:

- trust-annotations.mdx: add a normative subsection distinguishing result-level
  untrusted from tool-definition openWorldHint (the SEP-1913 #711 distinction).
- open-questions.md: capture the sensitivity-field shape debate, enforcement-vs-
  advisory risk, per-block byte ranges, taint persistence, and sequence-shape,
  each attributed to the reviewer who raised it; add a Naming (under review)
  section for the contested field/extension names.
- related-work.md: add verified FIDES alternatives (Permissive IFC 2410.03055,
  AirGapAgent 2405.05175, CaMeL 2503.18813) and a schemes-vs-host-architectures
  distinction.
- decisions.md: log the scheme/architecture boundary and the feedback-capture
  decision.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-16 10:29:11 +02:00
Sam Morrow
67f84f72e8
Sync intent-comment record with the live SEP-1913 comment
The posted SEP-1913 umbrella comment was updated to match the shipped
structure: two extensions plus a schemes/ folder, with FIDES as one
data-labelling scheme (ifc.fides.v1) rather than an extension/profile.
Bring docs/intent-comment.md back in sync as the source of record and
add the three stacked PR links (#2 base, #3 action-metadata, #4 FIDES
scheme).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-16 10:29:11 +02:00
Sam Morrow
4967a9eccc
spec: tighten ifc-fides framing and evidenceRef canonicalization (review @Rul1an)
ifc-fides:
- lead Label semantics with the load-bearing wire/host split (wire markers are
  advisory hints; reader-set semantics are host-resolved)
- state the join asymmetry as principled, not incidental: integrity join is
  total/wire-computable (small closed lattice); confidentiality join is partial
  because public is the only wire-computable case (reader set = top), while
  private join is the intersection the opaque markers don't carry
- frame wire opaqueness as a property of the security model, not a spec limitation
- add fail-closed handling when resolution is unavailable (ref absent, digest-only,
  source unreachable): never treat opaque labels as equal or as public; unknown/
  mixed provenance classifies private; resolved reader sets are not durable grants

trust-annotations:
- show jcs/rfc8785 alongside cbor/rfc8949 so canonicalization reads as a
  per-reference envelope choice rather than a default
- note type/digest/canonicalization as the local-re-derivation minimum

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-16 00:34:46 +02:00
Sam Morrow
b799af5bea
spec(ifc-fides): address review; reframe action-metadata for SEP-2061 closure
ifc-fides (review by @JoannaaKL):
- confidentiality is public/private only on the wire; drop the reader-list
  (logins aren't uniform across servers, are themselves access-restricted,
  and reader sets can be huge)
- add Reader-set resolution section: two private markers aren't equal, the
  confidentiality join is the intersection and isn't computable from opaque
  wire markers, so hosts resolve to concrete reader sets at decision time
- integrity join is total/wire-computable; confidentiality join is not
- emitter MUST classify per resource, not per repository (public repos serve
  non-world-readable sub-resources), making github-mcp-server a real proof point

action-metadata / docs:
- SEP-2061 closed 2026-06-13 in favour of this extension; this draft is now the
  canonical home. Updated action-metadata.mdx, README, sep-disposition,
  related-work, and intent-comment status accordingly.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-15 23:29:44 +02:00
Sam Morrow
716eb8d89f
docs: trim spec frontmatter to known fields (title only)
Official extension specs (ext-auth) use only `title:` in frontmatter
plus an <Info> protocol-revision marker. Remove the invented
extension_identifier / status / maintainers / related / profile_of
fields and restate the identifier and profile relationship in the body
prose where they belong.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-11 00:14:19 +02:00
Sam Morrow
70ec91c5f7
docs: drop jargon, make repo docs descriptive
Replace 'carve'/'headline' throughout; reframe the front-facing docs
(README, spec drafts, related-work) to describe what the repo contains
and link to it rather than narrate the process. Process framing stays in
the decision log and the intent-comment/sep-disposition planning docs.
Live SEP-1913/SEP-2061 comments updated to match.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-11 00:12:30 +02:00
Sam Morrow
8a867d4bb9
docs: finalize intent comments and record posted links
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-11 00:02:51 +02:00
Sam Morrow
2aea5dc6be
docs: scaffold trust/privacy extension repo from SEP-1913 carve
Carve the schema-bearing parts of SEP-1913 into three independent
experimental extensions, per @localden's "narrower first cut" ask and
the Tool Annotations IG's 2026-05-28 extension-first decision:

- io.modelcontextprotocol/trust-annotations (headline): narrow
  data-classification taxonomy (sensitive, untrusted) + open-ended
  evidenceRef pointer.
- io.modelcontextprotocol/action-metadata: carries forward SEP-2061
  (inputMetadata/returnMetadata/outcomes + requiresReview).
- io.modelcontextprotocol/ifc-fides: FIDES information-flow control as
  a profile of evidenceRef, not a wire root.

Adds repo meta (README, MAINTAINERS, CONTRIBUTING, LICENSE) and docs
(sep-disposition, intent-comment, decisions, open-questions,
trust-model, related-work). FIDES demoted to a profile; DataClass and
requiresReview rehomed; maliciousActivityHint and propagation parked on
the SEP-1913 umbrella. Citations index on public sources only.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-10 23:50:22 +02:00
Sam Morrow
fe722986ff
first commit 2026-03-17 13:42:23 +01:00