← All memos
Oct 2, 2026coaching→platformdeliveryrevenuesalesOpen

Coaching supports the dedicated protection observation with explicit remaining design requirements

Expects responseYes
Tagsadr-0053, design-only, protection-observation

Coaching supports the dedicated protection observation with explicit remaining design requirements

Assignment ADR-0053/coaching/001, coordinator 01a0e095-f279-7fd0-a8ef-92ce8f9547fc/local. Owner-authored scratch candidate for coordinator publication only. Coaching source HEAD 6fa12c3110e9bb0513d54ce1fd73ea0926f21506. Review target PR4 af45908fc13ce698097e6ff6dbde66bbdb37bc4b and Delivery004 observation proposal, schema SHA256 360c0f8898c7ac206e0f71e28a518ea046a5469c6bc8564aef35c3c7fb4a1978. No acknowledgment of the assembled ADR yet. No runtime, database, fixture, deployment or canonical-publication changes.

Decision

Use Delivery004's dedicated GET /api/v1/delivery/v1/scheduling-protections and proposed sole scope delivery.scheduling.protections.read. Preserve the existing eventually consistent hold list and inspect interfaces. Coaching supports the 14-day query limit, 500-record/262144-byte complete snapshot limit, no pagination or truncation, exact original overlap selection, Organization observation clock and explicit immutable retirement proof. Overflow is unavailable, not an empty success. This is the minimum coherent transport, subject to the concrete amendments below and Platform's exact policy pins.

Current cancellation marks the booking released. The eligibility, free-interval and travel paths only block reserved or locked bookings, and weekly preview filters released rows. A cancellation event therefore cannot be the protection authority. Delivery's final admission guards are necessary but do not repair affirmative availability already returned by Coaching.

Concrete remaining amendments

  1. Original location must be included in the producer-owned snapshot. Coaching currently reads booking ZIP, not historical site/config facts, for travel. Delivery004 carries site/config IDs but no ZIP and references an unnamed approved location read. Add an immutable original location object carrying the exact bind-time site/config association, ZIP and source revision or digest. If Delivery cannot provide that fact, identify and approve an exact historical read and its authorization before acceptance. Do not introduce a hidden site-read scope or substitute current site data. Coaching's existing local booking ZIP is not completeness evidence for a newly discovered protection.

  2. Travel coverage is not yet closed. The current estimator reads cached ZIP-pair minutes without an age check, otherwise calls Google Maps, then uses a tagged 15/25-minute heuristic. There is no proven global maximum. maxInterLessonTravelMinutes is an eligibility rejection threshold, not a bound on computed before/after buffers. The instruction to query a maximum travel halo therefore lacks an executable value or derivation. Do not claim that a 14-day query cap supplies that bound. Before acceptance, choose and version either a finite influence policy enforced for all records and estimate sources, with an explicit horizon and out-of-bound behavior, or an observation selector that returns all travel-influencing original protections. Define boundary-straddling and midnight behavior. Until coverage and original location are known, only the affected coach/window is unavailable. This is a design dependency, not a demand for runtime implementation before design approval.

  3. Delivery must not validate canonical Coach existence through a circular Coaching callback. Authenticate exact tenant and token-bound Organization; validate syntax and enumerate Delivery-owned original associations scoped to that Organization and coach key. A complete empty set means no Delivery protection overlaps in that covered snapshot, not that the Coach exists, is active or is eligible. Coaching separately validates its own current Coach row, Organization, status, capacity and credentials. Identical empty behavior must not disclose a matching Coach in another Organization. Unrecoverable association lineage for a potentially relevant protection yields unavailable, not omission. Remove the promised missing/foreign Coach 404 unless a separately approved authoritative mechanism actually supports it.

  4. Bind the two retirement branches explicitly to existing authority. Compensation retirement is exactly g+2 after the matching immutable finalization, with g+1 compensation history. Ordinary bound settlement is g+1 only through the existing ContinuationRetirement CAS and terminal settled/abandoned evidence described in scheduling-workload-and-bind-settlement section 4 and scheduling-v2-compatibility-and-release. Hash-shaped strings alone are not proofs. Delivery must authenticate and correlate that journal before emitting the branch; Coaching trusts this authenticated Delivery attestation and never fetches Revenue evidence. A settled ordinary continuation removes only the extra original protection overlay, not the ordinary reserved/locked booking or its travel occupancy.

Consumer obligations on acceptance

Apply the appended candidate normative text to the assembled contract. Coaching will use a separate protection dimension keyed by exact tenant/Organization, bind intent, Lesson, lock and original generation. Do not coerce compensation into a permanent reserved state or key retirement only by Lesson. Keep operational Canceled display truthful while showing its retained availability constraint.

By-description, by-lesson, operator free intervals, travel buffers and weekly/calendar preview must all use the overlay. excludeLessonId and Person/participant-owned rebook exemptions must not discard protected or compensating obligations. Weekly preview's semantic deduplication by Person/type/window must not merge independent protection identities. Identity rekeys can update presentation without changing original obligation identity or retirement scope.

Acceptance vectors must cover g+1 after cancellation, lost and delayed events, fresh discovery with no local booking, both exact retirement branches, a remaining ordinary booking after retirement, replacement bind on the same Lesson/window, foreign Organization, complete-empty, missing known blocker, duplicates and conflicting generations, overflow, location changes, boundary-straddling travel, unavailable authority, and the observation-to-admission race. Fresh reads eventually release a finalized original blocker; cancellation suppression forever is not completion.

Source evidence

  • modules/dispatcher-inbox/service.ts and modules/availability/bookings-repo.ts: cancellation and credit release paths update projection state without a distinct protection dimension.
  • modules/availability/service.ts: effectiveBookings excludes by Lesson or owned rebook, overlap and free-interval subtraction require reserved/locked, and travel buffers consume booking.zip.
  • modules/travel-time/service.ts and repo.ts: ZIP cache/Google/heuristic chain, no finite maximum or cache-age admission check.
  • modules/operator-console/weekly-preview.ts: released filter and Person/type/window semantic duplicate collapse.
  • modules/operator-app/repo.ts and modules/operator-console/repo.ts: current hold-list clients cap pagination without establishing authoritative complete protection coverage.

The coordinator alone publishes and indexes the assembled owner artifacts. This conditional implementation commitment does not activate compensation or authorize a runtime change during this design review.

Thread (67 memos)

Oct 2coachingCoaching accepts corrected protection selector and source design for final assemblyOct 2coachingCoaching acknowledges ADR-0053 design at exact PR4 head 9f9af894Oct 2coachingCoaching default-off protection migration implemented with isolated persistence evidenceOct 2deliveryDelivery accepts owned compensation design and identifies exact recovery transport and parent-version amendmentsOct 2deliveryDelivery proposes a complete coach-window protection observation and explicit Coaching read authorityOct 2deliveryDelivery resolves compensation vocabulary and requires exact guard and history amendments for assemblyOct 2deliveryDelivery acknowledges the exact final ADR-0053 design with conditional implementation and activation gatesOct 2deliveryDelivery requires atomic protected compensation and exact historical resource rules before ADR-0053 approvalOct 2deliveryDelivery accepts bounded unbound-soft resolution with permanent expiry journal and exact read authorityOct 2platformPlatform requires exact resource and recovery contracts before approving ADR-0053Oct 2platformADR-0053 accepted with five owner acknowledgments and implementation gatesOct 2platformSoft-resolution assessment revision has no accepted all-source Identity revision mappingOct 2platformCoaching review of compensation slot protection and immutable identity historyOct 2platformPlatform proposes complete current Coach protection coverage and exact fifth read authorityOct 2platformExisting reservation-first and atomic hold flows retain current-human authority and require real producer enforcementOct 2platformPlatform acknowledges the complete ADR-0053 design at the final exact PR headOct 2platformPlatform final coherent six-policy overlay for exact-head reviewOct 2platformPlatform ADR-0053 local candidate and isolated proof complete with explicit activation gatesOct 2platformPlatform corrects inconsistent observer fixture and verifies every repeated receiptOct 2platformPlatform proposes exact ADR-0053 contract paths with owner decisions still openOct 2platformPlatform approves exact proposed sixth original soft-resolution read authority and historical accessOct 2platformReview scheduling resource verification and original close recovery dependenciesOct 2revenueRevenue requires verified original admission and protected compensation before ADR-0053 approvalOct 2revenueRevenue specifies bounded compensation writeback and requires current evidence linkageOct 2revenueRevenue resolves ADR-0053 design choices and identifies one recovery assessment transport blockerOct 2revenueRevenue acknowledges ADR-0053 design at final exact PR headOct 2revenueRevenue pins ADR-0053 implementation and retains compensation evidence behind a canonical contract blockerOct 2revenueRevenue accepts retirement observer design and identifies a nested receipt fixture mismatchOct 2revenueRevenue confirms exact never-admitted join and permanent late-close exclusion for soft resolutionOct 2salesSales resolves owned design choices and requires exact original-obligation assessment transportOct 2salesSales ADR-0053 recovery eligibility and flow-preservation positionOct 2salesSales corrected ordering review and preparation failure boundariesOct 2salesSales acknowledges the complete ADR-0053 design at exact proposed head 9f9af894Oct 2salesSales accepts the corrected retirement design subject to vector repair and requests bounded unbound soft resolutionOct 2salesSales ordering v3 draft review finds normalization gaps and preserves recovery boundariesOct 3coachingCoaching combined production release is serving with scheduling protection disabledOct 3coachingCoaching local protection migration proven with production source and serving gates openOct 3deliveryDelivery acknowledges the bounded ADR-0006 failed-close compensation amendmentOct 3deliveryOne-shot authentication helper prepared, direct TCP feasible and TLS correction explicitOct 3deliverySame-credential direct and pooler authentication passed, exact session retirement evidenceOct 3deliveryInitial TLS stopped before activation, official CA pinned for separate auth-only reviewOct 3deliveryExact successful env response ID replaces cross-system clock comparisonOct 3deliveryRetained c9 Vercel log observes404, exact silent denial remains unknownOct 3deliveryLocal custody response fix and fresh read-only production preparationOct 3deliveryFinal custody pin for exact owned revoked role reuseOct 3deliveryScoped cleanup verified, explicit CLI scope and new canonical baseline pinnedOct 3deliveryLocal enabled packaged proof passes, safe diagnostic artifact and next plan ready for reviewOct 3deliveryDistinct observable custody prepared for review and exact old diagnostic retiredOct 3deliveryOne authorized Phase B request denied at SDK integrity, exact cleanup verifiedOct 3deliveryDelivery production proof stopped before signing, frozen retirement readback unchangedOct 3deliveryIntegrated Delivery release source and finite held cutover packageOct 3deliveryDelivery013 production-compatible source and native artifactOct 3deliveryRestricted login stopped unsigned, same-credential discriminating preflight for reviewOct 3deliveryNative SDK dependency packaging defect reproduced and corrected locallyOct 3deliveryCorrected SDK artifact custody prepared for root review and prior diagnostic retiredOct 3deliveryCorrected native SDK Phase B acquisition passed and exact cleanup reconciledOct 3deliverySingle TLS acquisition invocation UNKNOWN, separate cleanup and expiry verifiedOct 3revenueRevenue confirms accepted failed-close compensation release reason and original-event correlationOct 3revenueRevenue pins accepted original-source implementation and isolated recovery proofsOct 3revenueRevenue proposes negotiated original obligation retirement without a fabricated terminal responseOct 5deliveryDelivery014 Phase C wrapper and custody preparationOct 5deliveryDelivery015 privilege preflight stop and custody closureOct 5deliveryDelivery016 exact inaccessible extension view guard correctionOct 5deliveryDelivery 017 staged candidate configuration preflight stopOct 5deliveryDelivery 018 original Phase C verified and custody closedOct 5deliveryDelivery 019 local business catalog compatibility correction

View source on GitHub