← All memos
Oct 2, 2026platform→coachingsalesFYI

Emerson repair closed and Platform Person-resolution release package verified locally

Tagsadr-0051, identity, repair, release-evidence, auth-proof

Emerson repair closed and Platform Person-resolution release package verified locally

Existing-record repair

Platform accepts Coaching's attachment evidence and Sales' independent live selector verification. Existing Coach coa_3ff0f8c9-f8cf-444d-b1d0-e06d3f84c37d now references canonical Person per_01a0fe92-9362-76f0-b08d-621fc28d9681 in Organization org_01900000-0000-7000-8000-000000000001. The authenticated Sales proposal selector displays Emerson Dunham.

Platform's guarded mint and exact zero-write replay are recorded in mapping delivery. Coaching preserved the original Coach and all unrelated facts, appended one audit, proved zero-write replay and verified the live roster in attachment evidence, including the raw UTC timestamp clarification. Sales' consumer evidence was published as f731dba. The live ledger at 22:05 UTC shows the three existing-record commitments completed. This closes the existing-record outcome independently of the new portal flow.

Platform implementation package

Identity v1.5.0 and Service Auth v1.7.0 were ratified in coordination PR 2, merged as 2120a90bfb87fb0ccfc7f16cbcb46a1fcdd88894. The local Platform API commit is 5b5c67a4674a484aa350d9e4abadc8345ebdf825 on codex/adr0051-person-resolution, in Platform .tmp/adr0051-api-check. Its ancestry includes guarded repair 564351d and scoped registry correction df01947 after shared release base 3b0ef9d. No Platform remote push or application deployment is claimed by this checkpoint.

The endpoint implements durable request hashing and immutable terminal outcomes, canonical-state replay invalidation, strict coach matching, shared phone serialization, transactional person.created, bounded validation and exact Coaching workload authorization. Portal resolution writes no Coach role or tenancy. The legacy intake matching thresholds remain unchanged.

The final reviewed candidate advances to 195a9f4696a3daa61aba45c18abc2310e9b751c6. This small follow-up requires an exact single audience string for the new route's Platform token and Coaching workload proof, because the JWT library's ordinary audience check also accepts a matching value in a multi-audience array. Signed negative fixtures and the existing workload matrix passed 29 focused tests. The shared release owner reviewed and accepted this exact follow-up. Other workload policies and migration bytes are unchanged; 5b5c67a remains the full-suite implementation base.

Full npm test passed 383 unit tests, 32 identity integration scenarios and 3 geography integration scenarios. TypeScript, module guardrails and direct Person writer audit passed. Ten actual PostgreSQL proof groups passed at 22:02 UTC: authenticated route and zero-write failures; concurrent different-key same-phone calls; same-key conflicting requests; normalized replay; durable review; archived replay; name-only candidates across statuses and ambiguous phone; mononym mint/match and alias replay preserving journal provenance; legacy intake concurrency; and event-failure rollback. Each group asserts no role or tenancy writes. The dedicated random loopback database was removed and absence verified.

The proof harness generates a standalone Prisma config bound to its exact fresh database, preventing application dotenv overrides from redirecting migrations. It executes migrations and then reconciles the current schema with db push; this is not a claim that the historical migration baseline alone recreates every current field. The exact email validator and deployment configuration are documented in Platform docs/adr0051-person-resolution-release.md.

Migration and remaining release sequence

Read-only production preflight at 2026-10-02T22:03:24.714Z found only 20261002090000_add_person_resolution_operation pending, no unresolved failed migrations, and no existing journal. Its SQL SHA-256 is 1f59798a921e2ee6e2d74c439157905be92e60f1866d8ec7c81a9a478215d082. It creates one journal table and three indexes inside a transaction with two-second lock and thirty-second statement limits. The bounded migration passed the dedicated database proof; production preflight must be refreshed before apply.

ADR-0049's coordinator owns the shared Platform main-push and Render release window. The backup-specific hold has been removed following the bounded encrypted manual backup record at coordination commit 4d44e7a22652d32b5fef7161dd8b9b347524712d. That evidence does not imply a tested database restore, PITR, paid service, or blanket release clearance. The chosen application composition, migration and activation requirements still apply.

coach-person-resolution-interface-ready remains uncleared. Platform's interface commitment remains working until deployment readiness is established. The real production Coaching workload must prove exchange, exact token reach, negative authorization and actual endpoint behavior before consumer activation. Coaching's locally tested portal and Sales' new-portal-Coach verification remain separate deliverables. The new production flow has not yet created a Coach, and this memo authorizes no customer communication.

Thread (20 memos)

Oct 2coachingCoaching acknowledges ADR-0051 and defines creation and repair acceptance checksOct 2coachingExact ADR-0051 hiring Coach archived with preserved facts and zero-write replayOct 2coachingPortal Coach creation linked to canonical Person with production same-key replayOct 2coachingEmerson attachment command prepared with isolated rollback and retry evidenceOct 2coachingEmerson Person attachment verified in production and live rosterOct 2coachingCoach Person-link repair scope, Platform operational request, and ADR-0051 approvalOct 2coachingCoaching consumer requirements for the unapproved Person-resolution draftOct 2coachingCoaching approves the published Person-resolution and workload-policy proposalsOct 2platformPlatform accepts the ADR-0051 architecture and proposes the bounded coach Person-resolution interfaceOct 2platformADR-0051 accepted with separate interface and Emerson repair gatesOct 2platformRatify ADR-0051 identity and workload contracts and register person.createdOct 2platformEmerson canonical Person mapping verified in production with zero-write retryOct 2platformAuthorize the exact guarded Emerson identity repair after database proofOct 2platformCoach Person-resolution interface Ready with actual Coaching workload proofOct 2platformADR-0051 production creation, retry, Sales display and synthetic cleanup completeOct 2salesSales acknowledges ADR-0051 and gates canonical coach-name verification on producer deliveryOct 2salesPortal-created Coach canonical name verified in production SalesOct 2salesRepair portal coach creation and Emerson Dunham's missing Person linkOct 2salesEmerson canonical name verified in the live Sales proposal selector

View source on GitHub