Skip to content

Phase 04+05: service-agent gating, product coherence, release 0.2.8#1

Merged
CreasyBear merged 144 commits into
mainfrom
phase-05-product-coherence
May 29, 2026
Merged

Phase 04+05: service-agent gating, product coherence, release 0.2.8#1
CreasyBear merged 144 commits into
mainfrom
phase-05-product-coherence

Conversation

@CreasyBear

Copy link
Copy Markdown
Owner

Summary

Lands Phase 04 (service-agent gating) and Phase 05 (product coherence) as a no-ff merge stack, then bumps the public package to handshake-protocol-kernel@0.2.8.

  • Phase 04: operator/full tier gates, service-operator surface rename, FailureClass taxonomy parity, x402 custody (Mechanism A), regression cleanup (tsc 0, tier gates 10/10 + 15/15).
  • Phase 05: registry-first FailureClass derivation (HR-01 fix), keel audit, claim-boundary/README coherence, Mechanism A structural verification, decisions D-50..D-71.
  • Release: 0.2.8 patch bump with CHANGELOG, README, launch-gate evidence, and adapter activation fixtures aligned.

Verification

  • .planning/phases/04-service-agent-gating/04-VERIFICATION.md — passed
  • .planning/phases/05-product-coherence/05-VERIFICATION.md — passed
  • .planning/phases/05-product-coherence/05-KEEL-AUDIT.md — 7 coherence invariants
  • .planning/phases/05-product-coherence/05-REVIEW.md — SHIP-WITH-FIXES (HR-01 resolved)
  • .planning/phases/05-product-coherence/05-SECURITY.md — PASS-WITH-FINDINGS
  • Pre-flight @ 2f5e18a: tsc clean, operator 10/10, full 15/15, bun 849/3 (3 known residuals), pack:check pass

Test plan

  • npm run check:types
  • npm run check:service-agent-gating-phase
  • npm run check:service-agent-gating-phase:full
  • npm run pack:check
  • Post-merge: npm publish for 0.2.8 + registry readback smoke

Merge note

Merge with merge commit (preserve 144-commit audit trail per Handshake reconstruction doctrine).

Made with Cursor

CreasyBear and others added 30 commits May 25, 2026 18:11
Checkpoint GSD phase 02 before execute-phase: six wave plans, locked
context, premortem hardening (negative drift proof, CLI sell-test,
audit_read priorities, ROADMAP note).

Co-authored-by: Cursor <cursoragent@cursor.com>
Register A2A, hosted-admission, and service-workflow surfaces; cover new
CLI handler paths; add manifest-coverage architecture tests with negative
drift proofs. Closes Wave 1–2 of phase 02-address-concerns.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Add parallel Agent lane mapping (Standing Bounds through Outcome) with
schema-native names and non-authority flags so operators learn admission
≠ gateway enforcement without renaming protocol exports.

Acceptance: Agent lane vocabulary present in both docs with schema-native names and non-authority flags.
Wave: 1, Plan: 04-01, Task: 1
Co-authored-by: Cursor <cursoragent@cursor.com>
Record the admission → kernel → run*Gateway request chain and D-12 external
PEP glue note so docs forbid treating ingress middleware as Handshake.

Acceptance: Dual enforcement chain recorded in decisions/protocol-notes without protocol-definition rewrites.
Wave: 1, Plan: 04-01, Task: 2
Co-authored-by: Cursor <cursoragent@cursor.com>
Add doc-scanning posture test and claim-boundary matrix entries so CI
fails on admission-only protection claims and missing gateway language.

Acceptance: CI fails if docs regress to admission-only protection claims.
Wave: 1, Plan: 04-01, Task: 3
Co-authored-by: Cursor <cursoragent@cursor.com>
Create primary operator TTHW with unified journey, step-3 custody fork, D-09
contrast table, proof-gap list, and failure table placeholder for plan 05.

Acceptance: Golden path includes unified journey, service branch, host fork, D-09 contrast, proof-gap prose, failure table placeholder.
Wave: 1, Plan: 04-02, Task: 1
Co-authored-by: Cursor <cursoragent@cursor.com>
Add single service-first operator entry with host commands deferred to fork
section; integrator doc moved to Advanced.

Acceptance: Devex index has one Start Here; service-first; integrator doc not in first session.
Wave: 1, Plan: 04-02, Task: 2
Co-authored-by: Cursor <cursoragent@cursor.com>
Document demo as canonical Branch A runnable and anchor to product test;
verified npm run demo:service-workflow-admission succeeds.

Acceptance: Admission demo is canonical service-side runnable artifact in docs and scripts.
Wave: 1, Plan: 04-02, Task: 3
Co-authored-by: Cursor <cursoragent@cursor.com>
CreasyBear and others added 29 commits May 29, 2026 14:06
- Host doctor, quickstart, and simulate maintenance guidance
- Non-authority negations for host lane operators

Co-authored-by: Cursor <cursoragent@cursor.com>
- Start Here table rows for service and host maintenance docs

Co-authored-by: Cursor <cursoragent@cursor.com>
- Add intent_compilation and candidate_action to OperationReadbackStageSchema (D-57)
- Implement projectOperationReadback and projectOperationCorrelationIndex
- Add protocolStoreEvidenceProjectionReader for actionContractId-keyed reads

Co-authored-by: Cursor <cursoragent@cursor.com>
- Wire getOperationReadbackProjection and getOperationCorrelationIndex handlers (D-58)
- Expose /v0.2/evidence/operations/:actionContractId/readback and /correlation

Co-authored-by: Cursor <cursoragent@cursor.com>
- Add operation-readback-view with compilation stage order and non-claims (D-57)
- EvidenceClient.getOperationCorrelationIndex and MCP operationCorrelation URI (D-58)
- readback-spine architecture tests for routes, flags, and ref alignment

Co-authored-by: Cursor <cursoragent@cursor.com>
- Require A4 service/host operator runbooks in operator completion contract
- Expect runbooks on disk in custody-matrix-parity (phase 05 follow-through)
- Allowlist OperationCorrelationIndexSchema on package root exports (05-08)

Co-authored-by: Cursor <cursoragent@cursor.com>
Store reader 404 uses a stable HandshakeProtocolError code; register it for
reason-code registry parity with record_not_found.

Co-authored-by: Cursor <cursoragent@cursor.com>
- Lead README and protocol-layman with reconstructable clearance before consequence
- Remove Passport from headline workflow diagrams; retain negation in service-workflow-story
- Add D-59 cross-ref in decisions.md; Diataxis headers on touched canonical docs

Co-authored-by: Cursor <cursoragent@cursor.com>
- Add agent, service-operator, and auditor golden paths under docs/internal/golden-paths/
- Restructure developer-experience-index Start Here table with persona rows

Co-authored-by: Cursor <cursoragent@cursor.com>
… claim-boundary guard

- Rejoin README line wrap so "Certificate is terminal evidence, not permission." is contiguous (claim-boundary requiredPatterns regex needs single space)
- Restore "protected actions for automated decision making" phrasing in category line (D-59) for category-boundary matrix entry

Co-authored-by: Cursor <cursoragent@cursor.com>
- Windowed allowlist scan over README/CHANGELOG/STRUCTURE/QUALITY/docs/internal canon
- Forbids passport-as-permission and category-leakage strings without a negation/evidence window (adjudication #5)
- Excludes .planning; keeps service-workflow-story.md negation tables legal

Co-authored-by: Cursor <cursoragent@cursor.com>
…m matrix (D-59, D-69)

- Add claim-boundary matrix entry requiring "reconstructable clearance before consequence" in README + protocol-layman
- Forbid approval-workflow / agent-permissions / "for everyone" category headlines (D-69 no silent softening)

Co-authored-by: Cursor <cursoragent@cursor.com>
…d (D-60)

- Windowed clearance-verb scan over src/cli .ts/.md copy surfaces
- Drift-guard comment ties phrase lists to canonical-doc-forbidden-copy.test.ts
- Negation window keeps LANE.md "never ... authorized" boundary legal

Co-authored-by: Cursor <cursoragent@cursor.com>
…D-62)

- Forbid macro-plan / concierge-demand-test-scaffold in package scripts, README, and src/test/docs imports
- Quarantines promotion only; .planning/macro scratch may still exist on disk

Co-authored-by: Cursor <cursoragent@cursor.com>
…-64, D-65)

- Architecture test asserts signer refuses without a valid VerifiedGatewayCheck
- Architecture test asserts gateway-resolved redacted evidence must bind the gate
- Adapter pin: official signer currently signs a forged verified gate (RED)

Co-authored-by: Cursor <cursoragent@cursor.com>
…-65)

- assertGatewayHeldSigningCommand enforces VerifiedGatewayCheck + gate-bound,
  redacted used_by_gateway resolution evidence before any payment signature
- wired into runX402WalletGateway and the official signing surface entry
- gateway_held_redacted is now structurally enforced, not label-only
- raw caller-supplied credential refs cannot reach signPayment
- no X402PaymentSignatureCommand ABI change (R1: additive guard only)

Co-authored-by: Cursor <cursoragent@cursor.com>
…(D-64)

- new decisions.md section: signer structurally unreachable without passed
  VerifiedGatewayCheck + gate-bound redacted resolution evidence
- cites assertGatewayHeldSigningCommand enforcement at both signer boundaries
- documents raw-SDK bypass as proof gap, not enforcement (D-64)
- D-65 architecture-promotion rationale for the custody pin
- integrator migration note: X402PaymentSignatureCommand ABI unchanged (R1)

Co-authored-by: Cursor <cursoragent@cursor.com>
…lations (D-66)

- broaden requiresMissingGeneratedExecutionGraphRefusal: refuse when a
  generated graph/node binding is claimed with no runtimeExecutionId attached
  (closes the no-runtime hole per adjudication #4 / D5)
- reuses existing generated_execution_graph_missing reason code (no new
  kernel transition semantics, D-50)
- architecture pin: agent-origin node/graph claims without runtime are rejected;
  boundary control confirms non-agent-origin compilations are unaffected

Co-authored-by: Cursor <cursoragent@cursor.com>
…romotion

- Add src/http/admission/transition-sequence-matrix.ts: declared prerequisite
  matrix (Record<TransitionRouteId, …>) + construction-time coverage/integrity/
  acyclicity guard. Admission-layer ordering contract + drift guard, not a
  second policy engine (per-request ordering stays enforced by recordScope
  resolvers + kernel transition guards). (D4)
- Wire assertTransitionSequenceMatrixCoverage() into app.ts alongside the
  mutation-route manifest parity check.
- Promote to test/architecture/ (D-65, only after 05-13 custody landed):
  - gateway-invariant-replay: one greenlight = one mutation attempt
  - gateway-invariant-params-mismatch: params drift refused before mutation
  - gateway-invariant-signer-custody: x402 signer refuses without a
    VerifiedGatewayCheck (depends on 05-13 assertGatewayHeldSigningCommand;
    cannot pass on a pre-05-13 tree)
  - http-transition-sequence-matrix: coverage/integrity/acyclicity + canonical
    consequence-path prerequisites

Co-authored-by: Cursor <cursoragent@cursor.com>
- Construction-time drift guards (mirrors assertMutationRouteManifestParity)
  must throw plain Error, not coded HandshakeProtocolError
- Removes 4 unregistered transition reason codes that broke the
  reason-code-registry source-emitted-codes test
- Drops now-unused HandshakeProtocolError import

Co-authored-by: Cursor <cursoragent@cursor.com>
Table A row 2 mapped vague-intent-vs-envelope to the wrong line (39,
generated_execution_graph_missing). Retarget to unknown_operating_envelope
and deriveEnvelopeReasonCodes; row 3 stays the agent-origin graph site.

Co-authored-by: Cursor <cursoragent@cursor.com>
Reconcile status to 13/13 after keel citation fix, append close-out health
block (tsc 0, bun 846/3, tier gates 10/10 and 15/15), and note provisional
status pending 05-REVIEW.md.

Co-authored-by: Cursor <cursoragent@cursor.com>
Update STATE and ROADMAP for finished service-agent gating and product
coherence; remote ship deferred until gh and npm tooling are available.

Co-authored-by: Cursor <cursoragent@cursor.com>
Promote synthesis-pass doctrine into canonical decisions and align D-53
with the landed HTTP mutation-route manifest from plan 05-01.

Co-authored-by: Cursor <cursoragent@cursor.com>
Remove hand-maintained MCP overrides that mislabeled refusal and
transition_error codes as proof_gap. classifyFailureClassFromReasonCode
now resolves registered codes via failureClassFromReasonCodeMetadata
before unregistered prefix fallbacks. Add parity test asserting every
registry refusal kind maps to protected_action_refusal.

Co-authored-by: Cursor <cursoragent@cursor.com>
Mark HR-01 and MR-01 resolved at e60fc87, record three non-blocking
MRs as deferred in CONCERNS.md, and retire provisional review caveat
in 05-VERIFICATION.md close-out.

Co-authored-by: Cursor <cursoragent@cursor.com>
…-out

Refreshes STACK/INTEGRATIONS/ARCHITECTURE/STRUCTURE/CONVENTIONS/TESTING
against HEAD after the Phase 04+05 close-out (failure-class registry
derivation, mutation-route manifest, service-operator rename, x402
gateway-held custody). Gitignore runtime demo output for the
service-operator-bootstrap example.

Co-authored-by: Cursor <cursoragent@cursor.com>
…sh pending

Co-authored-by: Cursor <cursoragent@cursor.com>
Bump package surface to 0.2.8 after service-agent gating and product coherence phases. Updates launch-gate evidence strings, adapter activation fixtures, and CHANGELOG.

Co-authored-by: Cursor <cursoragent@cursor.com>
@CreasyBear CreasyBear merged commit 9b9b7cf into main May 29, 2026
0 of 2 checks passed
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