diff --git a/GITHUB_ISSUES.md b/GITHUB_ISSUES.md index 33ad37f..e6d850d 100644 --- a/GITHUB_ISSUES.md +++ b/GITHUB_ISSUES.md @@ -1,6 +1,6 @@ # GitHub Issue Backlog: Secure Commerce Program -**Test annual dues — October 17, 2026, core and bounded native recovery verified in staging:** the club sandbox and test screen remain at application source `71f59e2`. In addition to the [core hosted checks](./docs/TEST_DUES_HOSTED_EVIDENCE.md), fresh native caller/Auth, concurrency, lost-response, missed-callback, mismatch, refund/hold, old-year and failed-card/expiration checks passed within the [dated qualification limits](./docs/TEST_DUES_NATIVE_RECOVERY.md). Eight new fictional accounts were removed; payment evidence was retained and the test webhook restored. [Officer review](./docs/officers/TEST_DUES.md). Real payments, production membership, family invitations and final club policies remain unavailable. Earlier checkpoints below are historical. +**Saved test Checkout — October 18, 2026, native clarification verified:** Hosting `30d5f27` now explains when Resume cannot reopen the same open, inactive purchase. A fresh sandbox decline/expiry retained the original order and term; no replacement payment or membership was created. Both owned test accounts were retired, seven financial-record hashes stayed unchanged and two expiry receipts were retained. Dues Functions remain v1/source `71f59e2`. [Dated evidence](./docs/TEST_DUES_RECOVERY_MESSAGE.md) and [officer steps](./docs/officers/TEST_DUES.md). Real payments, production, family invitations and final club policies remain separate. Earlier checkpoints below are historical. **Member-screen staging checkpoint — #739, October 16, 2026:** Function v7 and Hosting source `799565e` are verified, including the downloaded archive, all 62 website files, genuine Auth/App Check and ten member/retry/expiry/cancellation checks with fresh fictional fixtures and verified cleanup. Full-site screenshots exposed a fixed-header style collision on the member navigation. The navigation correction is now published at `d08a6a3`; all 62 final assets, four deep routes, genuine sign-in, desktop/390px navigation/focus and fresh cleanup passed in [closed #739](https://github.com/Run-MPRC/Run-MPRC.github.io/issues/739). Function v7 remains unchanged. Online dues and real membership/payments remain unavailable. [Officer review](./docs/officers/MEMBER_SCREEN.md). diff --git a/IMPLEMENTATION_PLAN.md b/IMPLEMENTATION_PLAN.md index 9ef0ecb..a8616e0 100644 --- a/IMPLEMENTATION_PLAN.md +++ b/IMPLEMENTATION_PLAN.md @@ -1,6 +1,6 @@ # MPRC Secure Commerce Implementation Plan -**Test annual dues — October 17, 2026, core and bounded native recovery verified in staging:** the club sandbox and test screen remain at application source `71f59e2`. In addition to the [core hosted checks](./docs/TEST_DUES_HOSTED_EVIDENCE.md), fresh native caller/Auth, concurrency, lost-response, missed-callback, mismatch, refund/hold, old-year and failed-card/expiration checks passed within the [dated qualification limits](./docs/TEST_DUES_NATIVE_RECOVERY.md). Eight new fictional accounts were removed; payment evidence was retained and the test webhook restored. [Officer review](./docs/officers/TEST_DUES.md). Real payments, production membership, family invitations and final club policies remain unavailable. Earlier checkpoints below are historical. +**Saved test Checkout — October 18, 2026, native clarification verified:** Hosting `30d5f27` now explains when Resume cannot reopen the same open, inactive purchase. A fresh sandbox decline/expiry retained the original order and term; no replacement payment or membership was created. Both owned test accounts were retired, seven financial-record hashes stayed unchanged and two expiry receipts were retained. Dues Functions remain v1/source `71f59e2`. [Dated evidence](./docs/TEST_DUES_RECOVERY_MESSAGE.md) and [officer steps](./docs/officers/TEST_DUES.md). Real payments, production, family invitations and final club policies remain separate. Earlier checkpoints below are historical. **Member-screen staging checkpoint — #739, October 16, 2026:** Function v7 and Hosting source `799565e` are verified, including the downloaded archive, all 62 website files, genuine Auth/App Check and ten member/retry/expiry/cancellation checks with fresh fictional fixtures and verified cleanup. Full-site screenshots exposed a fixed-header style collision on the member navigation. The navigation correction is now published at `d08a6a3`; all 62 final assets, four deep routes, genuine sign-in, desktop/390px navigation/focus and fresh cleanup passed in [closed #739](https://github.com/Run-MPRC/Run-MPRC.github.io/issues/739). Function v7 remains unchanged. Online dues and real membership/payments remain unavailable. [Officer review](./docs/officers/MEMBER_SCREEN.md). diff --git a/OFFICER_START_HERE.md b/OFFICER_START_HERE.md index cf405ba..8072d52 100644 --- a/OFFICER_START_HERE.md +++ b/OFFICER_START_HERE.md @@ -1,6 +1,6 @@ # MPRC Website: Officer Start Here -**Test annual dues — October 17, 2026, core and bounded native recovery verified in staging:** the club sandbox and test screen remain at application source `71f59e2`. In addition to the [core hosted checks](./docs/TEST_DUES_HOSTED_EVIDENCE.md), fresh native caller/Auth, concurrency, lost-response, missed-callback, mismatch, refund/hold, old-year and failed-card/expiration checks passed within the [dated qualification limits](./docs/TEST_DUES_NATIVE_RECOVERY.md). Eight new fictional accounts were removed; payment evidence was retained and the test webhook restored. [Officer review](./docs/officers/TEST_DUES.md). Real payments, production membership, family invitations and final club policies remain unavailable. Earlier checkpoints below are historical. +**Saved test Checkout — October 18, 2026, native clarification verified:** Hosting `30d5f27` now explains when Resume cannot reopen the same open, inactive purchase. A fresh sandbox decline/expiry retained the original order and term; no replacement payment or membership was created. Both owned test accounts were retired, seven financial-record hashes stayed unchanged and two expiry receipts were retained. Dues Functions remain v1/source `71f59e2`. [Dated evidence](./docs/TEST_DUES_RECOVERY_MESSAGE.md) and [officer steps](./docs/officers/TEST_DUES.md). Real payments, production, family invitations and final club policies remain separate. Earlier checkpoints below are historical. **Member-screen staging checkpoint — #739, October 16, 2026:** Function v7 and Hosting source `799565e` are verified, including the downloaded archive, all 62 website files, genuine Auth/App Check and ten member/retry/expiry/cancellation checks with fresh fictional fixtures and verified cleanup. Full-site screenshots exposed a fixed-header style collision on the member navigation. The navigation correction is now published at `d08a6a3`; all 62 final assets, four deep routes, genuine sign-in, desktop/390px navigation/focus and fresh cleanup passed in [closed #739](https://github.com/Run-MPRC/Run-MPRC.github.io/issues/739). Function v7 remains unchanged. Online dues and real membership/payments remain unavailable. [Officer review](./docs/officers/MEMBER_SCREEN.md). diff --git a/OPERATIONS_RUNBOOK.md b/OPERATIONS_RUNBOOK.md index 427809e..746aa68 100644 --- a/OPERATIONS_RUNBOOK.md +++ b/OPERATIONS_RUNBOOK.md @@ -1,6 +1,6 @@ # MPRC Platform Operations Runbook -**Test annual dues — October 17, 2026, core and bounded native recovery verified in staging:** the club sandbox and test screen remain at application source `71f59e2`. In addition to the [core hosted checks](./docs/TEST_DUES_HOSTED_EVIDENCE.md), fresh native caller/Auth, concurrency, lost-response, missed-callback, mismatch, refund/hold, old-year and failed-card/expiration checks passed within the [dated qualification limits](./docs/TEST_DUES_NATIVE_RECOVERY.md). Eight new fictional accounts were removed; payment evidence was retained and the test webhook restored. [Officer review](./docs/officers/TEST_DUES.md). Real payments, production membership, family invitations and final club policies remain unavailable. Earlier checkpoints below are historical. +**Saved test Checkout — October 18, 2026, native clarification verified:** Hosting `30d5f27` now explains when Resume cannot reopen the same open, inactive purchase. A fresh sandbox decline/expiry retained the original order and term; no replacement payment or membership was created. Both owned test accounts were retired, seven financial-record hashes stayed unchanged and two expiry receipts were retained. Dues Functions remain v1/source `71f59e2`. [Dated evidence](./docs/TEST_DUES_RECOVERY_MESSAGE.md) and [officer steps](./docs/officers/TEST_DUES.md). Real payments, production, family invitations and final club policies remain separate. Earlier checkpoints below are historical. **Member-screen staging checkpoint — #739, October 16, 2026:** Function v7 and Hosting source `799565e` are verified, including the downloaded archive, all 62 website files, genuine Auth/App Check and ten member/retry/expiry/cancellation checks with fresh fictional fixtures and verified cleanup. Full-site screenshots exposed a fixed-header style collision on the member navigation. The navigation correction is now published at `d08a6a3`; all 62 final assets, four deep routes, genuine sign-in, desktop/390px navigation/focus and fresh cleanup passed in [closed #739](https://github.com/Run-MPRC/Run-MPRC.github.io/issues/739). Function v7 remains unchanged. Online dues and real membership/payments remain unavailable. [Officer review](./docs/officers/MEMBER_SCREEN.md). diff --git a/SECURITY.md b/SECURITY.md index bc73351..0526706 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -1,6 +1,6 @@ # MPRC Security, Privacy, and Risk Plan -**Test annual dues — October 17, 2026, core and bounded native recovery verified in staging:** the club sandbox and test screen remain at application source `71f59e2`. In addition to the [core hosted checks](./docs/TEST_DUES_HOSTED_EVIDENCE.md), fresh native caller/Auth, concurrency, lost-response, missed-callback, mismatch, refund/hold, old-year and failed-card/expiration checks passed within the [dated qualification limits](./docs/TEST_DUES_NATIVE_RECOVERY.md). Eight new fictional accounts were removed; payment evidence was retained and the test webhook restored. [Officer review](./docs/officers/TEST_DUES.md). Real payments, production membership, family invitations and final club policies remain unavailable. Earlier checkpoints below are historical. +**Saved test Checkout — October 18, 2026, native clarification verified:** Hosting `30d5f27` now explains when Resume cannot reopen the same open, inactive purchase. A fresh sandbox decline/expiry retained the original order and term; no replacement payment or membership was created. Both owned test accounts were retired, seven financial-record hashes stayed unchanged and two expiry receipts were retained. Dues Functions remain v1/source `71f59e2`. [Dated evidence](./docs/TEST_DUES_RECOVERY_MESSAGE.md) and [officer steps](./docs/officers/TEST_DUES.md). Real payments, production, family invitations and final club policies remain separate. Earlier checkpoints below are historical. **Member-screen staging checkpoint — #739, October 16, 2026:** Function v7 and Hosting source `799565e` are verified, including the downloaded archive, all 62 website files, genuine Auth/App Check and ten member/retry/expiry/cancellation checks with fresh fictional fixtures and verified cleanup. Full-site screenshots exposed a fixed-header style collision on the member navigation. The navigation correction is now published at `d08a6a3`; all 62 final assets, four deep routes, genuine sign-in, desktop/390px navigation/focus and fresh cleanup passed in [closed #739](https://github.com/Run-MPRC/Run-MPRC.github.io/issues/739). Function v7 remains unchanged. Online dues and real membership/payments remain unavailable. [Officer review](./docs/officers/MEMBER_SCREEN.md). diff --git a/STRIPE_COMMERCE_DESIGN.md b/STRIPE_COMMERCE_DESIGN.md index e153bce..e5b8c56 100644 --- a/STRIPE_COMMERCE_DESIGN.md +++ b/STRIPE_COMMERCE_DESIGN.md @@ -1,6 +1,6 @@ # Stripe, Race Registration, and Merchandise Design -**Test annual dues — October 17, 2026, core and bounded native recovery verified in staging:** the club sandbox and test screen remain at application source `71f59e2`. In addition to the [core hosted checks](./docs/TEST_DUES_HOSTED_EVIDENCE.md), fresh native caller/Auth, concurrency, lost-response, missed-callback, mismatch, refund/hold, old-year and failed-card/expiration checks passed within the [dated qualification limits](./docs/TEST_DUES_NATIVE_RECOVERY.md). Eight new fictional accounts were removed; payment evidence was retained and the test webhook restored. [Officer review](./docs/officers/TEST_DUES.md). Real payments, production membership, family invitations and final club policies remain unavailable. Earlier checkpoints below are historical. +**Saved test Checkout — October 18, 2026, native clarification verified:** Hosting `30d5f27` now explains when Resume cannot reopen the same open, inactive purchase. A fresh sandbox decline/expiry retained the original order and term; no replacement payment or membership was created. Both owned test accounts were retired, seven financial-record hashes stayed unchanged and two expiry receipts were retained. Dues Functions remain v1/source `71f59e2`. [Dated evidence](./docs/TEST_DUES_RECOVERY_MESSAGE.md) and [officer steps](./docs/officers/TEST_DUES.md). Real payments, production, family invitations and final club policies remain separate. Earlier checkpoints below are historical. **#731 fictional native acceptance — 2026-10-14:** actual signup, full fictional credit return, same-bib recipient transfer, revoke and original credit ownership passed in staging. Native committed/lost-response retry preserved one seat/receipt/audit, did not resurrect cancellation and could not bypass current authority. [Proof and supervised gate](./docs/officers/STAGING_COMMUNITY.md#fictional-race-member-screen--731-source-prepared). These integer-credit simulations are not provider-backed payment/refund evidence; no real policy, finance authorization, Stripe object or production launch changed. Complete acceptance/cleanup receipt and fresh fake fixtures remain prerequisites; earlier #731/#732 source-only notes below are historical. diff --git a/SYSTEM_DESIGN.md b/SYSTEM_DESIGN.md index 8c9fa2f..0933921 100644 --- a/SYSTEM_DESIGN.md +++ b/SYSTEM_DESIGN.md @@ -1,6 +1,6 @@ # MPRC Platform System Design -**Test annual dues — October 17, 2026, core and bounded native recovery verified in staging:** the club sandbox and test screen remain at application source `71f59e2`. In addition to the [core hosted checks](./docs/TEST_DUES_HOSTED_EVIDENCE.md), fresh native caller/Auth, concurrency, lost-response, missed-callback, mismatch, refund/hold, old-year and failed-card/expiration checks passed within the [dated qualification limits](./docs/TEST_DUES_NATIVE_RECOVERY.md). Eight new fictional accounts were removed; payment evidence was retained and the test webhook restored. [Officer review](./docs/officers/TEST_DUES.md). Real payments, production membership, family invitations and final club policies remain unavailable. Earlier checkpoints below are historical. +**Saved test Checkout — October 18, 2026, native clarification verified:** Hosting `30d5f27` now explains when Resume cannot reopen the same open, inactive purchase. A fresh sandbox decline/expiry retained the original order and term; no replacement payment or membership was created. Both owned test accounts were retired, seven financial-record hashes stayed unchanged and two expiry receipts were retained. Dues Functions remain v1/source `71f59e2`. [Dated evidence](./docs/TEST_DUES_RECOVERY_MESSAGE.md) and [officer steps](./docs/officers/TEST_DUES.md). Real payments, production, family invitations and final club policies remain separate. Earlier checkpoints below are historical. **Member-screen staging checkpoint — #739, October 16, 2026:** Function v7 and Hosting source `799565e` are verified, including the downloaded archive, all 62 website files, genuine Auth/App Check and ten member/retry/expiry/cancellation checks with fresh fictional fixtures and verified cleanup. Full-site screenshots exposed a fixed-header style collision on the member navigation. The navigation correction is now published at `d08a6a3`; all 62 final assets, four deep routes, genuine sign-in, desktop/390px navigation/focus and fresh cleanup passed in [closed #739](https://github.com/Run-MPRC/Run-MPRC.github.io/issues/739). Function v7 remains unchanged. Online dues and real membership/payments remain unavailable. [Officer review](./docs/officers/MEMBER_SCREEN.md). diff --git a/docs/TEST_DUES_ENGINEERING.md b/docs/TEST_DUES_ENGINEERING.md index 34811d0..dc2683f 100644 --- a/docs/TEST_DUES_ENGINEERING.md +++ b/docs/TEST_DUES_ENGINEERING.md @@ -22,4 +22,4 @@ Local tests use transactional doubles and the installed SDK's real signature ver ## Saved Checkout clarification — #747 -The screen reports a reconciliation stop when a validated Resume result has no Checkout URL and the subsequent fresh server status still identifies the same open, inactive purchase. A newer active/held status takes precedence. Identity/session changes and freshness expiry clear the message through the existing request fences. The message does not infer provider expiry or payment failure and does not prepare, unlock or replace a purchase. No schema, backend, Rules, provider or migration change is required. Hosted verification is **NOT AVAILABLE YET** until the separately recorded #747 release and fresh-fixture test. +The screen reports a reconciliation stop when a validated Resume result has no Checkout URL and the subsequent fresh server status still identifies the same open, inactive purchase. A newer active/held status takes precedence. Identity/session changes and freshness expiry clear the message through the existing request fences. The message does not infer provider expiry or payment failure and does not prepare, unlock or replace a purchase. No schema, backend, Rules, provider or migration change is required. The [October 18 native receipt](./TEST_DUES_RECOVERY_MESSAGE.md) verifies the hosted decline/expiry/Resume message, repeated Resume, refresh and sign-out with a fresh fictional fixture. Both owned accounts were retired with financial evidence retained. Hosting is `30d5f27`; both dues Functions remain v1 at `71f59e2`. diff --git a/docs/TEST_DUES_HOSTED_EVIDENCE.md b/docs/TEST_DUES_HOSTED_EVIDENCE.md index b49878a..6e47bd7 100644 --- a/docs/TEST_DUES_HOSTED_EVIDENCE.md +++ b/docs/TEST_DUES_HOSTED_EVIDENCE.md @@ -1,5 +1,7 @@ # Test dues hosted evidence — October 17, 2026 +**October 18 follow-up:** the [saved-Checkout clarification and native cleanup](./TEST_DUES_RECOVERY_MESSAGE.md) passed at Hosting `30d5f27`; dues Functions remain v1 at `71f59e2`. Earlier dated results below remain historical. Real payments and production remain separate. + The club sandbox is connected and the core hosted dues flow works in staging. This is not a real-member or real-payment launch. A separate [native failure and recovery follow-up](./TEST_DUES_NATIVE_RECOVERY.md) records the later bounded checks and qualification limits. Officer impact: verified fictional payers can use $25 individual or $30 family test Checkout and activate automatically, then sign up for free events with separate event consent. No officer membership approval follows these checks. diff --git a/docs/TEST_DUES_NATIVE_RECOVERY.md b/docs/TEST_DUES_NATIVE_RECOVERY.md index 95e7a8c..29d9715 100644 --- a/docs/TEST_DUES_NATIVE_RECOVERY.md +++ b/docs/TEST_DUES_NATIVE_RECOVERY.md @@ -1,5 +1,7 @@ # Test dues native failure and recovery evidence — October 17, 2026 +**October 18 follow-up:** the [saved-Checkout clarification and native cleanup](./TEST_DUES_RECOVERY_MESSAGE.md) passed at Hosting `30d5f27`; dues Functions remain v1 at `71f59e2`. Earlier dated results below remain historical. Real payments and production remain separate. + The bounded failure and recovery batch passed in the club sandbox and `run-mprc-staging`. Real payments and production remain unavailable. Read this with the preceding [core hosted evidence](./TEST_DUES_HOSTED_EVIDENCE.md); neither receipt is a real-member launch approval. Officer impact: interrupted or late test payments retain their original purchase and evidence. Verified payment can recover after a missed callback or restored account. A refund holds membership; expired or failed payments cannot silently create another charge or extend a term. @@ -54,6 +56,6 @@ For a future supervised run, Dave supplies new uniquely owned fixtures and a new This qualifies the tested card-only staging flow and the specifically labelled native failure boundaries. It does not qualify an issued foreign-tenant JWT, an actual asynchronous payment-method UI or full dispute lifecycle, restricted-key permissions, a real calendar rollover, real distributed outages or atomic Auth/Firestore revocation. The existing unit/emulator suites cover further withdrawal, suspension, revision-conflict and failed-write transitions; those are not claimed as new native tests here. -The failed-card expiry screen still describes the saved purchase as open and cannot reopen its expired Session. This is a safe lock, not a complete self-service recovery experience. The officer guide requires stopping and escalating it. Do not describe it as automatic failed-payment recovery. +At this October 17 checkpoint, the failed-card expiry screen described the saved purchase as open and could not reopen its expired Session. The [October 18 clarification](./TEST_DUES_RECOVERY_MESSAGE.md) now explicitly tells the member to stop and ask for reconciliation. The safe lock remains; this is not automatic failed-payment recovery. Family invitations/other-account enrollment, approved waiver/privacy/retention/guardian wording, live payment exception policies and production/live-money approval remain separate. The connected test flow is not the completed real-member launch. diff --git a/docs/TEST_DUES_RECOVERY_MESSAGE.md b/docs/TEST_DUES_RECOVERY_MESSAGE.md new file mode 100644 index 0000000..a8e21a1 --- /dev/null +++ b/docs/TEST_DUES_RECOVERY_MESSAGE.md @@ -0,0 +1,37 @@ +# Saved test Checkout recovery message — October 18, 2026 + +The hosted clarification in [#747](https://github.com/Run-MPRC/Run-MPRC.github.io/issues/747) passed a native failed-card test in `run-mprc-staging` and the club Stripe sandbox. Both the earlier held fixture and the new fixture were retired. Real payments and production remain separate. + +Officer impact: when Resume cannot reopen the same saved open purchase, the screen tells the test member to keep it and ask the test owner for reconciliation. The purchase stays locked; this is not automatic failed-payment recovery. + +Officer documentation: [Test annual dues](./officers/TEST_DUES.md) gives the stop and escalation steps. The root checkpoints and specialist dues guides link to this dated receipt. Fixture setup, provider readback and retirement remain specialist work. + +Deployment evidence: [PR748](https://github.com/Run-MPRC/Run-MPRC.github.io/pull/748) changed the client message and tests. Genuine Opus 5.5 medium approved exact head `bd64d73800db803e39d59341d1b11c924bbb8754`. It merged as `30d5f27d6eb2d47a7f85529e41f82a14001153e1`, with the same reviewed tree `21e5e75b51c999e921da98bd3494119f6e22fa78`. Exact PR CI `39096452255` and main CI `39096722430` each passed all six jobs and all 62 steps, with none skipped. The two focused rendered/service suites passed 23 tests. No schema, migration, backend, Rules, IAM, dependency or provider-setting change was needed. + +## Native test and result + +1. A new uniquely owned fictional account signed in through the ordinary screen in RUN (MPRC) Chrome. Native Auth and normal App Check loaded the server's test offers. Only the displayed synthetic notice was accepted. +2. One $25 USD individual purchase opened one real sandbox Checkout Session. Its original order, Session, provider idempotency identity, nonce, price and calendar-year expectation were retained. +3. Stripe's [documented insufficient-funds test card](https://docs.stripe.com/testing#declined-payments) produced the native hosted decline. Link saving was unchecked and the browser card-save prompt was declined. The PaymentIntent was `requires_payment_method` with zero received; no membership existed. +4. The specialist expired only that exact owned unpaid Session with a saved idempotency intent. Native readback showed it expired and unpaid. The PaymentIntent became `canceled`, still with zero received. The genuine expiry Event processed with zero pending deliveries. +5. The saved order remained open and inactive. Normal Resume stayed on the dues page and displayed: “Checkout could not be reopened. Keep this saved purchase and ask the test owner for reconciliation. Do not start another payment.” No new-purchase controls appeared. +6. Refresh replaced the transient note with “Current test status loaded” while retaining the same open purchase. Resume reproduced the stop message. Native inventory still contained exactly one Session and one order for this fixture. No new charge, automatic unlock, refund, renewal or membership activation occurred. +7. Ordinary account-screen sign-out cleared the note and controls. The owned test tab was closed. Other tabs were preserved. + +The earlier interrupted fixture was not reused. Its empty Session expired naturally without a PaymentIntent or membership, and its genuine expiry Event processed. It is cleanup evidence, not a failed-card test. + +## Matching staged surfaces and cleanup + +Native Hosting version `6619f96ac1a39406` is finalized at website source `30d5f27`; all 62 public files matched the retained build. The original publish command reported a generic failure after publication. Independent native/public checks qualified the release without a second deployment; the reporting cause remains unqualified. The preexisting local build was restored by all 62 hashes and was not rebuilt for this verification. + +Both dues Functions remain ACTIVE v1 at backend source `71f59e26753b87f398b243cce5e995a44fcc538b`. Each downloaded archive is 99,003 bytes, SHA256 `c31a22edab34872dd10c3d3a44e12fdccf933dcb5659fb4db9ca99229d6c908b`. Read-only release verification passed before and after the native test. Runtime, secret references, authority and other Functions were unchanged. The same sandbox endpoint remained enabled with its original eight events and API version; no provider setting was changed. + +Genuine Opus 5.5 medium approved the exact fixture/retirement helpers before their writes. Their seven focused guard tests passed. Each cleanup stopped its participant marker, disabled Auth and revoked refresh tokens before deletion. Identity, content-hash and nanosecond update-time fences restricted deletion to the exact owned disposable paths. Native final reads confirmed both Auth users and all eight allowed disposable paths absent; six existing disposable records were deleted. Seven retained order/account/audit hashes were unchanged. Both processed expiry-event receipts remained. No financial record was deleted. + +Dave retains the bounded private manifests, redacted browser/provider receipts, screenshot, approvals and cleanup fences. They are historical evidence, not reusable login access. The screenshot is dated October 18 and accompanies the written steps above. The browser automation session was reset after sign-out. No credential, Checkout URL, raw payment payload or real member information belongs in the repository. + +## Officer handoff and limits + +A backup officer follows [Test annual dues](./officers/TEST_DUES.md): keep the saved purchase, stop and ask Dave to reconcile it. The officer does not edit records, handle keys, issue refunds or start another payment. Fresh access and provider/cleanup work still require Dave and the specialist. + +Rendered tests cover late account/session results and newer active/held status taking precedence; this native follow-up covers the actual decline, expiry, displayed stop, refresh, repeated Resume and ordinary sign-out. It adds no claim about full dispute/async-method qualification, cross-service atomic revocation or self-service recovery. Family invitations, final privacy/waiver/retention/guardian policies, production and live-money approval remain separate. diff --git a/docs/TEST_DUES_RELEASE.md b/docs/TEST_DUES_RELEASE.md index c4a0f2f..da24c4e 100644 --- a/docs/TEST_DUES_RELEASE.md +++ b/docs/TEST_DUES_RELEASE.md @@ -1,5 +1,7 @@ # Connect and qualify hosted test dues — #742 +**October 18 follow-up:** the [saved-Checkout clarification and native cleanup](./TEST_DUES_RECOVERY_MESSAGE.md) passed at Hosting `30d5f27`; dues Functions remain v1 at `71f59e2`. Earlier dated results below remain historical. Real payments and production remain separate. + **October 17, 2026: connected and deployed in staging at `71f59e2`; core hosted flow and bounded failure/recovery checks verified.** Read the [native evidence, cleanup and remaining qualification](./TEST_DUES_HOSTED_EVIDENCE.md) before repeating any procedure. Read the [later native failure/recovery receipt and limits](./TEST_DUES_NATIVE_RECOVERY.md). This is a specialist runbook; completed fixtures must not be recreated. Real payments and production remain unavailable. ## Authority and scope diff --git a/docs/officers/GLOSSARY.md b/docs/officers/GLOSSARY.md index 0061811..8fcf2b0 100644 --- a/docs/officers/GLOSSARY.md +++ b/docs/officers/GLOSSARY.md @@ -33,6 +33,7 @@ | Netlify | The service currently answering requests for `runmprc.com`. | | GitHub Pages | A GitHub-hosted website branch. It currently still claims `runmprc.com`, so it is not an independently reachable second copy; source removal and provider verification remain open. | | Stripe | The outside payment service. MPRC live commerce is not approved yet. | +| Reconciliation | A specialist compares the saved purchase with Stripe's payment record and checks any difference before deciding the next step. Do not start another payment while this check is open. | | Secret | A password-like value, key, token, or recovery code that must not be put in source, issues, AI, email, or screenshots. | | Token | A password-like value that lets a person or service act. Treat it as a secret. | | Service account | A non-human account used by automation. Its key is a secret and must have limited access. | diff --git a/docs/officers/README.md b/docs/officers/README.md index 1ca806f..596e678 100644 --- a/docs/officers/README.md +++ b/docs/officers/README.md @@ -1,5 +1,7 @@ # Officer Website Handbook +**October 18:** [Test annual dues](./TEST_DUES.md) now has a verified stop message when a saved Checkout cannot reopen. Keep the purchase and ask Dave for reconciliation. Read the [native evidence and exact test-account cleanup](../TEST_DUES_RECOVERY_MESSAGE.md); real payments and production remain separate. + [Test annual dues](./TEST_DUES.md) has a connected staging screen and verified core hosted flow and [bounded native recovery checks](../TEST_DUES_NATIVE_RECOVERY.md) as of October 17. Fresh specialist-provided fictional accounts are required; the completed run's accounts were removed. Read the [dated evidence and remaining qualification](../TEST_DUES_HOSTED_EVIDENCE.md). Real payments and production remain separate. **October 16 member-screen preparation:** [Review membership and free events](./MEMBER_SCREEN.md). Native staging behavior, final navigation correction and cleanup passed at Hosting `d08a6a3`. No production or payment release. diff --git a/docs/officers/TEST_DUES.md b/docs/officers/TEST_DUES.md index 8a5704d..99f6cbe 100644 --- a/docs/officers/TEST_DUES.md +++ b/docs/officers/TEST_DUES.md @@ -1,5 +1,7 @@ # Review annual dues in test mode +**October 18, 2026: the saved-Checkout stop message is verified in staging.** A fresh fictional failed-card purchase stayed locked after expiry. Resume displayed the reconciliation message without another purchase. Both this account and the earlier held test account were removed; financial evidence was retained. Read the [dated message and cleanup receipt](../TEST_DUES_RECOVERY_MESSAGE.md). Real payments and production remain unavailable. + **October 17, 2026: core hosted flow and bounded recovery checks verified in staging.** The [test dues screen](https://run-mprc-staging.web.app/community/dues) is connected to the club sandbox. Actual individual and family test payments activated each payer automatically. One payer then booked and cancelled a free test event. Read the [dated evidence and remaining qualification](../TEST_DUES_HOSTED_EVIDENCE.md). The four core accounts/event and eight later failure-test accounts were removed; payment evidence was retained. The [failure/recovery receipt](../TEST_DUES_NATIVE_RECOVERY.md) records the restored webhook, actual refund hold, late-payment guards and qualification limits. Ask Dave for fresh supervised test access; do not reuse old fixtures. Production and real payments remain **NOT AVAILABLE YET**. **Purpose:** confirm that one fictional purchase activates the payer automatically and allows free-event signup, without a second officer membership approval. @@ -23,7 +25,7 @@ 11. Open Membership and free events and accept the separate event test waiver. 12. Sign up for the named free event and confirm your place. 13. Ask the specialist which failure checks are covered by the supplied native receipt. The dated receipts distinguish the core screens, later native failures and injected tests. They do not qualify every provider method or outage. -14. Refresh status or resume the saved checkout after an interrupted session. If the screen says “Checkout could not be reopened,” keep the saved purchase, stop and ask Dave for reconciliation. Do not start another payment. This clarification is **NOT AVAILABLE YET** until the #747 staging release is verified. +14. Refresh status or resume the saved checkout after an interrupted session. If the screen says “Checkout could not be reopened,” keep the saved purchase, stop and ask Dave for reconciliation. Do not start another payment. The [October 18 native check](../TEST_DUES_RECOVERY_MESSAGE.md) verified this message. 15. Sign out and ask the specialist to remove the exact disposable accounts and event. Keep test payment evidence for reconciliation. **Expected result:** one saved purchase belongs to the payer. A return URL proves nothing. Only verified test payment for the exact account, amount, currency, order and term can activate the canonical membership used by free events. Original term and consent evidence are retained. The current screen expires within 60 seconds or sooner at a known deadline; it never polls. A family purchase creates one private Family ID and the payer's membership. Invitations and other family-account enrollment are **NOT AVAILABLE YET**; an ID alone grants nothing.