<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.4.10) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC1035 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1035.xml">
<!ENTITY RFC2119 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC4034 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4034.xml">
<!ENTITY RFC4648 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4648.xml">
<!ENTITY RFC5234 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5234.xml">
<!ENTITY RFC8032 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8032.xml">
<!ENTITY RFC8174 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC8552 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8552.xml">
<!ENTITY RFC8785 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8785.xml">
<!ENTITY RFC7942 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7942.xml">
]>


<rfc ipr="trust200902" docName="draft-morrison-identity-attributed-commits-02" category="info">
  <front>
    <title abbrev="Identity-Attributed Commits">Identity-Attributed Git Commits via Tier-Structured Trailers</title>

    <author fullname="Blake Morrison">
      <organization>Alter Meridian Pty Ltd</organization>
      <address>
        <email>blake@truealter.com</email>
      </address>
    </author>

    <date year="2026" month="August" day="09"/>





    <abstract>


<?line 63?>

<t>This document defines a git commit trailer grammar for
identity-attributed contributions using the <spanx style="verb">~handle</spanx> identity
primitive defined in <xref target="MCPDNS"></xref>.  The grammar binds sovereign actors,
automated bots, and AI instruments to specific commits via three
tier-structured trailers (<spanx style="verb">Acted-By</spanx>, <spanx style="verb">Executed-By</spanx>, <spanx style="verb">Drafted-With</spanx>)
and three optional cryptographic trailers (<spanx style="verb">Identity-Signature</spanx>,
<spanx style="verb">Identity-Key-Id</spanx>, <spanx style="verb">Identity-Anchor</spanx>).  The signature is computed
with Ed25519 over the commit's tree hash rather than its commit
hash, preserving attribution across rebase, cherry-pick, and squash
merge operations.  Conformant parsers reject cross-tier category
errors (e.g., an Instrument-tier handle in an <spanx style="verb">Acted-By</spanx> slot) as
malformed.  The mechanism is provider-neutral, depends only on DNS
<xref target="RFC1035"></xref> and the <spanx style="verb">~handle</spanx> resolution algorithm of <xref target="MCPDNS"></xref>, and
requires no central authority or platform-specific verification
service.</t>



    </abstract>



  </front>

  <middle>


<?line 81?>

<section anchor="introduction"><name>Introduction</name>

<section anchor="problem-statement"><name>Problem Statement</name>

<t>Modern source-control workflows produce commits whose authorship is
shared between human contributors, automated bots, and AI
instruments operating under varying degrees of delegation.  The
prevailing mechanisms for attaching identity to a commit are
fragmented and individually inadequate for this mixed reality:</t>

<t><list style="symbols">
  <t><strong>Git Signed-off-by <xref target="DCO"></xref>.</strong>  A legal attestation of contribution
rights under the Developer Certificate of Origin.  It carries no
cryptographic identity proof, no tier distinction, and no
resolution to a verifiable key.  A <spanx style="verb">Signed-off-by:</spanx> line is
whatever the committer types.</t>
  <t><strong>Git commit signing (<spanx style="verb">git commit -S</spanx>).</strong>  Cryptographically
binding, but the key model is provider-locked: GPG keys uploaded
to GitHub, SSH keys uploaded to GitLab, with each platform
maintaining its own key directory.  There is no DNS-resolved key
path and no canonical identity-to-key mapping.</t>
  <t><strong>Sigstore / gitsign <xref target="GITSIGN"></xref>.</strong>  A keyless signing path using
short-lived certificates issued from OIDC identity tokens and
recorded in the Rekor transparency log.  The cryptography is
sound, but the identity layer is bound to the operator of the
OIDC provider.  Migrating between providers re-roots identity.
No tier structure exists for non-sovereign signers.</t>
  <t><strong>Anthropic's <spanx style="verb">Co-Authored-By: Claude</spanx> convention
<xref target="ANTHROPIC-COAUTHOR"></xref>.</strong>  An informal text convention for AI
attribution.  It is unverifiable, ungrammatical with respect to
the underlying identity layer (the model is not a co-author in
the sovereign sense), and offers no resolution path.  Any
committer can paste any string.</t>
</list></t>

<t>None of the above provides a provider-neutral, DNS-resolvable,
tier-structured identity binding for the human/bot/AI contribution
mix that has become typical of agent-augmented codebases.</t>

</section>
<section anchor="design-goals"><name>Design Goals</name>

<t>This document defines a trailer grammar with the following goals:</t>

<t><list style="numbers" type="1">
  <t><strong>Provider-neutral.</strong>  No dependency on any specific identity
provider, certificate authority, or transparency log operator.</t>
  <t><strong>DNS-resolvable.</strong>  Public key material is reached via the
<spanx style="verb">~handle</spanx> resolution algorithm of <xref target="MCPDNS"></xref>, which itself
resolves to a DNS TXT record under the handle's policy zone.</t>
  <t><strong>Tier-structured.</strong>  Three distinct trailer slots correspond to
three distinct identity tiers: Sovereign (humans and
organisations with cryptographic agency), Bot (autonomous
agents under scoped delegation), and Instrument (AI models and
tool classes that lack keys).  Each slot accepts only handles
from its corresponding tier.</t>
  <t><strong>Cryptographically verifiable at the sovereign layer.</strong>
Sovereign attribution is bound by an Ed25519 signature whose
public key is reachable from DNS without prior trust
establishment.</t>
  <t><strong>Category-safe against misattribution.</strong>  Conformant parsers
reject cross-tier handle placement (e.g., an Instrument handle
in an <spanx style="verb">Acted-By</spanx> slot) as a structural grammar violation, not a
policy decision.  Misattribution is detected at parse time.</t>
</list></t>

</section>
<section anchor="scope"><name>Scope</name>

<t>This document specifies:</t>

<t><list style="symbols">
  <t>The trailer grammar in ABNF <xref target="RFC5234"></xref>.</t>
  <t>Multiplicity, placement, and ordering rules.</t>
  <t>The Ed25519 signature algorithm over the commit's tree hash.</t>
  <t>Verifier behaviour for accepting, rejecting, and surfacing
attribution states.</t>
  <t>Security considerations specific to the trailer mechanism.</t>
</list></t>

<t>This document does NOT specify:</t>

<t><list style="symbols">
  <t>The <spanx style="verb">~handle</spanx> identity primitive itself.  This is defined by
<xref target="MCPDNS"></xref> and incorporated here by reference.</t>
  <t>The full doctrinal background of the tier taxonomy.  Section 3
of this document restates the taxonomy in sufficient detail for
the spec to be standalone-readable.</t>
  <t>Sovereign key custody, derivation, and recovery.  These are out
of scope for this document; implementations are expected to
apply standard hardware-backed-key custody practice as
summarised in Section 9.6.</t>
  <t>The IdentityLog transparency-log mechanism backing the optional
<spanx style="verb">Identity-Anchor</spanx> trailer.  A future document will define it.</t>
</list></t>

</section>
</section>
<section anchor="terminology"><name>Terminology</name>

<section anchor="requirements-language"><name>Requirements Language</name>

<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY",
and "OPTIONAL" in this document are to be interpreted as described
in BCP 14 <xref target="RFC2119"></xref> <xref target="RFC8174"></xref> when, and only when, they appear in
all capitals, as shown here.</t>

</section>
<section anchor="definitions"><name>Definitions</name>

<dl>
  <dt>Handle</dt>
  <dd>
    <t>A <spanx style="verb">~</spanx>-prefixed identifier per <xref target="MCPDNS"></xref>.  Handles are the unit
of identity addressing in this document.  Resolution proceeds
by extracting the policy zone from the handle and querying the
zone's <spanx style="verb">_alter</spanx> underscore-prefixed TXT record.</t>
  </dd>
  <dt>Sovereign Tier Handle</dt>
  <dd>
    <t>A handle representing a human individual or formal organisation
with direct cryptographic agency.  Holds its own private key.
Can sign.  Examples: <spanx style="verb">~alice</spanx>, <spanx style="verb">~example.com</spanx>, <spanx style="verb">~example-co.net</spanx>.</t>
  </dd>
  <dt>Bot Tier Handle</dt>
  <dd>
    <t>A handle representing an autonomous agent acting under scoped
delegation from a sovereign.  Holds a scoped key whose authority
is bounded by the sovereign's published delegation policy.  Can
counter-sign within the delegation envelope.  Examples:
<spanx style="verb">~example-deps.bot</spanx>, <spanx style="verb">~example-merge.bot</spanx>.</t>
  </dd>
  <dt>Instrument Tier Handle</dt>
  <dd>
    <t>A handle representing an AI model, API endpoint, or tool class.
Does NOT hold cryptographic keys.  Cannot sign.  Exists as a
DNS-resolvable descriptive label only, suitable for attaching
provenance metadata to a contribution without making any
identity claim that requires cryptographic backing.  Examples:
<spanx style="verb">~example-model-1</spanx>, <spanx style="verb">~example-model-2</spanx>, <spanx style="verb">~example-model-3</spanx>.</t>
  </dd>
  <dt>Tree Hash</dt>
  <dd>
    <t>The SHA-1 (or SHA-256 in git's newer object format) hash of a
git tree object, as produced by <spanx style="verb">git write-tree</spanx> against the
staged index, or equivalently by <spanx style="verb">git cat-file -p &lt;commit&gt;^{tree}</spanx>
on an existing commit.  The tree hash is a function of the
committed content and is invariant under operations that
preserve the tree (e.g., rebase, cherry-pick, squash merge into
an empty parent).</t>
  </dd>
  <dt>Tier-Slot Grammar</dt>
  <dd>
    <t>The constraint that a given trailer name accepts handles only
from its corresponding tier.  Cross-tier placement is a
grammatical error, not a policy violation.</t>
  </dd>
  <dt>Conformant Verifier</dt>
  <dd>
    <t>A consumer of commit trailers that implements the parsing,
rejection, and signature-verification rules defined in
Section 7.</t>
  </dd>
</dl>

</section>
</section>
<section anchor="identity-tier-taxonomy-informative-reference"><name>Identity Tier Taxonomy (Informative Reference)</name>

<t>The trailer grammar in Section 4 partitions handles into three
tiers.  This section defines the taxonomy normatively for the
purposes of this specification.  Downstream attribution grammars
that reuse the taxonomy reference this document.</t>

<texttable>
      <ttcol align='left'>Tier</ttcol>
      <ttcol align='left'>Cryptographic Agency</ttcol>
      <ttcol align='left'>Trailer Slot</ttcol>
      <ttcol align='left'>Examples</ttcol>
      <c>Sovereign</c>
      <c>Holds own key, signs</c>
      <c><spanx style="verb">Acted-By:</spanx></c>
      <c><spanx style="verb">~alice</spanx>, <spanx style="verb">~example.com</spanx>, <spanx style="verb">~example-co.net</spanx></c>
      <c>Bot</c>
      <c>Scoped delegated key</c>
      <c><spanx style="verb">Executed-By:</spanx></c>
      <c><spanx style="verb">~example-deps.bot</spanx>, <spanx style="verb">~example-merge.bot</spanx></c>
      <c>Instrument</c>
      <c>No key, no signature</c>
      <c><spanx style="verb">Drafted-With:</spanx></c>
      <c><spanx style="verb">~example-model-1</spanx>, <spanx style="verb">~example-model-2</spanx>, <spanx style="verb">~example-model-3</spanx></c>
</texttable>

<t>The tier of a given handle is determined by DNS metadata published
under its <spanx style="verb">_alter</spanx> TXT record per <xref target="MCPDNS"></xref>.  Implementations MAY
treat the tier assignments above as authoritative when they
correspond to DNS-published tiers; implementations MUST NOT promote
or demote a handle's tier without re-resolving DNS.</t>

<t>The key invariant is that Instrument-tier handles cannot make
attestational claims.  An <spanx style="verb">Drafted-With:</spanx> trailer is informational
provenance metadata, not a verifiable identity binding.</t>

</section>
<section anchor="trailer-grammar-normative"><name>Trailer Grammar (Normative)</name>

<section anchor="abnf"><name>ABNF</name>

<t>The following ABNF <xref target="RFC5234"></xref> defines the syntax of each trailer.
Implementations MUST accept exactly this grammar.</t>

<t>```
acted-by-trailer     = "Acted-By:" SP sovereign-handle CRLF
executed-by-trailer  = "Executed-By:" SP bot-handle CRLF
drafted-with-trailer = "Drafted-With:" SP instrument-handle CRLF
identity-signature   = "Identity-Signature:" SP "ed25519:"
                       base64url-signature CRLF
identity-key-id      = "Identity-Key-Id:" SP did-alter-uri CRLF
identity-anchor      = "Identity-Anchor:" SP "identitylog://"
                       timestamp "Z/sth/" seq "#" commit-id CRLF</t>

<t>sovereign-handle    = "~" handle-label
bot-handle          = "~" handle-label ".bot"
instrument-handle   = "~" handle-label
                      ; tier determined by DNS resolution per <xref target="MCPDNS"></xref></t>

<t>handle-label        = 1<em>63( ALPHA / DIGIT / "-" / "_" / "." )
did-alter-uri       = "did:alter:" sovereign-handle "#" key-id
key-id              = 1</em>64( ALPHA / DIGIT / "-" / "<em>" )
base64url-signature = 86( base64url-char ) "=="
                      ; 64-byte Ed25519 signature, base64url-encoded
base64url-char      = ALPHA / DIGIT / "-" / "</em>"
timestamp           = date-fullyear "-" date-month "-" date-mday
                      "T" time-hour ":" time-minute ":" time-second
seq                 = 1*DIGIT
commit-id           = 40HEXDIG / 64HEXDIG
                      ; SHA-1 or SHA-256 commit identifier
```</t>

<t>The terminals <spanx style="verb">ALPHA</spanx>, <spanx style="verb">DIGIT</spanx>, <spanx style="verb">HEXDIG</spanx>, <spanx style="verb">SP</spanx>, and <spanx style="verb">CRLF</spanx> are
imported from <xref target="RFC5234"></xref>.</t>

<t>The <spanx style="verb">bot-handle</spanx> rule requires the <spanx style="verb">.bot</spanx> suffix, which makes the
tier syntactically distinguishable for Bot trailers.  Sovereign
and Instrument handles share the same surface syntax; their tier
distinction is enforced by DNS resolution per <xref target="MCPDNS"></xref> and by
verifier-side rejection of cross-slot placement (Section 7).</t>

</section>
<section anchor="placement"><name>Placement</name>

<t>Trailers MUST appear in the commit message footer block per the
git trailer convention <xref target="GIT-TRAILERS"></xref>.  The footer block is
separated from the commit message body by exactly one blank line.
Each trailer occupies one line of the footer block in the form
<spanx style="verb">Key: Value</spanx>.</t>

<t>A commit message that places trailers anywhere other than the
footer block (e.g., interleaved with body paragraphs) is malformed
under this specification.  Conformant verifiers MUST refuse to
parse trailers from outside the footer block.</t>

</section>
<section anchor="ordering"><name>Ordering</name>

<t>Trailers SHOULD appear in the following canonical order:</t>

<t><list style="numbers" type="1">
  <t><spanx style="verb">Acted-By:</spanx></t>
  <t><spanx style="verb">Executed-By:</spanx></t>
  <t><spanx style="verb">Drafted-With:</spanx></t>
  <t><spanx style="verb">Identity-Signature:</spanx></t>
  <t><spanx style="verb">Identity-Key-Id:</spanx></t>
  <t><spanx style="verb">Identity-Anchor:</spanx></t>
</list></t>

<t>Verifiers MUST accept trailers in any order, but emitters SHOULD
follow the canonical order to support diff-based review.  The
canonical order is also the order most natural for a human reader:
sovereign first, then delegate, then instruments, then proofs.</t>

</section>
<section anchor="multiplicity-rules"><name>Multiplicity Rules</name>

<t>The following multiplicity constraints apply to a single commit:</t>

<t><list style="symbols">
  <t><strong><spanx style="verb">Acted-By:</spanx></strong> - Exactly one trailer per signed commit.  A
squash-merged commit MAY contain multiple <spanx style="verb">Acted-By:</spanx> trailers
aggregating the contributor handles of the squashed commits;
this is the only case in which multiple <spanx style="verb">Acted-By:</spanx> trailers
are permitted.  Verifiers MUST treat each aggregated <spanx style="verb">Acted-By:</spanx>
as a separate sovereign attribution that requires its own
signature pair if cryptographic verification is desired.</t>
  <t><strong><spanx style="verb">Executed-By:</spanx></strong> - At most one trailer per commit.  A commit
is executed by at most one bot in a single delegation context.</t>
  <t><strong><spanx style="verb">Drafted-With:</spanx></strong> - Zero or more trailers per commit.
Multi-instrument drafting (e.g., a commit drafted partly with
<spanx style="verb">~example-model-1</spanx> and partly with <spanx style="verb">~example-model-2</spanx>) is
permitted and expected.  Multiple <spanx style="verb">Drafted-With:</spanx> trailers on a single commit
form an unordered set; order of appearance is not semantically
significant and verifiers MUST NOT attribute differential
authority to earlier-appearing entries.</t>
  <t><strong><spanx style="verb">Identity-Signature:</spanx> and <spanx style="verb">Identity-Key-Id:</spanx></strong> - These two
trailers MUST appear together or not at all.  An
<spanx style="verb">Identity-Signature:</spanx> without an <spanx style="verb">Identity-Key-Id:</spanx> is malformed,
and vice versa.  When present, they bind to the most recent
preceding <spanx style="verb">Acted-By:</spanx> trailer in the trailer block.</t>
  <t><strong><spanx style="verb">Identity-Anchor:</spanx></strong> - OPTIONAL in this version of the
specification.  Implementations targeting Rung-3-compliant
attribution (transparency-log-anchored) MUST emit it; all
other implementations MAY omit it.  Future revisions of this
document may upgrade the requirement.</t>
</list></t>

</section>
</section>
<section anchor="signature-algorithm-normative"><name>Signature Algorithm (Normative)</name>

<section anchor="algorithm"><name>Algorithm</name>

<t>The signature algorithm is Ed25519 <xref target="RFC8032"></xref>, which uses SHA-512
internally and produces a 64-byte signature over an arbitrary
input message.  Implementations MUST use Ed25519 and MUST NOT use
Ed25519ph or Ed25519ctx variants.</t>

</section>
<section anchor="signed-payload"><name>Signed Payload</name>

<t>The signed payload is the raw byte representation of the commit's
tree hash:</t>

<t><list style="symbols">
  <t>For repositories using SHA-1 git objects, the payload is the
20-byte SHA-1 tree hash.</t>
  <t>For repositories using SHA-256 git objects, the payload is the
32-byte SHA-256 tree hash.</t>
</list></t>

<t>The tree hash is obtained by <spanx style="verb">git write-tree</spanx> at signing time
(operating on the staged index) or equivalently by
<spanx style="verb">git cat-file -p &lt;commit&gt;^{tree}</spanx> on an existing commit.  The hash
is signed in its raw binary form, not as a hex-encoded string.</t>

</section>
<section anchor="rationale-for-tree-hash-signing"><name>Rationale for Tree-Hash Signing</name>

<t>The decision to sign the tree hash rather than the commit hash is
essential to the operational viability of the scheme.</t>

<t>A commit hash is a function of the commit's tree, its parent
commits, its author, its committer, its timestamps, and its
message - including, recursively, any trailers in the message.
Signing the commit hash directly creates a chicken-and-egg problem
(the trailer would be part of the input to its own signature) and,
more fundamentally, invalidates the signature on any
history-rewriting operation: rebase, cherry-pick, squash merge,
amend, and filter-branch all change the commit hash while
preserving the tree.</t>

<t>A tree hash is a function of the committed content alone.  It is
stable across rebase, cherry-pick, and squash merge into an empty
parent (the squash result has the same tree as the union of the
input trees if no conflicts arose).  Signing the tree hash
preserves attribution across the full range of git workflows that
modern teams depend on, at the cost of being unable to distinguish
between two commits with the same tree but different histories.</t>

<t>This trade-off is acceptable: git's own merkle structure ensures
content integrity, the parent chain is independently auditable
through git itself, and the cases in which two distinct commits
share a tree are precisely the cases in which attribution should
be preserved (a clean rebase is the same content by the same
author).</t>

<t>Where stronger anchoring is required, the optional
<spanx style="verb">Identity-Anchor:</spanx> trailer binds the signature to a specific
commit-id within a transparency log entry, recovering commit-level
identity at the cost of an external dependency.</t>

</section>
<section anchor="signature-format"><name>Signature Format</name>

<t>The signature is encoded for placement in the trailer as:</t>

<t><spanx style="verb">
ed25519:&lt;base64url-signature&gt;
</spanx></t>

<t>The base64url encoding follows <xref target="RFC4648"></xref> Section 5 (URL- and
filename-safe alphabet) without line breaks.  A 64-byte Ed25519
signature encodes to 86 base64url characters plus two <spanx style="verb">=</spanx> padding
characters, for a total of 88 characters in the trailer value
following the <spanx style="verb">ed25519:</spanx> prefix.</t>

</section>
<section anchor="key-derivation-and-rotation"><name>Key Derivation and Rotation</name>

<t>Sovereign keys are derived out-of-band; their public components
are published under the sovereign's <spanx style="verb">_alter</spanx> DNS record per
<xref target="MCPDNS"></xref>.  Key derivation, custody, and recovery procedures are
out of scope for this document.  This document treats the
sovereign key as a pre-existing Ed25519 keypair whose public
component is reachable via the DNS-resolved path of Section 6.1.</t>

<t>Key rotation is supported by the <spanx style="verb">Identity-Key-Id:</spanx> trailer, which
identifies which key was used to sign a given commit.  A
sovereign's DNS record MAY publish multiple historical keys
indexed by <spanx style="verb">key-id</spanx>, allowing verifiers to validate older commits
against the key that was current at the time of signing even
after the sovereign has rotated their primary signing key.</t>

</section>
</section>
<section anchor="dns-resolution-normative-reference"><name>DNS Resolution (Normative Reference)</name>

<section anchor="sovereign-key-resolution"><name>Sovereign Key Resolution</name>

<t>The sovereign handle's public key is resolved via the <xref target="MCPDNS"></xref>
<spanx style="verb">_alter.&lt;zone&gt;</spanx> DNS record mechanism.  Verifiers MUST use the
resolution algorithm specified in <xref target="MCPDNS"></xref> to obtain the public
key corresponding to the <spanx style="verb">key-id</spanx> named in the <spanx style="verb">Identity-Key-Id:</spanx>
trailer.</t>

<t>Verifiers MUST require DNSSEC <xref target="RFC4034"></xref> validation on the
<spanx style="verb">_alter.&lt;zone&gt;</spanx> lookup when DNSSEC is available for the zone.
For zones lacking DNSSEC deployment, verifiers MAY accept the
HTTPS <spanx style="verb">.well-known</spanx> fallback resolution path defined in <xref target="MCPDNS"></xref>,
provided the TLS chain validates against the policy domain.</t>

</section>
<section anchor="instrument-metadata-resolution"><name>Instrument Metadata Resolution</name>

<t>Instrument-handle metadata (provider, version, deprecation
status, capability profile) is resolved via the same <spanx style="verb">_alter</spanx>
mechanism, but the resolved record is descriptive only.  Verifiers
SHOULD treat Instrument metadata as informational provenance and
MUST NOT treat any field of an Instrument record as an
attestational claim.  Instrument handles cannot cryptographically
sign commits; their DNS records advertise what the model is, not
that the commit was authorised by it.</t>

</section>
</section>
<section anchor="verifier-behaviour-normative"><name>Verifier Behaviour (Normative)</name>

<t>A conformant verifier MUST perform the following steps in order:</t>

<t><list style="numbers" type="1">
  <t><strong>Parse all trailers from the footer block.</strong>  Trailers
appearing outside the footer block MUST be ignored.</t>
  <t><strong>Reject cross-slot category errors.</strong>  For each trailer,
resolve the handle's tier per <xref target="MCPDNS"></xref> (or, where DNS
resolution is unavailable, fall back to the syntactic tier
indicators of Section 4.1).  If any handle appears in a slot
other than its tier's slot - for example, an Instrument-tier
handle in an <spanx style="verb">Acted-By:</spanx> slot, or a Sovereign-tier handle in
a <spanx style="verb">Drafted-With:</spanx> slot - the commit is malformed and the
verifier MUST reject it as a category error.  The error
message SHOULD identify the offending trailer by name.</t>
  <t><strong>Verify signatures, if present.</strong>  If <spanx style="verb">Identity-Signature:</spanx>
and <spanx style="verb">Identity-Key-Id:</spanx> are present, the verifier MUST:  <vspace blankLines='1'/>
a. Extract the <spanx style="verb">key-id</spanx> from the <spanx style="verb">Identity-Key-Id:</spanx> trailer.
b. Resolve the corresponding public key by querying the
   <spanx style="verb">Acted-By:</spanx> handle's <spanx style="verb">_alter</spanx> record per Section 6.1.
c. Compute the commit's tree hash via <spanx style="verb">git cat-file</spanx> or an
   equivalent.
d. Verify the Ed25519 signature against the tree hash using
   the resolved public key.  <vspace blankLines='1'/>
If signature verification fails, the verifier MUST mark the
commit as <spanx style="verb">unverified</spanx> and MUST NOT report it as having a valid
sovereign attribution.</t>
  <t><strong>Verify the transparency anchor, if present.</strong>  If
<spanx style="verb">Identity-Anchor:</spanx> is present, the verifier SHOULD verify the
anchor against the referenced log according to the log's own
verification protocol.  Failure to verify the anchor MUST be
surfaced to the user but MUST NOT silently downgrade the
commit's verified status.</t>
</list></t>

<t>A conformant verifier SHOULD additionally:</t>

<t><list style="numbers" type="1">
  <t><strong>Cache handle-to-key resolutions.</strong>  DNS lookups for the same
handle within a single verification pass should be performed
at most once.  Cache TTL SHOULD respect the DNS record TTL.</t>
  <t><strong>Distinguish attribution states in user-facing output.</strong>
Verifiers SHOULD present three distinct states to users:  <list style="symbols">
      <t><spanx style="verb">verified</spanx> - <spanx style="verb">Acted-By:</spanx> present with a valid
<spanx style="verb">Identity-Signature:</spanx> resolving to the published key.</t>
      <t><spanx style="verb">claimed</spanx> - <spanx style="verb">Acted-By:</spanx> present without a signature, or
with a signature whose key cannot be resolved.</t>
      <t><spanx style="verb">anonymous</spanx> - no <spanx style="verb">Acted-By:</spanx> present.</t>
    </list>
Conflating these states is a security defect.</t>
</list></t>

<t>Step 2's DNS-unavailable fallback can distinguish Bot-tier handles
from Sovereign and Instrument handles, since the <spanx style="verb">.bot</spanx> suffix is
syntactically distinguishing per Section 4.1.  Sovereign and
Instrument handles share identical surface syntax and are not
distinguishable by syntax alone.  Step 2's fallback therefore cannot,
by itself, detect a Sovereign-tier handle misplaced in a
<spanx style="verb">Drafted-With:</spanx> slot or an Instrument-tier handle misplaced in an
<spanx style="verb">Acted-By:</spanx> slot during a DNS outage.  This is independently
mitigated for the <spanx style="verb">Acted-By:</spanx> case by Step 3 above - sovereign key
resolution is itself DNS-dependent (Section 6.1), so a commit whose
<spanx style="verb">Acted-By:</spanx> key cannot be resolved MUST be marked <spanx style="verb">unverified</spanx> under
Step 3 regardless of what Step 2's fallback concluded, and a
misattributed handle cannot be reported as a verified sovereign
attribution.  No equivalent backstop exists for a Sovereign handle
placed in <spanx style="verb">Drafted-With:</spanx>.  Operators relying on the DNS-unavailable
fallback SHOULD treat Step 2's category-error detection as incomplete
for that specific pair until DNS resolution is restored.</t>

</section>
<section anchor="rung-2-extension-mode-attributed-commits"><name>Rung 2 Extension - Mode-Attributed Commits</name>

<section anchor="motivation"><name>Motivation</name>

<t>The trailer grammar of Section 4 attributes each commit to individual
identities: one or more Sovereign actors, at most one Bot, zero or
more Instruments.  A class of contributions falls outside this model.
Joint manifestations produced by a mode - a bounded, DNS-addressable
composition of Sovereigns operating under declared threshold consent
- are not authored by any single <spanx style="verb">~handle</spanx>.  Examples include
pair-programming commits where two Sovereigns contributed
indistinguishably, working-group decisions ratified by a quorum,
AI-majority outputs produced by a mode whose signing authority is
defined at the mode level rather than at any member's level, and
cross-organisation commits ratified jointly by two or more modes.</t>

<t>Rung 1 of this specification has no surface for such attributions.
A committer must either pick one member arbitrarily as <spanx style="verb">Acted-By:</spanx>,
which misattributes, or omit <spanx style="verb">Acted-By:</spanx> entirely, which drops the
commit to the <spanx style="verb">claimed</spanx> state.  Rung 2 closes this gap by adding a
new trailer class, <spanx style="verb">Acted-By-Mode:</spanx>, whose value is a mode handle and
whose semantics are threshold-attestational rather than
individual-attestational.</t>

</section>
<section anchor="trailer-acted-by-mode"><name>Trailer: <spanx style="verb">Acted-By-Mode</spanx></name>

<t>The following ABNF extends Section 4.1:</t>

<t><spanx style="verb">
acted-by-mode-trailer = "Acted-By-Mode:" SP mode-handle CRLF
mode-handle           = "~" org-label "." handle-label
org-label             = 1*63( ALPHA / DIGIT / "-" / "_" )
</spanx></t>

<t>The <spanx style="verb">mode-handle</spanx> production is syntactically distinct from the
Sovereign, Bot, and Instrument handles of Section 4.1 by the required
two-label form <spanx style="verb">~&lt;org&gt;.&lt;handle&gt;</spanx>.  The organisational prefix names
the hosting zone of the mode; the inner label names the mode within
that zone.  A mode handle MUST NOT bear the <spanx style="verb">.bot</spanx> suffix, and MUST
NOT be a bare single-label Sovereign handle.</t>

<t>The semantics of <spanx style="verb">Acted-By-Mode:</spanx> are threshold-attestational: the
trailer asserts that the commit was authored under the compositional
consent standing of the named mode, not under the signing authority
of any single member.  A commit MAY carry both an individual
<spanx style="verb">Acted-By:</spanx> trailer (naming the Sovereign who physically performed
the commit operation) and an <spanx style="verb">Acted-By-Mode:</spanx> trailer (naming the
mode under whose standing the work was performed); the combination
attests "member M committed on behalf of mode O under compositional
consent".  A commit MUST be permitted to carry <spanx style="verb">Acted-By-Mode:</spanx> as
its sole <spanx style="verb">Acted-By-*</spanx> trailer class when the work is purely
mode-coupled and no single Sovereign claims primary authorship.</t>

</section>
<section anchor="tier-resolution"><name>Tier Resolution</name>

<t>Rung 1 uses the syntactic tier heuristics of Section 4.1 (the <spanx style="verb">.bot</spanx>
suffix; the provider-prefix convention for Instrument handles) for
verifier dispatch.  Rung 2 replaces these heuristics with DNS-based
tier resolution against the handle's <spanx style="verb">_alter.&lt;zone&gt;</spanx> TXT record per
<xref target="MCPDNS"></xref>.</t>

<t>A mode handle MUST resolve to an <spanx style="verb">_alter</spanx> record whose capability
declaration includes <spanx style="verb">cap=mode</spanx> (or an equivalent capability token
established in a future revision of <xref target="MCPDNS"></xref>).  The mode record
carries, at minimum:</t>

<t><list style="symbols">
  <t><spanx style="verb">type=mode</spanx> - asserts mode-tier classification.</t>
  <t><spanx style="verb">threshold=&lt;num&gt;/&lt;den&gt;</spanx> - declares the signing threshold required
for the mode to attest to a commit (for example, <spanx style="verb">threshold=2/3</spanx>
requires two of three member signatures).</t>
  <t><spanx style="verb">members=&lt;uri&gt;</spanx> - a reference to the mode's member attestation
keylist, itself a DNS-published or HTTPS-resolved JSON document
listing member Sovereign handles and their currently-valid
signing-key identifiers.</t>
</list></t>

<t>Verifiers MUST resolve the mode record via DNSSEC where available
and MUST fall back to the HTTPS <spanx style="verb">.well-known</spanx> path of <xref target="MCPDNS"></xref> only
under the same conditions that apply to Sovereign key resolution in
Section 6.1.</t>

</section>
<section anchor="verification"><name>Verification</name>

<t>Section 7 is extended for Rung 2 as follows.  For each
<spanx style="verb">Acted-By-Mode:</spanx> trailer on a commit, a conformant Rung 2 verifier
MUST:</t>

<t><list style="numbers" type="1">
  <t>Resolve the mode handle per Section 8.3 above.</t>
  <t>Fetch the threshold-attestation metadata (<spanx style="verb">threshold</spanx>, <spanx style="verb">members</spanx>).</t>
  <t>Enumerate the member signatures present on the commit - that is,
the set of <spanx style="verb">Identity-Signature:</spanx> trailers whose corresponding
<spanx style="verb">Identity-Key-Id:</spanx> binds to a Sovereign handle listed in the
mode's member keylist.</t>
  <t>Verify that the count of valid member signatures satisfies the
declared threshold.</t>
</list></t>

<t>Under the Rung 2 hard-gate profile, a commit bearing
<spanx style="verb">Acted-By-Mode:</spanx> whose member signature set does not satisfy the
declared threshold MUST be marked <spanx style="verb">unverified</spanx>.  Under the Rung 2
warn-only profile (the rollout default), verification is limited to
parse-only and slot-category correctness; threshold satisfaction is
surfaced as informational but does not downgrade the commit's
verified status.</t>

</section>
<section anchor="slot-exclusivity"><name>Slot Exclusivity</name>

<t><spanx style="verb">Acted-By-Mode:</spanx> accepts mode-tier handles ONLY.  Verifiers MUST
reject Sovereign, Bot, and Instrument handles appearing in this slot
as cross-slot category errors per the rules of Section 7, Step 2.
The existing <spanx style="verb">Acted-By:</spanx> slot continues to accept Sovereign handles
ONLY, regardless of whether an <spanx style="verb">Acted-By-Mode:</spanx> is also present.</t>

</section>
<section anchor="interaction-with-co-authored-by"><name>Interaction with Co-Authored-By</name>

<t>The <spanx style="verb">Co-Authored-By:</spanx> convention of <xref target="ANTHROPIC-COAUTHOR"></xref> and the
equivalent GitHub commits-UI trailer remain unchanged by this
extension.  Commits bearing <spanx style="verb">Acted-By-Mode:</spanx> SHOULD include a
<spanx style="verb">Co-Authored-By:</spanx> line rendering the mode handle in human-readable
form, so that the authoring mode is visible in commit-UI surfaces
that do not parse the identity trailer grammar natively.</t>

</section>
<section anchor="rung-2-rollout"><name>Rung 2 Rollout</name>

<t>Rung 2 MUST be deployed in two sub-phases.  In the parse-only
sub-phase, conformant hooks and verifiers accept and recognise the
<spanx style="verb">Acted-By-Mode:</spanx> trailer, enforce slot-exclusivity per Section 8.5,
and surface member signature counts informationally.  They do NOT
enforce the threshold.  The parse-only sub-phase is permitted before
the <spanx style="verb">_alter.</spanx> resolver has shipped in the referenced backend
implementation.</t>

<t>In the signature-verification sub-phase, verifiers additionally
enforce that the member signature set satisfies the mode's declared
threshold.  The signature-verification sub-phase MUST NOT be enabled
before the <spanx style="verb">_alter.</spanx> resolver is in production and the mode record
schema of Section 8.3 is stable.</t>

<t>The warn-only profile is a permitted transitional state, not a
permanent operating mode.  Once the <spanx style="verb">_alter.</spanx> resolver is in
production and the mode record schema of Section N.3 is stable, a
conformant deployment MUST promote from the warn-only profile to the
hard-gate profile.  A deployment MUST NOT remain on the warn-only
profile, nor stall indefinitely in the parse-only sub-phase, once
these preconditions are satisfied; continuing to accept
<spanx style="verb">Acted-By-Mode:</spanx> threshold claims without enforcement after that
point is non-conformant with this section.</t>

</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<section anchor="sovereign-key-compromise"><name>Sovereign Key Compromise</name>

<t>If a sovereign's signing key is compromised, the sovereign rotates
the key and publishes the new key under a new <spanx style="verb">key-id</spanx> in their
<spanx style="verb">_alter</spanx> record.  The previous key SHOULD remain published as a
historical record so that commits signed during its validity
period continue to verify.  Sovereigns SHOULD also publish
revocation metadata distinguishing keys that were rotated for
hygiene from keys that were rotated due to compromise; verifiers
encountering a compromise-revoked key SHOULD warn the operator
that any commit signed by that key is suspect even if the
signature still validates mathematically.</t>

</section>
<section anchor="instrument-handle-spoofing"><name>Instrument Handle Spoofing</name>

<t>Because Instrument handles cannot sign, the <spanx style="verb">Drafted-With:</spanx>
trailer is an unverified provenance claim.  A malicious committer
can always paste <spanx style="verb">Drafted-With: ~example-model-1</spanx> into a commit they
hand-wrote.  Implementations MUST treat Instrument attribution as
informational, not attestational, and MUST NOT extend trust
decisions on the basis of an Instrument trailer alone.  This is
explicit by design - the Instrument tier is a documentation
mechanism, not an attestation mechanism.  The sovereign signature
on <spanx style="verb">Acted-By:</spanx> does not repair this.  It binds a real
cryptographic identity to the commit, so a false <spanx style="verb">Drafted-With:</spanx>
claim becomes attributable to a named signer rather than
anonymous, but it does not make that claim true and it attests
nothing about which tools were in fact used.  Attributability is
the whole of what the signature contributes here, and it is an
accountability property rather than a verification one.  A
deployment requiring assurance about instrument involvement MUST
obtain that assurance from a source outside this trailer grammar.
The bounds of what the signature does attest are stated in the
Limits of Sovereign Attestation subsection below.</t>

</section>
<section anchor="limits-of-sovereign-attestation"><name>Limits of Sovereign Attestation</name>

<t>The <spanx style="verb">verified</spanx> state defined in the Verifier Behaviour section is
narrower than it appears.  This subsection states its bounds
normatively, because an implementation reading it broadly reaches
conclusions the signature does not support.</t>

<t>A valid <spanx style="verb">Identity-Signature:</spanx> attests exactly one proposition,
which is that at signing time the holder of the private key
published under the <spanx style="verb">Identity-Key-Id:</spanx> of the <spanx style="verb">Acted-By:</spanx> handle
asserted the signed payload of Section 5.2 over that tree.  It does not
attest any of the following, and a verifier MUST NOT report or
imply any of them on the strength of a valid signature alone:</t>

<t><list style="symbols">
  <t>that the sovereign authored the content, or reviewed content
authored by anything else;</t>
  <t>that any handle named in <spanx style="verb">Executed-By:</spanx> or <spanx style="verb">Drafted-With:</spanx> did
or did not participate, in any degree;</t>
  <t>that a delegated actor was, at the moment it acted, operating
within an authority the sovereign had granted, in scope, in
force, and unrevoked;</t>
  <t>that the sovereign observed the act as it occurred, or is in a
position to enumerate the acts performed under its identity.</t>
</list></t>

<t>The third item is the one most often assumed.  The signature is a
point-in-time assertion over content.  Delegated authority is a
separate fact with its own scope, its own bounds and its own
lifetime, and no property of an Ed25519 signature over a tree
hash carries it.  A deployment that needs to know whether a
non-sovereign actor was authorised to act for a sovereign MUST
establish that from an authority record obtained out of band;
specifying such a record is out of scope for this document.  A
valid signature in particular MUST NOT be treated as evidence
that an authority existed, that its bounds were respected, or
that it had not been revoked before the commit was made.  The
same bound applies one tier down.  A Bot-tier counter-signature
attests that a scoped key was used, and does not attest that the
use fell within the delegation envelope the sovereign intended.</t>

<t>Absence is equally unsafe to read.  A commit carrying <spanx style="verb">Acted-By:</spanx>
and no delegate or instrument trailer is not evidence that no
delegate or instrument was involved.  The Negative-Attribution
Risk subsection below states the deliberate-omission case; a
further case is that a record of delegated activity may be
legitimately withheld from a particular reader without being
absent from the record itself.  Verifiers MUST NOT infer absence
of delegation from absence of a named delegate.</t>

<t>Nothing in this document makes attribution complete.  A signature
establishes that one commit is attributable.  It says nothing
about whether the full record of activity conducted under that
identity is visible to the person or organisation the identity
belongs to; completeness of that record, where a deployment
offers it, is a property of the deployment and not of this
grammar.  Implementations MUST NOT present signature validity to
a sovereign as evidence that everything done under their identity
is visible to them.</t>

<t>Attribution under this document is therefore recognition-grade
rather than certainty-grade.  It supports the question of who is
answerable for a commit.  It does not support the question of
what took place when the commit was made.  Implementations SHOULD
phrase user-facing output accordingly, and MUST NOT label a
signed commit in terms that assert supervision, review, or
authorisation.</t>

</section>
<section anchor="dns-poisoning"><name>DNS Poisoning</name>

<t>A successful DNS poisoning attack against the <spanx style="verb">_alter.&lt;zone&gt;</spanx>
zone could redirect verifiers to a substitute public key under
the attacker's control.  This risk is mitigated by:</t>

<t><list style="symbols">
  <t>DNSSEC validation when available.  Verifiers SHOULD require
DNSSEC on the policy zone and MAY refuse to verify against an
unsigned zone.</t>
  <t>The HTTPS <spanx style="verb">.well-known</spanx> fallback path defined in <xref target="MCPDNS"></xref>,
which terminates the trust chain at the TLS certificate of
the policy domain.</t>
  <t>Independent transparency-log anchoring via the optional
<spanx style="verb">Identity-Anchor:</spanx> trailer, which provides a second source of
truth that is unaffected by DNS poisoning.</t>
</list></t>

</section>
<section anchor="tree-hash-collision"><name>Tree-Hash Collision</name>

<t>Most git repositories currently use SHA-1 for tree hashing.
SHA-1 is cryptographically weakened (SHAttered, 2017) for
collision resistance, and tree-hash signing inherits that
weakness.  Implementations operating in high-assurance contexts
SHOULD migrate to SHA-256 git objects, which use SHA-256 for the
tree hash and eliminate the SHA-1 weakness.  Until such migration
is complete, verifiers SHOULD record both the tree hash and the
commit hash in any local audit log so that any future SHA-1
collision attack against the verifier's history is detectable
ex post.</t>

</section>
<section anchor="squash-merge-trailer-aggregation-race"><name>Squash-Merge Trailer Aggregation Race</name>

<t>The aggregation of contributor <spanx style="verb">Acted-By:</spanx> trailers into a
squash-merged commit is an implementation responsibility of the
hosting platform or merge tool.  If aggregation is skipped or
fails silently, the trailers from individual contributor commits
are lost, and the merge commit appears to have a single sovereign
when it actually had several.  Implementations performing squash
merges MUST validate that contributor trailers have been
aggregated before completing the merge, and SHOULD refuse to
complete a squash that loses trailer attribution.  This is an
implementation concern, not a protocol-level issue, but it is
listed here because the operational consequence of a missing
trailer is a silent loss of attribution.</t>

</section>
<section anchor="key-custody-at-the-commit-signing-boundary"><name>Key Custody at the Commit-Signing Boundary</name>

<t>The pre-commit hook (or analogous integration point) that invokes
the signing operation is a trust-sensitive boundary: the hook
runs in the unprivileged developer process and may have access
to the sovereign's private key.  Implementations SHOULD route
signing through a privileged helper - for example, a unix domain
socket exposed by a dedicated signing daemon, or a hardware
authenticator using WebAuthn PRF - rather than reading the
private key directly from unprivileged process memory.  Direct
key handling in the developer process is acceptable for
prototyping but MUST NOT be relied upon in production
deployments where commit attribution carries weight.</t>

</section>
<section anchor="negative-attribution-risk"><name>Negative-Attribution Risk</name>

<t>A committer may deliberately omit the <spanx style="verb">Drafted-With:</spanx> trailer to
conceal AI-instrument involvement in a contribution.  This is
detectable only by out-of-band evidence and is not addressable at
the protocol layer.  Where AI-disclosure obligations exist (for
example, in regulated software development contexts), they SHOULD
be enforced at the policy layer with this protocol providing the
truthful path for honest committers, not the verification path
for dishonest ones.</t>

</section>
<section anchor="mode-threshold-non-enforcement-under-the-rollout-default"><name>Mode-Threshold Non-Enforcement Under the Rollout Default</name>

<t>The Rung 2 extension's security value for <spanx style="verb">Acted-By-Mode:</spanx> rests
entirely on the member-signature threshold check defined in the
Verification subsection above.  The rollout path defined in the Rung
2 Rollout subsection does not enforce that check universally.  The
parse-only sub-phase, itself a MUST-mandated first phase for any
deployment whose resolver has not shipped, surfaces member signature
counts informationally without enforcing the threshold, and the
warn-only profile carries the same non-enforcement forward as the
stated rollout default.  In either state, a committer holding fewer
than the declared threshold of member keys - including zero, where
local key custody permits it - can attach <spanx style="verb">Acted-By-Mode:</spanx> claiming
full quorum or governance ratification, and the commit's verified
status is not downgraded.  Implementations MUST treat commits
carrying <spanx style="verb">Acted-By-Mode:</spanx> under a non-hard-gate profile as
unverified for any purpose that depends on the threshold claim.  See
the Rung 2 Rollout subsection above for the MUST-level obligation to
promote a deployment out of the warn-only profile once its
preconditions are satisfied.</t>

</section>
</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<section anchor="git-trailer-name-registration"><name>Git Trailer Name Registration</name>

<t>At the time of writing, IANA does not maintain a registry of git
commit trailer names.  If such a registry is established, this
document requests registration of the following trailer names
with reference to this specification:</t>

<t><list style="symbols">
  <t><spanx style="verb">Acted-By</spanx></t>
  <t><spanx style="verb">Executed-By</spanx></t>
  <t><spanx style="verb">Drafted-With</spanx></t>
  <t><spanx style="verb">Identity-Signature</spanx></t>
  <t><spanx style="verb">Identity-Key-Id</spanx></t>
  <t><spanx style="verb">Identity-Anchor</spanx></t>
</list></t>

<t>Until a formal registry exists, this document recommends that
implementers coordinate via the ALTER discovery community and
treat the trailer names defined here as reserved for the
identity-attributed commit grammar.</t>

</section>
<section anchor="uri-scheme-dependencies"><name>URI Scheme Dependencies</name>

<t>This document depends on the <spanx style="verb">did:alter:</spanx> URI scheme via the
<spanx style="verb">Identity-Key-Id:</spanx> trailer.  The <spanx style="verb">alter:</spanx> URI scheme is the
subject of IANA considerations in <xref target="MCPDNS"></xref>; this document does
not separately register it.</t>

<t>The <spanx style="verb">identitylog://</spanx> URI scheme used by the optional
<spanx style="verb">Identity-Anchor:</spanx> trailer is reserved by this document for
future registration when a normative IdentityLog specification is
published.  Implementations encountering <spanx style="verb">identitylog://</spanx> URIs
without a registered scheme MUST treat the anchor as an opaque
reference and SHOULD NOT attempt resolution.</t>

</section>
<section anchor="no-other-iana-actions"><name>No Other IANA Actions</name>

<t>This document requests no other IANA actions.</t>

</section>
</section>
<section anchor="relationship-to-existing-standards"><name>Relationship to Existing Standards</name>

<t>The trailer grammar defined here is intended to coexist with
prior commit-attribution mechanisms rather than to replace them.</t>

<texttable>
      <ttcol align='left'>Mechanism</ttcol>
      <ttcol align='left'>Purpose</ttcol>
      <ttcol align='left'>Coexistence with this spec</ttcol>
      <c>Git <spanx style="verb">Signed-off-by</spanx> <xref target="DCO"></xref></c>
      <c>Legal attestation of contribution rights</c>
      <c>Orthogonal.  A commit MAY carry both a <spanx style="verb">Signed-off-by:</spanx> and an <spanx style="verb">Acted-By:</spanx> trailer.  They answer different questions.</c>
      <c>Git commit signing (<spanx style="verb">git commit -S</spanx>)</c>
      <c>Cryptographic identity via GPG/SSH key directories</c>
      <c>Orthogonal.  A commit MAY be both GPG-signed and <spanx style="verb">Acted-By</spanx>-signed.  Verifiers handle each path independently.</c>
      <c>Sigstore / gitsign <xref target="GITSIGN"></xref></c>
      <c>Keyless cryptographic identity via OIDC</c>
      <c>Architecturally adjacent.  Different identity provider model (OIDC + Rekor vs DNS-resolved DID + IdentityLog).  May coexist.</c>
      <c>Anthropic <spanx style="verb">Co-Authored-By: Claude</spanx> <xref target="ANTHROPIC-COAUTHOR"></xref></c>
      <c>Informal AI co-authorship convention</c>
      <c>Superseded for AI attribution by <spanx style="verb">Drafted-With:</spanx> (Instrument tier).  Implementations MAY emit both during a transition window.</c>
      <c>Linux kernel <spanx style="verb">Assisted-by</spanx> [LINUX-AI-ASSIST]</c>
      <c>Disclosure-only attribution of AI assistance in kernel contributions; legal liability remains with a human via DCO (<spanx style="verb">Signed-off-by</spanx>)</c>
      <c>Architecturally adjacent and complementary.  <spanx style="verb">Assisted-by:</spanx> discloses AI involvement in prose-readable form; <spanx style="verb">Drafted-With:</spanx> binds the same involvement to a DNS-resolvable Instrument <spanx style="verb">~handle</spanx> with machine-verifiable metadata.  Both MAY appear on the same commit.  Bidirectional mapping and a canonical emission pattern are defined in Appendix A.</c>
</texttable>

<t>The Instrument tier is novel to this specification and has no
analogue in any existing mechanism.  Sigstore identifies signers;
the DCO attests to legal rights; the Anthropic convention is a
plain-text marker.  None expresses the structural distinction
between a sovereign actor, a delegated bot, and a non-signing
instrument.  This distinction is the central contribution of
the present document.</t>

</section>
<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>The author thanks colleagues at Alter Meridian Pty Ltd for the
framing of identity tiers, and external adversarial reviewers for
pressure-testing the tier-slot grammar and the cross-tier rejection
rules.  Additional contributors will be named at review time.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">

&RFC1035;
&RFC2119;
&RFC4034;
&RFC4648;
&RFC5234;
&RFC8032;
&RFC8174;
&RFC8552;
&RFC8785;
<reference anchor="MCPDNS" target="https://datatracker.ietf.org/doc/draft-morrison-mcp-dns-discovery/">
  <front>
    <title>Discovery of Model Context Protocol Servers via DNS TXT Records</title>
    <author fullname="Blake Morrison">
      <organization>Alter Meridian Pty Ltd</organization>
    </author>
    <date year="2026"/>
  </front>
</reference>


    </references>

    <references title='Informative References' anchor="sec-informative-references">

&RFC7942;
<reference anchor="SIGSTORE" target="https://www.sigstore.dev/">
  <front>
    <title>Sigstore: Software Signing for Everybody</title>
    <author >
      <organization></organization>
    </author>
    <date year="2022"/>
  </front>
</reference>
<reference anchor="GITSIGN" target="https://docs.sigstore.dev/cosign/signing/gitsign/">
  <front>
    <title>gitsign: Keyless Git Signing</title>
    <author >
      <organization></organization>
    </author>
    <date year="2023"/>
  </front>
</reference>
<reference anchor="DCO" target="https://developercertificate.org/">
  <front>
    <title>Developer Certificate of Origin v1.1</title>
    <author >
      <organization></organization>
    </author>
    <date year="2004"/>
  </front>
</reference>
<reference anchor="GIT-TRAILERS" target="https://git-scm.com/docs/git-interpret-trailers">
  <front>
    <title>git-interpret-trailers(1)</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="ANTHROPIC-COAUTHOR" target="https://docs.anthropic.com/claude/docs/co-authored-by-convention">
  <front>
    <title>Co-Authored-By: Claude - convention for AI-assisted commits</title>
    <author >
      <organization>Anthropic</organization>
    </author>
    <date year="2025"/>
  </front>
</reference>
<reference anchor="MORRISON-IFT" target="https://doi.org/10.6084/m9.figshare.31951383">
  <front>
    <title>Identity Field Theory: Toward a Physics of Being Known</title>
    <author fullname="Blake Morrison">
      <organization>Alter Meridian Pty Ltd</organization>
    </author>
    <date year="2026"/>
  </front>
</reference>


    </references>

</references>



  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA7V96XPjRpbn9/wrMuQPLXkJ1l22VbZj5aqyrZm6VpK7e8bh
HYJkUkQLBGgAlIpeb//t+37vvTwAQmVPzE5FdJsigTxevvvKLMtMV3SlO7VH
50tX0ed9dtZ1TTHfdW5pfyg6+7LebIqutbdFbq8K12SXXbNbdLuGfr9q8qJ0
TXtk8vm8cbf3DKNDHJllvajyDc22bPJVl23qpinausoK/1IeXsoW8lL28LFZ
5J27rpv9qS2qVW2KbXNqaRFt9/jhw6/od5PvunXdnBprM/qftatdWcpE35X5
jbNvdSL+sW6u86r4Le+Kujq1Z2XnGvvWNcWyyCv7odvbN92SH3Qb2t2pnWOI
/0nzuRzPTmlhxlR1s6ERbh0mvfj+5aOHT57px8ePHn2lH58+fPLUf3z+9Ev9
+Oxx+PbLh08e+4+PvgjfPnsWvv3iSx737csPr95dnvK6/Im9KtpFfeuava1X
tMWlKwnSVec+dvZDU3f1oi7tpWvoCTk9GsBe/f3KXrhF3SzpODBYBN0fAu4/
Aboub65dd2rXXbdtTx88WOZd3jX54obgV7huNaWRHhA2PBggwmaxzZZVmy39
1h7wcPQ6Lenxw8fPjQEK9GH/xVdPGVyX5z9cXr2/eN2H0mVx3XZ1Qx8v61V3
lzfO0ldVUV1bGsi+xizzerk/Gl343d3dtNURpkt3O1jPY/rzh/Mrmvldf9Zr
Ql2a5dT+q9uXrm2ZlHTe8ZkIGm1/qkWNIR608tYDHXKwgif056uX7weY4W5d
WW/pdF66pitWBSgIWPK+Ka6Lyt4+mj66ZxX+zUV8kQ+rN+vDp7Lv7Ori7PzN
64vLg81nBSFis21cl3XKJI4fnYzPicfbxQaExVB4MP4+vXv27urHi/cfzl9m
L9+f/XT14/uL/sQv6+yM8Zn4x3fELl6W+W7pbGYXdXULFlNXfOhn51netkUL
5rTwzOmQGmjfhOVVt27qbbG4/9Ry/whvYcGTyk4WdZb7Bc33WVxG/xCfgcLf
X1ycX75/l51/f9XflWep9vvClcR014554VVNyLy0uf2w3rfFosX5fueA1/9a
1XfVfyd5J/Q4DpSCcebRw+nzh18+fbD5aroixF4T7U2fPPrq2aMnXz4xJssy
m89bsIXOmKt10VqC2W5Dm7VLtyoq19LmCBf0iKwigr1u8s0mb3CSZkRy4LDl
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
NFgCm9JT8/8Aedh36bCqAAA=

-->

</rfc>
