Skip to content

MEMBER-LAUNCH-002 — Polish member/free-event status and fence stale sessions #739

Closed

Description

@daliu

Officer impact: Members get a clearer membership/free-event screen, status that cannot outlive known deadlines, and safe account-change/retry behavior. No real payment or new membership rule is introduced.

Officer documentation: OFFICER_START_HERE.md; docs/officers/STAGING_COMMUNITY.md; docs/officers/SYSTEM_MAPS.md. All new behavior remains NOT AVAILABLE YET until its separate deployment proof.

Deployment evidence: None at creation. Source, CI, merge, staging Functions/Hosting, provider configuration and production behavior will be recorded separately.

Outcome

Prepare the existing membership and free-event flow for its next deployment with a polished responsive screen and fail-closed status/identity boundary. The #114 source contracts do not supply end-to-end checkout; the minimum-member launch remains incomplete; online dues/family enrollment/policy/provider work are separate outcomes.

Invariants and transitions

  • Native verified account, matching Firebase app/project/default tenant and observed session are required for member actions. Account/provider/session changes discard old responses, saved requests and consent.
  • A validated server status carries server observation time. Neither membership display nor signup controls outlive the earliest known eligibility/window deadline or a bounded freshness interval. Invalidation never grants access or polls the backend.
  • A changed/unknown/malformed response hides old state. Exact uncertain command retry remains possible only in its original observed session. Mutations always use the existing server membership/capacity/waiver checks.
  • Existing signup cancellation remains possible after membership lapse via a fresh status. No discretionary member approval is introduced.
  • Additive read-only response fields only; no persisted-schema migration, permissions, Rules, payment/provider calls or production fallback.

Acceptance

  • Tests demonstrate deadline and session failure cases before/with implementation.
  • Closed bounded status/acknowledgement parsing rejects corrupt, foreign, duplicate, mismatched and nonzero-price event state without raw error/record output.
  • Late network results, same-UID session changes and account/provider changes cannot restore stale controls or replay commands across sessions.
  • Membership expiry, event-window boundaries, freshness expiry, loading, empty, failure, retry and cancellation states are clear and accessible.
  • Responsive layout, keyboard/focus states and Pacific event dates verified on fictional fixtures without provider calls.
  • Relevant full checks and Opus 5.5 medium/max exact-head review pass before owner-delegated merge.
  • Officer documentation distinguishes source/merge/deployment/provider/production and gives no-terminal review/undo/escalation.

Dependencies and boundaries

Existing #737/PR #738 member gate, isolated staging service, frontend quality gates and native-session pattern from sealed #731 are merged. Reuse source patterns only: never rerun sealed harness or recreate deleted fixtures. No production, secret, member-data, role, email, real-money or provider mutation. All new UI tests use local service doubles; this is not hosted Auth/App Check qualification.

Activity

  1. self-assigned this
    on Oct 17, 2026
  2. daliu commented on Oct 17, 2026

    @daliu
    ContributorAuthor

    CLAIMED by /root at 2026-10-17T00:15:49Z; branch codex/member-screen-deployment-prep. Working from merged #738 at c12445c. Scope is the member/free-event screen, status freshness/native-session boundary, positive/negative tests and officer continuity. No production, real records, provider, mail, payment or sealed #731 test actions.

  3. daliu commented on Oct 17, 2026

    @daliu
    ContributorAuthor

    #739 source outcome merged through PR740 as799565e4e8992b3bbf45809f339c276b0b1eb39c. Qualified Opus5.5 medium approved exact7f8d804e6a755011d07c19f349c441b332eb3134; PR CI38986750487 all six jobs/every step success.21file hashes and identical reviewed/merged tree56d1409790f3f9e6c75e1a33930139f84ef8b8a9 verified. Existing administrator merge capability used under Dave's explicit conditional delegation; no rule change/fake review.

    Officer impact: responsive member/free-event screen, native-session fencing and bounded status display are merged source; hosted behavior still NOT AVAILABLE YET.
    Officer documentation: OFFICER_START_HERE.md, docs/officers/MEMBER_SCREEN.md, README/maps and root scope/security/release notes.
    Deployment evidence: none. Production41a9ae4 and staginge21be354 remain unchanged. Main CI still pending at this receipt; no website/Firebase/provider/policy/payment/real-data change. #739 stays open until final acceptance/release evidence is recorded.

  4. daliu commented on Oct 17, 2026

    @daliu
    ContributorAuthor

    Staging follow-up claim by /root: current branch codex/member-screen-staging-verification, base799565e. Native Functionv7/archive/resource readback and62 Hosting files match;10 genuine Auth/AppCheck/member/retry/expiry/cancel checks passed and fresh fixtures cleaned. Actual full-site screenshots exposed global nav fixed-header styling on the member navigation. Scope is the smallest semantic markup fix, regression test and current officer release evidence; no backend/IAM/payment/policy change. Preserve sealed #731 work.

  5. daliu commented on Oct 17, 2026

    @daliu
    ContributorAuthor

    Officer impact: The polished membership/free-event screen is published and verified on isolated staging, including working desktop/phone navigation. Online dues and production remain unavailable.

    Officer documentation: docs/officers/MEMBER_SCREEN.md, STAGING_COMMUNITY.md, SYSTEM_MAPS.md, README.md and OFFICER_START_HERE.md; use this final receipt for the matching Hosting correction. Backup-officer walkthrough needs no terminal or secrets; specialist still owns release, fictional fixtures, native security checks and cleanup.

    Deployment evidence (2026-10-16 Pacific): website https://run-mprc-staging.web.app/community source d08a6a3; all62 deployed asset hashes (20,011,186 bytes) and4 deep routes verified. Main CI38991529094 all6 jobs/every step green. PR740 and741 exact-head genuine Opus5.5 medium approvals and green checks preceded delegated merges; no fabricated review or protection change. Firebase communityActions v7 is source799565e4e8992b3bbf45809f339c276b0b1eb39c (unchanged backend, ancestor of final Hosting); downloaded101536-byte archive SHA256461754cbb4c59dbce1e5b9935d642467169abe0d0fda727369232bacb0688836; native resource/IAM/profile readback passed.

    Ten native member/Auth/AppCheck/retry/real-clock expiry/cancellation checks and4 fresh final-layout checks passed; genuine ordinary AppCheck, 390px phone with main menu and keyboard focus verified. All fresh fictional users/records removed, manifest restored and absence checked; original ignored build restored with62 exact hashes. Original driver retry timing/error handling was corrected before clean reruns; no sealed731 harness/fixtures were reused.

    Limits: verified fixture accounts do not prove verification-email delivery. No Stripe, live money, real member data, role grant, policy approval, officer MFA or production mutation. COMMERCE_ENABLED remains false. Owned redacted evidence: /Users/daveliu/.codex/artifacts/mprc-member-staging-dues-2026-10-16. Source/member-screen outcome complete; next test-only dues runtime is a separate child of historic114.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions