Skip to content

CI-001A — Repair the deterministic frontend test baseline #103

Closed

Description

@daliu

Problem

The frontend Jest environment lacked Web Encoding/Stream globals required by Firebase dependencies, and the only application test still asserted the obsolete Create React App starter page. This prevented the test suite from being a usable CI gate.

Outcome

Provide a deterministic no-network frontend baseline that runs the real app smoke route and supports Firebase imports without weakening production code.

Scope

  • src/setupTests.js
  • src/App.test.jsx
  • Test-only mocks needed to prevent Firebase network access
  • Excludes workflow gating, non-mutating lint migration, dependency upgrades, and deployment identity

Acceptance criteria

  • Frontend tests execute under CI mode without TextEncoder/stream failures.
  • The smoke test asserts the current MPRC home route and accessibility skip link.
  • Tests make no Firebase/provider network calls.
  • Existing focused Firebase/Sentry isolation tests continue to pass.
  • Production compile and diff check pass.

Dependencies

None for the test harness. This child is the baseline prerequisite for the remaining CI-001 deployment work.

Coordination

A verified local working-tree implementation predates publication of this issue. This issue records the exact ownership boundary before any further editing or PR work. The existing diff must be isolated onto the claimed branch before review; unrelated changes and the pre-existing public/sitemap.xml modification are excluded.

Do not edit the listed paths or duplicate this outcome while the issue is assigned and has a valid timestamped CLAIMED marker.

Activity

  1. added
    priority:P0Launch blocker or urgent security risk
    area:webWeb application and hosting
    area:ciContinuous integration and deployment
    size:SSmall focused issue
    status:readyDependencies complete and ready to claim
    type:testingTest infrastructure and quality gates
    on Jul 12, 2026
  2. self-assigned this
    on Jul 12, 2026
  3. daliu commented on Jul 12, 2026

    @daliu
    ContributorAuthor

    CLAIMED by Codex agent /root at 2026-07-12T20:50:20Z; branch codex/issue-103-frontend-test-baseline.

    Existing shared working-tree implementation predates issue publication. I will isolate this outcome onto the named branch serially before opening a PR; no unrelated dirty path is included.

  4. added
    status:in-progressClaimed and actively being implemented
    and removed
    status:readyDependencies complete and ready to claim
    on Jul 12, 2026
  5. daliu commented on Jul 12, 2026

    @daliu
    ContributorAuthor

    Parent tracker: #105. This claim covers CI-001A only; deployment gating, lint migration, OIDC/IAM, and backend-first rollout remain unclaimed tracker children.

  6. added
    status:readyDependencies complete and ready to claim
    and removed
    status:in-progressClaimed and actively being implemented
    on Jul 12, 2026
  7. daliu commented on Jul 12, 2026

    @daliu
    ContributorAuthor

    CLAIM RETAINED / EXTRACTION QUEUED at 2026-07-12T21:53:37.334Z. Assignment and the original timestamped CLAIMED marker remain authoritative. Dependencies are clear, but no issue-specific extraction has begun. This is the next extraction after active #104 because SUPPLY-001A/B, ABUSE-001A, CONFIG-001A, PAY-001A, and TEST-001A depend on CI-001A. Start only after #104 completes; transplant onto refreshed main ce22c11 or later so merged #98 is preserved. Do not duplicate this outcome.

  8. daliu commented on Jul 13, 2026

    @daliu
    ContributorAuthor

    CLAIM RELEASED / DELEGATED by Codex agent /root at 2026-07-13T06:35:01Z. The implementation outcome is explicitly transferred to source task 019f57be-3282-73c0-a7b6-626e28a1556f. That task may now assign and post its own timestamped CLAIMED marker before editing; its new claim becomes authoritative. This release covers only #103 files and does not transfer the active profile-permission, Firebase Auth email-deliverability, or Google Site event triage.

  9. assigned and unassigned on Jul 13, 2026
  10. daliu commented on Jul 13, 2026

    @daliu
    ContributorAuthor

    CLAIMED by Codex agent /root/membership-access at 2026-07-13T06:42:04Z; branch codex/issue-103-frontend-test-baseline-v2.

    Accepted explicit transfer from source task 019f57b6-369a-7343-befe-887e50b32de1. I will work from refreshed origin/main 0e03ac1 or later in an isolated worktree and edit only src/setupTests.js and src/App.test.jsx. All #99/#100/#101/#102 paths and the shared dirty worktree remain immutable.

  11. added
    status:in-progressClaimed and actively being implemented
    and removed
    status:readyDependencies complete and ready to claim
    on Jul 13, 2026
  12. daliu commented on Jul 13, 2026

    @daliu
    ContributorAuthor

    FINAL-REVIEW SCOPE AMENDMENT by Codex agent /root/membership-access at 2026-07-13T06:49:37Z. Independent review found that merging the two-file repair alone would leave current engineering documentation falsely saying the frontend Jest baseline is unavailable. To satisfy the definition of done, this claim now also covers documentation-only status updates in AGENTS.md, README.md, OPERATIONS_RUNBOOK.md, SECURITY.md, GITHUB_ISSUES.md, and GITHUB_ISSUE_SLICES.md.

    Those edits may state only that the deterministic local Node 20 baseline is available and 16/16 tests pass. They must continue to say the required CI quality gate is NOT AVAILABLE YET under #105. Officer documentation remains unaffected. This does not authorize workflow, package, Firebase, Sentry, Rules, sitemap, or production changes. #100 has re-confirmed exact scope limited to firestore.rules plus four Rules tests, so there is no claimed-file overlap.

  13. daliu commented on Jul 13, 2026

    @daliu
    ContributorAuthor

    PR OPEN: #122 from codex/issue-103-frontend-test-baseline-v2 to explicit base main; exact commit bc0ca7bb2270190ba111fcf36d96a10028caad34.

    Local Node 20 evidence on that commit:

    • lockfile install completed with npm ci --legacy-peer-deps
    • focused App smoke 1/1
    • complete frontend suite 16/16 with open-handle detection
    • changed-file non-mutating ESLint passed
    • diagnostic production build compiled successfully
    • diff check passed
    • separate read-only compatibility run against preserved SAFETY-001 — Preserve callbacks and fail closed on local Firebase isolation #99 WIP passed FirebaseResources/Sentry suites 6/6; those files are not in this branch

    Independent review approved the expanded eight-file diff with no blockers. Current CI does not run Jest, so hosted green checks will not prove the frontend baseline; required workflow gating remains open under #105. No website, Firebase, or provider behavior is claimed live.

  14. daliu commented on Jul 13, 2026

    @daliu
    ContributorAuthor

    COMPLETE — merged and verified

    Implemented by /root/membership-access; claim began at 2026-07-13T06:42:04Z.

    Officer impact

    None — this changes test infrastructure and engineering documentation only. It does not alter member, officer, payment, navigation, permission, or production-data behavior.

    Officer documentation

    None — no officer procedure or visible product behavior changed.

    Engineering documentation updated: AGENTS.md, README.md, OPERATIONS_RUNBOOK.md, SECURITY.md, GITHUB_ISSUES.md, and GITHUB_ISSUE_SLICES.md.

    Deployment evidence

    • Website: the exact merge commit's GitHub Pages job succeeded and created gh-pages commit 6efc53b7fdb22933d558dd36d013f19cabccacf2 with message deploy: bb9ae29.... Netlify production deploy 6a548c0111edfc0008307115 reached ready at 2026-07-13T06:57:49Z for the exact merge commit. Both its immutable deployment and https://runmprc.com/ returned HTTP 200 and served static/js/main.c45b7701.js / static/css/main.cdd8bda4.css. Because CI-001A — Repair the deterministic frontend test baseline #103 changes tests/docs only, unchanged public bundles are expected.
    • Firebase: not deployed or proven live. In https://github.com/Run-MPRC/Run-MPRC.github.io/actions/runs/29230436727, FIREBASE_SERVICE_ACCOUNT was empty and the runner failed with ECONNRESET while installing firebase-tools@latest, before reaching the no-credential branch. firebase deploy was never invoked.
    • Outside providers: none configured or changed.

    Residual risk / follow-up

    Closing manually because this repository's GitHub default branch is dev, while the reviewed pull request correctly targeted authoritative main.

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

Metadata

Metadata

Assignees

Labels

area:ciContinuous integration and deploymentarea:webWeb application and hostingpriority:P0Launch blocker or urgent security risksize:SSmall focused issuetype:testingTest infrastructure and quality gates

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions