Skip to content

COMMUNITY-003 — Staging-only officer approval and free-event management #711

Closed

Description

@daliu

Officer impact: supervised disposable staging officers can approve synthetic membership requests/manage made-up free events and recover an expired session by signing out and using a fresh authenticator sign-in. The final hosted recovery and no-terminal handoff passed October12. Ordinary officer provisioning, lost-authenticator recovery, real dues, paid activation and production administration are NOT AVAILABLE YET.

Officer documentation: docs/officers/STAGING_COMMUNITY.md, SYSTEM_MAPS.md, README.md, OFFICER_START_HERE.md and root architecture/operations/security/plan/backlog records. Documentation-only PR715 head ef7323d merged 4ef8d7b; both old checklist bookmarks preserved, tested sign-out/authenticator steps and matching diagram/text alternative added. Test enrollment/capability/term supply, provider proof, cleanup and rollback remain specialist-only; officers need no terminal.

Deployment evidence: existing native communityActions ACTIVE/version2 and staging Hosting source57261aed111976718ba8c04515e38394e4e0d2c8 reverified October12. Native archive85,371bytes/SHA256d71690088e6ca8f5ac29cf9a0179ec17fe2d39b2e126a7776b657ffe5b699ab2, Node22/min0/max2/256MB/30s, optional MFA ENABLED and Auth/Firestore App Check ENFORCED retained. Earlier core proofs remain in receipt6117987215. Genuine623s expiry denied unchanged Auth403, cleared actual privileged UI, sign-out/fresh TOTP restored sections; newly obtained native browser attestation/fresh Auth200 and old Auth/new attestation403, unchanged capability, then revocation403. Exact owned cleanup verified twice, local access OFF/receiver/tabs/kernels closed. Recovery receipt #711 (comment) records redacted diagnostics/corrections. Historical release-command failure remains unexplained; independent native checks passed, not a retroactively successful command. Docs-only PR715/run38285379878 and exact merge/main run38285863215 each passed all six named jobs and every returned step with zero skips; source diff self-reviewed under Dave’s explicit override authorization. No runtime or staging Hosting redeployment, production data/payment action or paid upgrade.

Dependencies: #707 hosted isolated community service and #701 profiles/Auth/App Check complete. #114/#115 and AUTH-003/ADMIN-001 production policy remain open; this bounded synthetic child does not finish them.

Invariant: staging project only; commerce disabled; native attestation, verified recent TOTP MFA and live server-owned expiring action capabilities; no broad admin claim shortcut, role grant, real payment evidence, email, export or production fallback. Synthetic approval only consumes an owner-supplied explicitly nonfinancial test term. No real dues or renewal policy chosen. Additive schema only; no legacy migration.

Commands: exact typed bounds, revision fences, immutable repeat-safe audit, capacity edits cannot undercut confirmed places, cancellation closes entry but does not rewrite existing registrations, no deletes. Bounded/paginated minimum request projection and <=20 configured events; no polling/dependency/scheduled service. Reuse one on-demand Function. The owner-authorized community runtime gained exactly Firestore list and read-only selected-target Auth lookup; its six permissions remain staging-project scoped, not collection-scoped. No Auth mutation, deletes, claims, secrets, user-managed key, payment or mail permission.

Acceptance: capability matrix, missing/invalid App Check, unverified/stale/non-MFA Auth, immediate capability expiry/revocation including replay, malformed/forged/stale commands, immutable retries, withdrawal/approval races, close/capacity vs concurrent signup, mobile/offline UI; original member/profile/payment paths unchanged. Native provider readback and exact owned fixture cleanup. No-terminal officer guide names stop/undo/escalation and specialist-only test account provisioning. Remaining bounded acceptance completed: genuine natural expiry and fresh native TOTP/new browser attestation recovery, actual protected-view clearing/restoration, final no-terminal handoff and exact owned cleanup; documentation merged and exact PR/main CI read back. This completes only #711, not #114/#115, lost-authenticator recovery or production authorization.

Scope: current user staging-only authorization; no production or real payments. Dave selected externally confirmed real dues for later separately approved work; current approval is explicitly synthetic and nonfinancial. All owned test accounts/documents have been removed; temporary local-network access and receiver are closed. A new supervised review requires fresh specialist-supplied disposable fixtures, not the club Gmail password.

Activity

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

    @daliu
    ContributorAuthor

    CLAIMED by Codex at 2026-10-12T01:24:54Z; branch codex/staging-community-officers. One bounded synthetic officer-console outcome; no production/real payments. Original claim timestamp corrected to GitHub creation time. Existing Identity Platform staging subtype read back; optional TOTP only preserves non-officer email/password access, with no SMS or billing upgrade. Owner chose externally confirmed dues later; this release remains nonfinancial synthetic approval only.

  3. daliu commented on Oct 12, 2026

    @daliu
    ContributorAuthor

    Owner readback: externally confirmed real dues are the selected later direction, not this release. Current approval remains explicitly synthetic. Scope now includes exactly read-only firebaseauth.users.get, alongside datastore.entities.list, in the existing scoped staging runtime; this verifies the selected pending target without profiles/emails or user mutation. Optional TOTP on the already-upgraded staging project preserves ordinary member sign-in and adds no SMS/billing upgrade. Local full backend7685/frontend1365 checks pass; emulator/Rules/native staged release proof still required.

  4. daliu commented on Oct 12, 2026

    @daliu
    ContributorAuthor

    Source and release checkpoint: PR712 merged91f51fb (exact main38193670409 green); PR713 typed-event correction merged57261aed111976718ba8c04515e38394e4e0d2c8, exact PR38193915451/main38194201809 all six jobs/all steps green. Existing custom staging runtime role now has exactly the original four Firestore permissions plus datastore.entities.list and firebaseauth.users.get; no new role binding/key/Auth mutation/deletes/secrets. Fixed guarded owner deployment starting from clean57261ae. Three new reserved-invalid-domain Auth fixtures created only after exact collision checks; no claims or real records. Native official browser SDK obtained first-factor/attestation, but token handoff remains paused by Chrome local-network permission pending action-time owner approval. No bypass or enforcement disable. Backend/Hosting/native officer behavior/cleanup not claimed yet.

  5. daliu commented on Oct 12, 2026

    @daliu
    ContributorAuthor

    Staging core acceptance verified after explicit temporary local-network approval; full acceptance remains OPEN.

    Officer impact: Synthetic approval and free-event administration work in hosted staging with genuine recent TOTP and expiring live capabilities. This does not activate real dues, roles, payments or production.
    Officer documentation: docs/officers/STAGING_COMMUNITY.md, SYSTEM_MAPS.md and root/entrypoint documentation were updated in PR712/713; procedures remain conservatively NOT AVAILABLE YET pending full acceptance. Private dated receipt and Obsidian handoff updated.
    Deployment evidence: reviewed/merged PR712 and713, final main 57261ae. Exact PR/main38193915451/38194201809 all six jobs/all steps green (earlier712 PR/main also green). communityActions ACTIVEv2, source57261ae, native85,371-byte archive SHA256d71690088e6ca8f5ac29cf9a0179ec17fe2d39b2e126a7776b657ffe5b699ab2 matches clean reviewed bundle. min0/max2/256MB/30s/Node22/explicit identities verified, provider operation done/no error. Release command reported a late verification failure whose specific cause remains unproven; independent spec/archive/IAM and Hosting source gate succeeded. No repeated Function deployment. Hosting marker57261ae and actual native officer page verified. Profile Functions2/1/source2843388 and separate runtime unchanged. Community role exactly six permissions, sole runtime binding, zero keys/Owner-Editor. Existing Identity Platform optional TOTP only; sign-in/domains unchanged, App Check enforced as previously read back and missing-attestation request401.

    Hosted proof using exactly three disposable reserved-invalid-domain users: no-MFA officer403; actual authenticator form/sign-in and signed native TOTP accepted. Account mismatch403 and missing App Check401. Actual UI synthetic approval, free-event create closed/zero-price, unbooked edit, open/close/cancel; native readback for every transition. Saved approval receipt replay succeeds; member cancellation preserves original one-hour synthetic term. Two distinct accounts race for one seat200/429, exactly one booked. Close retains existing booking and denies new join. Capacity increase/reopen permits second runner; below-booked capacity/stale revisions denied400. Cancel preserves registrations, reopen denied400, both self-cancellations/retries release once, final count0. Approval/withdrawal same-revision race400/200, exactly one transition. Live capability revocation denies status and old receipt replay403; actual page removes pending/event projections. Automated positive/negative/emulator/rules evidence remains in preceding review records.

    Cleanup verified: all30 exact task-owned documents removed with fresh updateTime preconditions, three Auth accounts removed, exact document404/Auth absence verified and profiles rechecked later. Original event manifest absent before/after; no unrelated config overwritten. Browser SDK/actual UI signed out, diagnostic object/console cleared, DevTools closed; original user login tab preserved. Chrome Apps on device OFF verified, bounded loopback receiver closed, private Node kernel reset. Exact task-owned idle emulator log removed after process/open-file checks; shared clean57261ae checkout retained. One generated disposable password appeared in a transient console capture; no real credential involved, all accounts deleted to invalidate it, no secrets in durable evidence.

    Remaining: mobile/offline officer UI, remaining hosted capability/expiry matrix and backup-officer procedure review/handoff. Do not close711 or114/115/AUTH-003/ADMIN-001. Real externally confirmed dues is selected for later, with real term/plan/confirmation policy unresolved. Production data, real payments, refunds, email recipients, roles/claims, billing upgrades, dependencies and schedules untouched.

  6. daliu commented on Oct 12, 2026

    @daliu
    ContributorAuthor

    Further staging acceptance completed; issue remains OPEN for final recovery/handoff.

    Officer impact: Existing staged officer controls now have genuine phone/offline, permission matrix, target-verification and real-clock expiry evidence. No real dues, role, member or payment operation added.
    Officer documentation: Dated private acceptance and Obsidian handoff will record this receipt; current source guides remain conservative until final acceptance/handoff. No source or deployment change this turn.
    Deployment evidence: Current native communityActions ACTIVEv2/source57261aed111976718ba8c04515e38394e4e0d2c8 verified. Read-only replay of every current release postcheck passed: original update operation done/no error and accepted by waiter; exact spec, invocation-policy shape, native source archive digest, three-function inventory and original profile versions2/1/source2843388. The historical release-command error cannot be reproduced or causally classified from its fixed output; no redeploy or IAM mutation performed. Native Auth and Firestore App Check both ENFORCED.

    New hosted evidence: real signed TOTP with unverified email denied403; invalid Auth/App Check401, forged client-admin field400. Membership-only capability denies free-event create403; event-only hides pending and denies approval403; neither capability exposes any projection; expired capability and extra-field malformed capability deny403. Target unverified/disabled Auth state independently prevents approval400; exact disposable account state restored before UI review. Phone390x844 has page width390, all controls within viewport and min touch height45.195px. Actual React approval handler under native Chrome Offline creates no approval/receipt, clears privileged projections and exposes Retry saved action; restoring No throttling and using that same handler approves exactly once, one immutable receipt and successful exact replay. Real phone form created closed/zero-price event. Closure-versus-signup race200/400 coherently closed at count0; capacity2-to1 versus two distinct-account signups200/429/200 ended capacity1/booked1, no oversell. A genuinely signed original TOTP session naturally aged613 seconds while live capability and attestation were still valid: status and old receipt replay both403 PERMISSION_DENIED, UI cleared protected data. No clock/token forgery or guard weakened.

    Fresh-after-expiry UI reauthentication was interrupted by the user selecting their login tab; no input continued there. Later API retry was rejected401 because the captured one-hour App Check test token had expired; this is expected native enforcement, not proof of fresh recovery. Fresh officer reauthentication with newly obtained native attestation remains unverified. The club Google/Gmail login is not an account in the disposable email/password staging application; do not enter Gmail credentials for a test.

    Cleanup: two exact reserved-invalid-domain accounts and20 owned documents deleted with fresh updateTime fences; exact404/Auth absence verified, profiles rechecked later. Receiver closed, private Node kernel reset, actual UI signed out, owned tab reloaded to destroy diagnostic page memory, DevTools/device override closed, network No throttling. Chrome Apps on device OFF verified. Original user login form not edited. No production, real payments, billing upgrade, dependency/workflow/schedule, new checkout or additional deployment. Shared57261ae worktree retained clean. Remaining acceptance: fresh recovery with valid new native attestation and final no-terminal officer handoff/source status update. #114/#115, real dues policy and production remain separate.

  7. daliu commented on Oct 12, 2026

    @daliu
    ContributorAuthor

    Documentation reconciliation complete; fresh recovery/final handoff remains OPEN.

    Officer impact: The staging checklist now states which hosted checks passed and stops supervised review at expiry rather than presenting recovery as verified. It distinguishes a disposable site account from club Gmail/Cloud login. Ordinary officer access, real dues and production remain NOT AVAILABLE YET.
    Officer documentation: PR714 updates nine matching root/officer records, compatible old checklist anchor, four current links and diagram/text alternative. Six project-scoped permissions/read-only Auth are described accurately; specialist enrollment, permission setup and cleanup remain explicit.
    Deployment evidence: No additional provider/Hosting, production or payment action. Actual deployed proof remains community Function v2/Hosting57261ae in the prior dated receipts, not documentation mergef08609e. The historical release-command failure remains disclosed and unqualified.

    PR714 head d70bbde/run38206439275 and merge f08609e/main38206833789 each passed all six required jobs and all returned steps, no skips. Node20 documentation assertions, root authority/release30 tests (includes imported shared cases) and whitespace checks passed. Human-authorized self-review/admin override recorded, not an independent reviewer approval. Issue body updated/read back OPEN; primary dirty checkout and user tabs preserved. No new environment/dependency/workflow/schedule/full local suite/browser permission or receiver. Shared managed checkout clean atf08609e.

    Remaining: fresh-after-expiry officer sign-in with newly obtained genuine native attestation, then final no-terminal handoff. Do not close #711/#114/#115 or enable production/payments from this documentation milestone.

  8. daliu commented on Oct 12, 2026

    @daliu
    ContributorAuthor

    Recovery preparation reached a safe stopping point; final officer recovery remains OPEN.

    Officer impact: Isolated in-app-browser native email/password sign-in worked for a fresh disposable verified account. Without an enrolled authenticator or officer permission, the actual page showed no protected officer projections. Native target Auth lastLoginAt advanced159,904ms after creation, confirming the real sign-in rather than only a UI change. This is not successful MFA recovery.
    Officer documentation: Private dated acceptance/screenshots and Obsidian handoff updated; merged guides remain correctly recovery/handoff OPEN. No source change.
    Deployment evidence: Current owner identity runmprc@gmail.com, communityActions ACTIVEv2/source57261ae, optional MFA ENABLED, Auth and Firestore App Check ENFORCED read back. No deployment, IAM/MFA-policy/App Check change, production or payment action.

    Native Chrome preparation was stopped when the user changed to their own window; a fresh observation confirmed it, and no further input went there. The task-created Chrome tab was then closed through its exact scoped browser handle, without reactivating the user window. No diagnostic code, token capture or authenticator enrollment ran. A brief uninterrupted Chrome setup window was requested; the isolated browser can handle the later expiry/recovery checks without controlling the user browser.

    Cleanup: one exact owned Auth account and one profile removed with fresh ownership/updateTime checks; exact Auth absence/profile404/capability404 verified and profile/Auth absence rechecked later. No capability/config/event/command records were created. Own in-app session signed out, both task tabs closed. Receiver closed/addressnull and captured0 tokens; no local-network grant performed this turn. Private Node state reset. Clean shared docs-onlyf08609e checkout retained, primary dirty checkout/user tabs preserved. Existing #711 proof and remaining fresh-after-expiry recovery/no-terminal handoff are not broadened or closed.

  9. daliu commented on Oct 12, 2026

    @daliu
    ContributorAuthor

    Backend verification goal marked BLOCKED after the same Chrome recovery-setup coordination condition persisted across three consecutive audits. This is not completion or production approval. #711 stays OPEN.

    Officer impact: Core staging controls retain the dated hosted proof. Fresh officer sign-in after expiry and final no-terminal handoff remain unverified. A short uninterrupted native Chrome setup window is needed to enroll a fresh disposable authenticator fixture; later UI checks can use the isolated browser. The readiness question is already pending; no repeated requests or fixture churn.
    Officer documentation: Private acceptance and Obsidian handoff record the blocking audit/status. Merged staging guide remains correctly recovery/handoff OPEN. No source change.
    Deployment evidence: Current checkout and remote main f08609e, main CI38206833789 completed/success. Runtime/Hosting proof remains the prior57261ae release, not this read-only audit. Current issue receipt6118326920 and source existing-factor-only sign-in rechecked. No listener found at the owned127.0.0.1:56478 port; no live deployment job to poll. Prior exact fixture cleanup is dated provider proof, not a fresh project-wide inventory.

    No account, browser, receiver, deployment, IAM/MFA/App Check, production or real-payment operation restarted. Resume only after owner readiness; recreate only exact absent disposable targets, native attestation/TOTP, then recovery and final handoff, followed by exact cleanup. Do not mark the broad backend goal complete from source/tests or the earlier normal sign-in check.

  10. daliu commented on Oct 12, 2026

    @daliu
    ContributorAuthor

    MFA recovery is not complete: Chrome stopped the official-SDK diagnostic at its Console paste security warning. The warning was not bypassed. No diagnostic ran, tokens were captured, factor enrolled or officer capability created.

    Fresh native checks: provider owner runmprc@gmail.com, staging communityActions ACTIVE/version2, MFA ENABLED, Auth/Firestore App Check ENFORCED. One disposable Auth fixture/profile removed with ownership fences; exact Auth absence and profile/capability404 verified twice. Receiver127.0.0.1:56478 closed, credentials cleared, no local-network permission granted. Separate signed-out staging Chrome window left at the warning for human review; original tabs unchanged.

    Officer impact: final recovery review remains unavailable until the human completes Chrome's security-warning handoff.
    Officer documentation: None — existing STAGING_COMMUNITY.md correctly marks recovery/final acceptance unverified; no product or procedure change.
    Deployment evidence: no website or Firebase deployment this turn; native staging Function/MFA/App Check status refreshed. Production and real payments untouched. #711 stays OPEN; prior full-goal blocked status is not completion.

    Next: human reviews and handles Chrome's Console paste warning. Then repeat only the disposable native MFA expiry/recovery and exact cleanup, followed by the no-terminal officer handoff. Do not disable enforcement, extract hidden app state, add an enrollment product or repeat already-passed lifecycle suites.

  11. daliu commented on Oct 12, 2026

    @daliu
    ContributorAuthor

    Expired-session MFA recovery passed on October 12, 2026, in staging only. The same disposable account and unchanged expiring capability were used throughout.

    • Genuine native password/TOTP sign-in initially accepted officer status200; the actual officer page displayed both permitted sections.
    • The unchanged session naturally aged623 seconds and returned403 PERMISSION_DENIED while its identity token and capability were still valid. Refresh on the actual page hid both privileged sections and displayed the sign-out/authenticator instruction.
    • Sign-out and fresh password/TOTP challenge restored the actual page. Independently obtained native Auth advanced auth_time1791825524→1791826277; genuine browser App Check was newly issued1791826136 after expiry (previous1791825392). That fresh native pair returned200; old Auth with the new attestation still returned403. Capability updateTime was unchanged throughout recovery.
    • Owner revocation then denied the fresh pair403. One owned Auth account and exactly two owned documents were removed with UID/email/create-time/update-time fences; Auth absence/profile404/capability404 verified twice. No term, application, event, command, financial, role or mail fixture was created in this batch.
    • Receiver127.0.0.1:56478 closed/addressnull; two token handoffs kept only in private memory. Chrome Apps on device OFF read back; diagnostic reload, UI sign-out, exact test-tab closure and both private kernels reset. Original user tabs preserved/restored. No token, password or factor secret retained.

    Fresh native source archive85,371bytes matched SHA256d71690088e6ca8f5ac29cf9a0179ec17fe2d39b2e126a7776b657ffe5b699ab2. communityActions remains ACTIVE/v2 and Function/Hosting source57261ae; Node22/min0/max2/256MB/30s unchanged. Native Auth/Firestore App Check remain ENFORCED, optional TOTP ENABLED. No redeployment, production or real-payment action.

    Test corrections: sourceArchiveUrl was absent in v1 readback; generateDownloadUrl verified the archive. One independent recovery attempt returned400, cause unqualified; a new current TOTP/new-attestation attempt passed both native steps200. A private harness undeclared binding then discarded that response; explicit predeclared bindings corrected it, and final native pair/status/old-session checks passed. No protection was disabled and no product fix was inferred from those diagnostics. The historical release-command failure remains separately disclosed, not retroactively qualified.

    Officer impact: supervised staging officers can recover an expired session by signing out and using a fresh authenticator sign-in. This is not lost-authenticator recovery, ordinary officer provisioning, real dues or production access.
    Officer documentation: STAGING_COMMUNITY.md plus root/security/operations/entrypoint/map status updates; both old checklist bookmarks retained. Read as a backup officer without a terminal: UI actions, purpose/approver/prerequisites, stop/result/proof/undo/escalation are covered; enrollment/capability/test-term supply, provider proof, cleanup and rollback remain explicitly specialist-only.
    Deployment evidence: existing staging website/native Function/provider controls verified independently; documentation merge/CI recorded separately. #711 may close after that handoff merge; #114/#115 and production/payment policy remain separate.

  12. daliu commented on Oct 12, 2026

    @daliu
    ContributorAuthor

    Bounded staging acceptance complete: genuine expired-session MFA recovery, independently renewed native attestation, actual UI restoration and the no-terminal officer handoff passed; exact disposable cleanup verified twice. Documentation PR715 merged4ef8d7b; exact PR38285379878/main38285863215 each six jobs and all returned steps success, no skips. Existing Functionv2/Hosting57261ae retained with no redeployment. Production, real payments, ordinary officer provisioning, lost-authenticator recovery and #114/#115 remain untouched/separate. Final native proof: #711 (comment) .

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