Skip to content

[signet-ded9d4] docs(apas): define the 0.4 agent activity protocol - #175

Open
jamestexas wants to merge 8 commits into
mainfrom
docs/apas-core-profile-split
Open

[signet-ded9d4] docs(apas): define the 0.4 agent activity protocol#175
jamestexas wants to merge 8 commits into
mainfrom
docs/apas-core-profile-split

Conversation

@jamestexas

@jamestexas jamestexas commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator

Draft for review.

What changed

  • Defines APAS over bounded AI-agent Activities, with Workload identity kept distinct from Activity identity.
  • Adds Activity and Segment lifecycle semantics, including verified continuity across suspension and resume.
  • Replaces the maturity ladder with cumulative, falsifiable L1-L4 assurance claims over one Activity and evidence scope.
  • Defines the generic activity/v1 in-toto Statement carrier with DSSE at L2 and above.
  • Adds composable carrier, topology, Evidence, identity, and implementation Profiles.
  • Preserves dispatch/v1, bridge certificates, phase handoffs, CAS commitments, and origin encoding in the non-normative ART Profile.
  • Maps the complete Rosary + Cloister + Ley-line-open + Signet + Notme + Mache composition and an anonymous durable-reconciliation sibling implementation.
  • Adds a disposition audit for APAS 0.3 requirements.

Verification

  • task all
  • task lint: 0 issues
  • both JSON examples parse with jq
  • terminology, glossary, stale-marker, and diff checks pass
  • Mermaid syntax reviewed; no repository renderer is installed

Follow-up

Signet schema and code conformance for activity/v1 will be tracked separately after the protocol text is accepted.

…e vendor's implementation

APAS 0.3.1-draft. Every level stated a portable Requirement, then listed
bullets — previous_chain_hash, dispatch manifests, bridge certificates, a
shared CMS/Ed25519 primitive, ACP request_permission — in the position readers
take as conformance criteria. An implementer could not tell which lines they
had to satisfy and which merely narrated how we built it. That made APAS
unimplementable by anyone who had not built our stack, which is the actual
obstacle to it being a standard rather than a design doc.

Each level now carries mechanism-neutral core properties (L2.1-L2.5,
L3.1-L3.4, L4.1-L4.5), each with a stated falsification, and the original
bullets are retained verbatim as a named reference profile. §2.0 gives the
reading rule and forbids core properties from naming an algorithm, envelope,
protocol, namespace, predicateType, product, or path.

Prompted by measuring a second, independently built implementation against
L2-L4 (new §7.7). It satisfies L2 while failing most of L2's bullets, and by
the property that matters — an externally certified signing identity rather
than a key held by the same component that writes the attestations — it is
STRONGER than the profile that defined the level. A scheme that scores that
non-conformant is measuring the wrong thing.

Two properties are new, and both were learned rather than designed:

L3.3 generalizes ACP request_permission to "the capability set is bounded,
declared, and default-deny". A runtime permission boundary and a declarative
capability set are two encodings of one property. The declarative form is
preferred: it is default-deny by construction, so there is no prompt to
fatigue a human into accepting and no approval path to social-engineer. A
runtime boundary that defaults to allow on timeout or missing policy does not
satisfy it — the property is default-deny, not "a decision happens". Advisory
annotations are explicitly not a boundary.

L4.5 requires outcome be distinguishable from completion. Taken from the
second implementation, which documents at the type that committing a result is
no evidence work succeeded, because executors steer a stuck model into
submitting a degraded one. An attestation recording only completion is
correctly signed and materially misleading — the worst combination, since it
survives verification.

Also refreshes the version-disambiguation note, which pinned its example to
0.3.0 and to a superseded rc; APAS 0.3.1 alongside signet v0.3.0 is now the
worked example of the two clocks diverging.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NbcVvbUMkJHvSXbz1MMw5n
@jamestexas
jamestexas force-pushed the docs/apas-core-profile-split branch from 084f88d to 64801c3 Compare August 11, 2026 19:24
@jamestexas jamestexas changed the title [signet-ded9d4] docs(apas): separate each level's requirement from one vendor's implementation [signet-ded9d4] docs(apas): define the 0.4 agent activity protocol Aug 12, 2026
@jamestexas
jamestexas marked this pull request as ready for review August 12, 2026 17:48
Copilot AI lite review requested due to automatic review settings August 12, 2026 17:48

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

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.

2 participants