Skip to content

feat!: migrate the AAuth SDK and samples to v10 - #46

Merged
dasiths merged 23 commits into
mainfrom
v09-spec-migration
Sep 10, 2026
Merged

feat!: migrate the AAuth SDK and samples to v10#46
dasiths merged 23 commits into
mainfrom
v09-spec-migration

Conversation

@dasiths

@dasiths dasiths commented Sep 10, 2026

Copy link
Copy Markdown
Collaborator

Summary

This PR vendored immutable AAuth v09 and v10 specification snapshots and migrated the SDK, R3 implementation, Events implementation, samples, tests, and documentation to the v10 specification family.

The migration made an intentional breaking alpha cutover. It removed obsolete APIs and wire formats instead of retaining compatibility aliases or dual-format parsers.

Major Changes

  • Replaced legacy error responses with shared AAuth problem details and migrated error_description usage to detail
  • Implemented v10 signature carriers, explicit Ed25519 and ES256 keys, typed JWT verification, replay controls, and admitted metadata and JWKS transport
  • Hardened token issuance bounds, pending-request ownership, authenticated consent and CSRF handling, federation and delegation context, resource challenge verification, account binding, and issuer-qualified revocation
  • Added R3 operation vocabularies, proposal enforcement, conditional grants, retained content, and durable audit behavior
  • Added AAuth Events flows with transactional quota, outbox, tickets, receipts, pagination, persistence, and retry handling
  • Updated public APIs and dependency injection to require explicit credentials, trust, transport, and persistence responsibilities
  • Migrated the runnable samples, GuidedTour, SampleApp, browser scenarios, operational targets, documentation, and source-checked snippets
  • Replaced real waits in polling tests with controlled clocks and delay hooks without reducing test coverage

Breaking Changes

Consumers must update removed APIs, error properties, signature encodings, algorithm identifiers, and stricter dependency-injection configuration. Persisted pre-v10 demo keys are not accepted through a compatibility fallback; versioned v10 demo state isolates the new format.

Validation

  • Complete Release suite: 2,913 passed, zero failed or skipped in 48 seconds (1,469 core, 1,079 conformance, 290 R3, and 75 Events)
  • Release and make build: zero warnings and zero errors
  • Documentation, source-semantic, and link checks: 105 passed
  • Public API inventory: 201 changed source files, 810 additions or replacements, 162 removals or replacements, zero unmapped
  • Full stub Playwright gate with fresh services: 71 passed and one Keycloak-only skip, retries set to 0
  • Full local live-Keycloak Playwright gate: 72 passed, zero skipped, retries set to 0

The live-Keycloak gate was run locally and is not part of normal CI. The browser evidence does not establish external AAuth interoperability or production identity, transport, storage, or platform-attestation guarantees.

Review Guidance

  1. Review migration scope, compatibility policy, and limitations in the v10 research, implementation plan, and conformance ledger
  2. Review problem details, cryptography, signature carriers, verification, replay, and discovery and egress changes under src/AAuth
  3. Review issuance, pending ownership, consent, federation, delegation, account binding, and revocation paths
  4. Review R3 and Events models, endpoint enforcement, audit, transactionality, persistence, and retry behavior under src/AAuth.R3, src/AAuth.Events, and samples/EventSupport
  5. Review public API, dependency injection, solution, Makefile, workflow, and package integration
  6. Review adversarial tests first, followed by primary application workflows and documentation inventories

Related Issues

None

nedruk and others added 23 commits July 20, 2026 06:20
Add the immutable draft-09 snapshot and update version tracking while retaining draft-08 as the SDK implementation target.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 493c0b70-0afb-4242-97e5-e2ada6b8de8f
Record the verified evidence map, owner scope rulings, dependency-ordered implementation plan, and append-only decision log without starting SDK changes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 493c0b70-0afb-4242-97e5-e2ada6b8de8f
This commit introduces a new document outlining the minimum requirements for demonstrating end-to-end AAuth interoperability. The document details five verifiable surfaces, each building on the previous one, and provides guidance on what to verify at each stage. It serves as an informational resource and does not define normative requirements.
WIP checkpoint for the draft-10 migration.

Co-authored-by: ana <asmirnova@microsoft.com>

🔧 - Generated by Copilot
WIP checkpoint.

Co-authored-by: ana <asmirnova@microsoft.com>

🔧 - Generated by Copilot
WIP checkpoint.

Co-authored-by: ana <asmirnova@microsoft.com>

🔧 - Generated by Copilot
WIP checkpoint.

Co-authored-by: ana <asmirnova@microsoft.com>

🔧 - Generated by Copilot
WIP checkpoint.

Co-authored-by: ana <asmirnova@microsoft.com>

🔧 - Generated by Copilot
WIP checkpoint.

Co-authored-by: ana <asmirnova@microsoft.com>

🔧 - Generated by Copilot
WIP checkpoint.

Co-authored-by: ana <asmirnova@microsoft.com>

🔧 - Generated by Copilot
WIP checkpoint.

Co-authored-by: ana <asmirnova@microsoft.com>

🔧 - Generated by Copilot
WIP checkpoint.

Co-authored-by: ana <asmirnova@microsoft.com>

🔧 - Generated by Copilot
WIP checkpoint.

Co-authored-by: ana <asmirnova@microsoft.com>

🔧 - Generated by Copilot
WIP checkpoint.

Co-authored-by: ana <asmirnova@microsoft.com>

🔧 - Generated by Copilot
WIP checkpoint.

Co-authored-by: ana <asmirnova@microsoft.com>

🔧 - Generated by Copilot
WIP checkpoint.

Co-authored-by: ana <asmirnova@microsoft.com>

🔧 - Generated by Copilot
WIP checkpoint.

Co-authored-by: ana <asmirnova@microsoft.com>

🔧 - Generated by Copilot
Keep credential validation context-aware and retain strict JSON guards. Add signed claims regressions, correct replay and endpoint guidance, and record Release and browser gates with independent review open.

🔒 - Generated by Copilot
- Correct admitted discovery and signing configuration examples
- Add construction and semantic documentation regressions
- Record independent acceptance and final verification evidence

🔒 - Generated by Copilot
- align all GuidedTour flows and sequence semantics
- clarify staged consent and clear stale actions
- add offline syntax and contrast styling
- harden browser coverage and demo startup

🔧 - Generated by Copilot
- preserve polling, clarification, and termination assertions
- assert exact backoff intervals through controlled delay hooks

⚡ - Generated by Copilot
@dasiths
dasiths requested a review from nedruk September 10, 2026 08:10
@dasiths
dasiths merged commit 94576a3 into main Sep 10, 2026
2 checks passed
@dasiths
dasiths deleted the v09-spec-migration branch September 10, 2026 08:22
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