You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Owner decisions: The Church/Basketball business-first order was accepted on 2026-09-13. The completed business workflow was accepted on 2026-09-15 in #289.
Current Outcome
The business workflow milestone is complete on merged main. The active track is release/platform readiness. Paid billing/SMS and native store release remain optional, separately authorized work.
PR Add loopback TLS artifact rehearsal #338 merged at ad9c323b6c31421478e4069de1f6130e7dfeb68c, establishing the reproducible production image and local TLS/security baseline.
Exact PR Add guarded staging acceptance runner #339 head 965fede3d99871679ab4a65430edc079d343cc48: make test-all passed 2,019 tests with 21 documented skips, including all 73 Playwright tests.
The exact PR Add guarded staging acceptance runner #339 image signupflow-artifact:965fede3d998-d42c4cce passed local HTTPS artifact validation; source/image security validation passed with no findings.
make test-staging now requires HTTPS, exact deployed release identity, a specific approval reference and explicit remote opt-in before it can exercise every discovered playbook and a browser session.
A disposable staging platform/project, region and hostname plus explicit deployment authorization.
A named operator and real alert destination for the controlled monitoring drill.
Owner-approved RPO, RTO, retention, key-custody and legal-hold decisions.
Pilot cohort, support owner, data policy and final go/no-go authority.
Guardrails
All tests and code review run locally. GitHub Actions does not run tests, and Ollama is not a code-review provider. Builder agents merge only when GitHub reports the PR mergeable and the exact local evidence is recorded. Do not deploy, activate paid providers, use production data, contact real recipients, sign/store-submit native apps or infer production readiness without the corresponding explicit authorization.
The detailed historical roadmap below remains traceability, not the current queue.
Builder Handoff Contract
Updated 2026-09-13 for execution by a lower-cost model. This plan moves architectural recommendations, test oracles, scope boundaries and escalation rules into the issues. It does not require xhigh for implementation or claim a reasoning setting was changed in this task. No model can guarantee correctness from a detailed ticket alone.
No CI checks. All code review, formatting, lint, type checks, migration checks, unit/API/CLI/integration/web/contract/Playwright/mobile tests, scans and artifact verification run locally. No synthetic success statuses or Ollama reviewer. Pages publication remains separate.
Scope and handoff inventory
The earlier handoff pass covered 30 open issues, with 29 implementation briefs, 116 work packages and 116 regression cases. The business-first update adds #287 response semantics, #288 noncommercial core flows and #289 role-by-role business acceptance, for 33 open issues. Earlier packages remain detailed reference, not permission to execute the deferred tracks.
Each implementation brief contains current source pointers, what is already implemented, recommended decisions, hard versus coordination dependencies, bounded work packages, test oracles, existing local commands, migration/compatibility requirements, stop conditions, focused review questions and a copyable builder prompt. Read the top Current Implementation Handoff before older audit context.
Verified local and remote main baseline: 21a4a804aa57580451edded04736b1f51aef7e48. Recheck current source at execution time; never reset to this baseline or overwrite concurrent work. Source inspection and issue updates are not new test execution.
P3: Defer billing object hardening until commercial enablement #256: Billing routes already use authenticated admin dependencies; verify_admin_access is an authenticated wrapper. Scoped invoice and detach/default payment-method guards/tests exist. Focus remaining work on provider-object contracts, including checkout-success currently ignoring session_id, and complete remaining acceptance.
P1: Verify complete password-reset delivery and recovery #262: Web forgot-password already passes/attaches BackgroundTasks, and the email has the correct /auth/reset/{token} fallback. Preserve these fixes; prove actual rendered-email/browser recovery, failure/retry and release delivery.
These corrections supersede contradictory historical implementation statements below and in old issue evidence. Test existing controls before deciding to replace them.
Execution loop for a smaller builder
Read the selected issue's top brief, source pointers, required dependency receipts and AGENTS/CLAUDE/current testing policy. Do not load the full 1,307-file repository or all issue bodies into one prompt unless the selected slice truly needs it.
Choose one ready work package, not the entire roadmap. State intended files, preserved behavior, test IDs and exact completion condition before editing. Work packages are the unit of implementation; issue closure waits for all packages and acceptance.
Start with a focused failing regression that distinguishes the defect from fixture/environment failure. Implement the smallest change in existing patterns; no unrelated framework rewrite, schema cleanup or dependency churn.
Complete code, local regression tests, negative cases, affected docs/README/playbooks/screenshots and issue evidence together. A package is not done merely because its code compiles or the happy path works.
Run local formatting/lint/touched-module types, unit and full test suites on the final tree. Obtain real browser screenshots for UI work; inspect them. Use explicit PostgreSQL/device/provider/artifact stages where needed and mark unavailable stages blocked.
Request a fresh local reviewer context over the head/base diff and package acceptance. The same lower-cost model may perform a fresh review, but that is not a guarantee of independence or correctness. Security/transactions/migrations/financial changes deserve stronger review when available; do not auto-switch models or incur extra spend without owner approval. A reviewer never merges.
Resolve findings and rerun affected validation. If user scope authorizes PR/merge, record exact head/base SHAs and current results, then confirm GitHub mergeability and required reviews. Do not fabricate checks or bypass protections.
Verify merge/source state if merged, update package/test receipts and dependent readiness, and leave the parent open for unfinished work. No deployment, live provider enablement, customer-data purge or store submission is implied.
Escalate the affected package when business policy is unresolved, prerequisites are unavailable, transaction/ownership semantics are ambiguous, source drift invalidates the plan, or two focused repair attempts yield no new evidence. Post reproduction/commands/expected-versus-actual and the smallest decision needed. Do not suppress tests, reinterpret failures as success or keep expanding the patch.
Local validation protocol
Run in the safely isolated environment established by #281. Before that environment exists, only run narrowly verified fixture/static tests with no shared data or provider side effects.
Existing commands:
poetry run black --check api tests
poetry run ruff check api tests
poetry run mypy --no-incremental api/utils api/core api/schemas
poetry run mypy api
make test-unit
make test-all
Also check maintained web/scripts modules touched by the package using applicable formatter/linter/type commands. Whole-API legacy typing debt must be recorded separately, never hidden; changed scope must pass and add no unaccepted regression. #281 owns expanding/defaulting this checked scope.
Run make test-mobile and native analysis/build/integration for mobile/schema compatibility work as specified in #191. Run API and browser tiers in separate pytest processes. The current make test-all covers seven Python tiers; #281 must repair the missing make test target and classify/add safe omitted cases before anyone claims every test runs. Newly proposed commands such as make test-postgres or a screenshot-capture entry point are not existing commands until their owner issue implements and documents them.
Do not reset shared DBs, call provider endpoints or run the hardcoded legacy load target to obtain evidence. For #260/#265/#267/#268/#270/#271 use explicitly owned/authorized targets. Report source tests, database engine tests, built artifact tests, external delivery, devices and release approval separately.
Before an authorized merge, an existing read-only check is:
Compare those SHAs with the test/review receipt. mergeable=MERGEABLE alone is insufficient without local evidence and required reviews; unknown/conflicting/blocked state needs resolution, not a force merge.
Earlier Full-Release Dependencies (Not the Current Execution Queue)
This is not a rule to finish a broad documentation issue before starting the backend. Complete its ready packages, keep it open, and revisit its final reconciliation after behavior/artifacts are ready. Coordination links are not hard dependencies. Hard-dependency graph was checked for missing targets and cycles.
Issue
Hard prerequisites for dependent implementation/acceptance
Prefer one builder package at a time for a lower-cost setup. Parallelize only disjoint files and independently testable slices with an explicit integration owner.
Owner decisions and external prerequisites
These are real blockers for affected slices, not questions the smaller model should silently answer:
Decision / prerequisite
Recommended starting position
Owner issues
Public signup compatibility
Atomic org + first-admin bootstrap; existing-org membership via invitation; approve migration before changing public contract
One active full future horizon, all required slots/hard rules valid, no override in the first implementation; approve manual/open-shift and response-state semantics
A lower-cost model can implement the bounded code/test/doc packages. Planning cannot replace missing infrastructure, owner decisions, real-device/provider evidence or careful local review. Do not close issues solely to make this table green.
Required package completion receipt
Issue/package:
Source branch, head SHA, reviewed base SHA:
Changed files and behavior preserved:
Regression IDs with initial failure and final outcome:
Local commands, versions, date, pass/fail/skip/not-run:
Browser/DB/artifact/provider/device evidence, where applicable:
Review findings, resolution and reviewer/self-review disclosure:
Docs/README/playbook/screenshot updates:
Migration/compatibility and rollback notes:
PR/merge status (only if authorized):
Remaining packages, blockers, dependency updates:
Copyable first builder prompt
Read the Business-First Order at the top of #252 and business acceptance #289.
Choose one ready NOW slice from phase: business-flow. Start with the necessary
#281 safe local harness and #288 noncommercial boundary, then a real role journey.
Use #287 for response semantics, #279 for the reusable plugin and #285 for UI gaps.
Finish local tests/review, affected docs/assets and evidence. Do not start deferred
billing or platform tasks because an old priority/dependency list says to.
No CI checks, deployment, provider activation, fake paid entitlement or model switch.
Handoff planning verification
Every open issue has its own specific brief and copyable prompt; no generic-only ticket.
Source/test command paths resolve against the inspected baseline; proposed additions are labeled.
Hard dependencies reference open work and contain no cycles; coordination links are separate.
Historical already-fixed billing/reset/lifecycle/role statements are corrected for current implementation.
Updated GitHub bodies are read back; all original issue states remain unchanged.
No repository source, workflow/settings, branch, PR, merge, provider or deployment changes occur in this planning run.
Verification receipt (2026-09-13): published and read back all 30 open issue bodies with exact-content comparison; all remain open. All 29 implementation briefs have four uniquely identified work packages and four uniquely identified regression cases. Source/test paths were checked against the 1,307-file baseline and the hard-dependency graph has no missing targets or cycles. Renamed #256/#262 to reflect remaining acceptance rather than already-fixed defects. This was GitHub planning only: no implementation, test-suite execution, source/README/screenshot edits, workflow/settings change, branch, PR, merge or deployment. Local HEAD remains 21a4a804aa57580451edded04736b1f51aef7e48; the pre-existing untracked .claude/scheduled_tasks.lock was left untouched.
Earlier Roadmap and Audit Context (Production-First Order Superseded)
Historical Production Readiness Roadmap
Current policy (2026-09-13)
No CI checks. Everything is validated locally. This includes code review,
formatting, lint, type checks, migrations, all test tiers, security scans,
artifact checks and mobile validation. Do not add hosted jobs, required CI
statuses, synthetic success checks or an Ollama reviewer. GitHub is for source,
PRs, issues and publication, not validation.
Record commands, environment, results, limitations and reviewed head/base SHAs.
Builders merge only with completed local evidence and GitHub mergeability;
reviewer agents never merge. Real staging/provider/device acceptance remains
required where applicable, driven by authorized local operator tools.
Historical evidence and older comments do not override this policy.
Whole-repository audit and issue plan (2026-09-13)
The owner requested everything, not another narrow CI/documentation cleanup. Scope is all 1,307 tracked files at 21a4a804aa57580451edded04736b1f51aef7e48, all 91 pre-audit GitHub issues (20 open/71 closed), the open PR #251, and current workflow inventory. The ten issues below are additional explicit work, not evidence that fixes are already delivered.
Evidence boundary
Static syntax parsing completed for all 343 tracked Python files, with no syntax errors. This says nothing about runtime correctness or complete authorization.
A tracked Markdown-like scan covered 296 files (176 manual, 120 generated). It found 110 distinct file/relative-target candidates: 44 manual and 66 generated. HTML links, anchors and external links need the planned deeper validator.
Reviewed source/command/plan hotspots confirm broken make test, obsolete examples, unsafe cleanup scope, runner/template contradictions, incomplete browser scenario coverage, stale image provenance and unsafe publication behavior.
All ten README screenshot histories were checked; dashboard and solver were visually inspected. Do not call the other eight visually reviewed or any image current to this revision.
Existing API/web/security/operations findings were reconciled into their current issues. No test suite, fresh screenshot capture, dependency vulnerability scan, PostgreSQL/Docker drill, live provider delivery, device run or deployment was performed in this planning audit. Earlier PR evidence below is historical and was not rerun.
Only Pages publication is active. The legacy Playwright workflow is disabled_manually; it is not a CI requirement. No settings changed.
Complete tracked-area ownership
Every tracked path falls into exactly one inventory row. Counts total 1,307. Evidence explicitly distinguishes a static inventory from a completed behavioral/semantic review.
Area
Files
Inspected evidence / remaining verification
Work owner issues
api/
134
Startup/router/config and scheduling/publication/auth/provider hotspots inspected; all Python syntax parsed. This is not an exhaustive security certification.
#277 contains a 176-file completion ledger, including nested legacy specs and all agent/release Markdown. #191 owns the 120 generated Markdown files as part of the complete 643-file native/client cohort. #280 lists all ten existing screenshots; #283 lists every script/database helper. Do not close a broad cleanup with unnamed follow-ups.
Delivery sequence and dependency boundaries
Order
Implement / reconcile
Exit
0: Safe, truthful baseline
#281 supported local test commands/sandbox; #283 safe tools; #277 ledger; #278/#284 correct false current claims; #282 task selection
Contributors can run the documented local validation without shared-data/provider risk; current docs do not claim unverified readiness
1: Security foundation
Remaining #253-#258 and #261; establish isolated PostgreSQL harness #260
Real-identity negative tests, fail-closed config, auth matrix and local review; already-merged fixes preserved
Owner-approved scope, operator/support/data policy, measured load and stable pilot go/no-go
Optional native/paid
#191 and #270, after their API/provider prerequisites
Separate codegen/device/store or billing/SMS evidence and explicit enablement approval
This is sequencing, not a requirement to block truthful doc corrections on unshipped features. UI/scenario design can proceed alongside backend fixes; final acceptance/capture waits for the behavior it claims. Do not introduce circular ticket dependencies by treating every coordination link as a hard prerequisite.
Required decisions, not invented assumptions
Name the release/operator/support owner, hosting region/provider and budget, pilot cohort, retention/RPO/RTO targets and supported browser/device/locale matrix. Confirm Church/Basketball eligibility/safeguarding/rest rules and publication override/full-horizon policy under #279/#286. Keep optional paid/SMS/native features excluded until explicitly accepted. Re-estimate remaining slices only after capacity/owners are assigned; no copied historical completion percentages or promised launch dates.
Closure rules
Every tracked area has disposition/review evidence and every confirmed residual defect has an explicit issue; inventory alone is not substantive sign-off.
Both six-week domains are prominent in README and have accurate API/unit/browser/manual traceability.
All current screenshots have a repeatable local capture command and revision/viewport/scenario provenance.
Supported local commands cover the declared test matrix; skipped/opt-in scopes, static/type debt and environment limits remain visible.
Docs, examples, public site, instruction generators, GitHub issues and release records agree; retired history cannot drive new work.
Core P0/P1 acceptance is satisfied with source, artifact and operator evidence before pilot approval; optional scope stays explicit.
No CI checks, required statuses or hosted code reviewer are reintroduced. No issue closes based solely on a banner, test count or missing CI run.
Scope and decisions
Deliver an invited web/API scheduling pilot first. Keep paid billing, SMS delivery
and native-store release behind their own acceptance gates. Mounted endpoints
still require authorization fixes even with outbound providers disabled.
The owner must choose release operator, deployment region/provider, budget,
retention/RPO/RTO, pilot cohort and support coverage before the affected work.
This roadmap does not authorize deployment, live messages, charges or store release.
Separate provider/device evidence and explicit enablement approval
#259 now tracks local validation/evidence hygiene, not an AI/CI gate. It must not
block delivery waiting for a hosted workflow, credential or required check.
Start the remaining security fixes and local PostgreSQL harness in parallel.
Membership/browser protections precede reset acceptance. Tenant/constraint/DB
work precedes atomic claim acceptance. Configuration and database readiness
precede artifact validation. Artifact and messaging recovery precede operations
drills. #271 consumes all core release evidence; optional tracks do not block a
safely scoped web/API pilot.
Previous 55-89-day totals included stale work and a rejected hosted-gate rollout.
Do not reuse them as a commitment. Re-estimate only remaining acceptance criteria
after owners and capacity are assigned; record dependencies, uncertainty and
external provisioning time separately.
Definition of done
Core P0/P1 security and workflow issues are resolved with linked local evidence.
Local formatting/lint/types, migrations, test tiers and code review are complete
for the pushed source. Run make test-all and mobile validation when applicable.
PostgreSQL release journeys, concurrency and migration parity are verified locally.
Invitation/reset messages and recovery paths work without debug-token shortcuts.
The release artifact has recorded source SHA/digest, alert/restore/rollback/load evidence.
The owner accepts scope, support, data policy, residual risks and release go/no-go.
Optional features remain unavailable until their separate acceptance passes.
No CI checks, required CI statuses or hosted reviewers are introduced.
Evidence and maintenance
Use docs/ROADMAP.md, docs/TESTING.md and docs/ai-pr-review.md as the current guides.
Reconcile each issue with merged source; retain dated comments as history, not
active blockers. Local results are evidence reports, not GitHub attestation.
Never claim independent review for a builder's self-review or label skipped work
successful. Distinguish clean-environment failures from borrowed-environment drift.
Broader follow-through now has explicit issues #277-#286 and the complete ownership
matrix above. #284 owns production config/runbook claims with #258/#265; #281 owns local tooling, #282 agent consistency, #277 all retained documents,
and #271 consumes their release evidence.
Keep historical marathon issues closed unless a specific regression is confirmed.
Policy refactor completion (2026-09-13)
PR #276 merged as 21a4a80. Local evidence for
head 2bcc534: 1428 Python tests passed,
21 skipped, including 33 Playwright; 65 Flutter tests passed. Scoped mypy,
Black, Ruff, workflow/shell syntax and fresh SQLite migration checks passed.
Full-API typing debt and unavailable local PostgreSQL are documented limitations,
not passed validation. No CI checks or workflow runs occurred for this PR.
Only static Pages publication remains, separate from validation.
Read back all changed issue bodies and verified immutable source links against the tracked file inventory. No original issue state was changed.
GitHub confirms main protection returns 404: Branch not protected and rulesets returns []. These are configuration observations, not access errors. No protection/ruleset/workflow settings were changed.
Repository source, README and screenshots were not edited in this planning-only run. No branches, commits, PRs, merges, deployments or test-suite runs were performed. The pre-existing untracked .claude/scheduled_tasks.lock was left alone.
This receipt completes the requested audit-to-GitHub planning, not the implementation or production acceptance described above.
Current Roadmap
Owner decisions: The Church/Basketball business-first order was accepted on 2026-09-13. The completed business workflow was accepted on 2026-09-15 in #289.
Current Outcome
The business workflow milestone is complete on merged
main. The active track is release/platform readiness. Paid billing/SMS and native store release remain optional, separately authorized work.Execution Order
Current Evidence
ad9c323b6c31421478e4069de1f6130e7dfeb68c, establishing the reproducible production image and local TLS/security baseline.82e715749060b9bbd2eb7ce5659d5accd8625d0b, adding the guarded provider-neutral staging acceptance runner.965fede3d99871679ab4a65430edc079d343cc48:make test-allpassed 2,019 tests with 21 documented skips, including all 73 Playwright tests.signupflow-artifact:965fede3d998-d42c4ccepassed local HTTPS artifact validation; source/image security validation passed with no findings.make test-stagingnow requires HTTPS, exact deployed release identity, a specific approval reference and explicit remote opt-in before it can exercise every discovered playbook and a browser session.External Inputs Required
Guardrails
All tests and code review run locally. GitHub Actions does not run tests, and Ollama is not a code-review provider. Builder agents merge only when GitHub reports the PR mergeable and the exact local evidence is recorded. Do not deploy, activate paid providers, use production data, contact real recipients, sign/store-submit native apps or infer production readiness without the corresponding explicit authorization.
The detailed historical roadmap below remains traceability, not the current queue.
Builder Handoff Contract
Updated 2026-09-13 for execution by a lower-cost model. This plan moves architectural recommendations, test oracles, scope boundaries and escalation rules into the issues. It does not require
xhighfor implementation or claim a reasoning setting was changed in this task. No model can guarantee correctness from a detailed ticket alone.No CI checks. All code review, formatting, lint, type checks, migration checks, unit/API/CLI/integration/web/contract/Playwright/mobile tests, scans and artifact verification run locally. No synthetic success statuses or Ollama reviewer. Pages publication remains separate.
Scope and handoff inventory
The earlier handoff pass covered 30 open issues, with 29 implementation briefs, 116 work packages and 116 regression cases. The business-first update adds #287 response semantics, #288 noncommercial core flows and #289 role-by-role business acceptance, for 33 open issues. Earlier packages remain detailed reference, not permission to execute the deferred tracks.
Each implementation brief contains current source pointers, what is already implemented, recommended decisions, hard versus coordination dependencies, bounded work packages, test oracles, existing local commands, migration/compatibility requirements, stop conditions, focused review questions and a copyable builder prompt. Read the top Current Implementation Handoff before older audit context.
Verified local and remote main baseline:
21a4a804aa57580451edded04736b1f51aef7e48. Recheck current source at execution time; never reset to this baseline or overwrite concurrent work. Source inspection and issue updates are not new test execution.Important source corrections
These corrections supersede contradictory historical implementation statements below and in old issue evidence. Test existing controls before deciding to replace them.
Execution loop for a smaller builder
Escalate the affected package when business policy is unresolved, prerequisites are unavailable, transaction/ownership semantics are ambiguous, source drift invalidates the plan, or two focused repair attempts yield no new evidence. Post reproduction/commands/expected-versus-actual and the smallest decision needed. Do not suppress tests, reinterpret failures as success or keep expanding the patch.
Local validation protocol
Run in the safely isolated environment established by #281. Before that environment exists, only run narrowly verified fixture/static tests with no shared data or provider side effects.
Existing commands:
Also check maintained web/scripts modules touched by the package using applicable formatter/linter/type commands. Whole-API legacy typing debt must be recorded separately, never hidden; changed scope must pass and add no unaccepted regression. #281 owns expanding/defaulting this checked scope.
Run
make test-mobileand native analysis/build/integration for mobile/schema compatibility work as specified in #191. Run API and browser tiers in separate pytest processes. The currentmake test-allcovers seven Python tiers; #281 must repair the missingmake testtarget and classify/add safe omitted cases before anyone claims every test runs. Newly proposed commands such asmake test-postgresor a screenshot-capture entry point are not existing commands until their owner issue implements and documents them.Do not reset shared DBs, call provider endpoints or run the hardcoded legacy load target to obtain evidence. For #260/#265/#267/#268/#270/#271 use explicitly owned/authorized targets. Report source tests, database engine tests, built artifact tests, external delivery, devices and release approval separately.
Before an authorized merge, an existing read-only check is:
Compare those SHAs with the test/review receipt.
mergeable=MERGEABLEalone is insufficient without local evidence and required reviews; unknown/conflicting/blocked state needs resolution, not a force merge.Earlier Full-Release Dependencies (Not the Current Execution Queue)
This is not a rule to finish a broad documentation issue before starting the backend. Complete its ready packages, keep it open, and revisit its final reconciliation after behavior/artifacts are ready. Coordination links are not hard dependencies. Hard-dependency graph was checked for missing targets and cycles.
Earlier platform-oriented batches, retained for later release planning (superseded for current execution by the Business-First Order above):
File ownership and integration boundaries
Owner decisions and external prerequisites
These are real blockers for affected slices, not questions the smaller model should silently answer:
A lower-cost model can implement the bounded code/test/doc packages. Planning cannot replace missing infrastructure, owner decisions, real-device/provider evidence or careful local review. Do not close issues solely to make this table green.
Required package completion receipt
Copyable first builder prompt
Handoff planning verification
Verification receipt (2026-09-13): published and read back all 30 open issue bodies with exact-content comparison; all remain open. All 29 implementation briefs have four uniquely identified work packages and four uniquely identified regression cases. Source/test paths were checked against the 1,307-file baseline and the hard-dependency graph has no missing targets or cycles. Renamed #256/#262 to reflect remaining acceptance rather than already-fixed defects. This was GitHub planning only: no implementation, test-suite execution, source/README/screenshot edits, workflow/settings change, branch, PR, merge or deployment. Local HEAD remains
21a4a804aa57580451edded04736b1f51aef7e48; the pre-existing untracked.claude/scheduled_tasks.lockwas left untouched.Earlier Roadmap and Audit Context (Production-First Order Superseded)
Historical Production Readiness Roadmap
Current policy (2026-09-13)
No CI checks. Everything is validated locally. This includes code review,
formatting, lint, type checks, migrations, all test tiers, security scans,
artifact checks and mobile validation. Do not add hosted jobs, required CI
statuses, synthetic success checks or an Ollama reviewer. GitHub is for source,
PRs, issues and publication, not validation.
Record commands, environment, results, limitations and reviewed head/base SHAs.
Builders merge only with completed local evidence and GitHub mergeability;
reviewer agents never merge. Real staging/provider/device acceptance remains
required where applicable, driven by authorized local operator tools.
Historical evidence and older comments do not override this policy.
Whole-repository audit and issue plan (2026-09-13)
The owner requested everything, not another narrow CI/documentation cleanup. Scope is all 1,307 tracked files at
21a4a804aa57580451edded04736b1f51aef7e48, all 91 pre-audit GitHub issues (20 open/71 closed), the open PR #251, and current workflow inventory. The ten issues below are additional explicit work, not evidence that fixes are already delivered.Evidence boundary
Complete tracked-area ownership
Every tracked path falls into exactly one inventory row. Counts total 1,307. Evidence explicitly distinguishes a static inventory from a completed behavioral/semantic review.
Newly explicit deliverables
#277 contains a 176-file completion ledger, including nested legacy specs and all agent/release Markdown. #191 owns the 120 generated Markdown files as part of the complete 643-file native/client cohort. #280 lists all ten existing screenshots; #283 lists every script/database helper. Do not close a broad cleanup with unnamed follow-ups.
Delivery sequence and dependency boundaries
This is sequencing, not a requirement to block truthful doc corrections on unshipped features. UI/scenario design can proceed alongside backend fixes; final acceptance/capture waits for the behavior it claims. Do not introduce circular ticket dependencies by treating every coordination link as a hard prerequisite.
Required decisions, not invented assumptions
Name the release/operator/support owner, hosting region/provider and budget, pilot cohort, retention/RPO/RTO targets and supported browser/device/locale matrix. Confirm Church/Basketball eligibility/safeguarding/rest rules and publication override/full-horizon policy under #279/#286. Keep optional paid/SMS/native features excluded until explicitly accepted. Re-estimate remaining slices only after capacity/owners are assigned; no copied historical completion percentages or promised launch dates.
Closure rules
Scope and decisions
Deliver an invited web/API scheduling pilot first. Keep paid billing, SMS delivery
and native-store release behind their own acceptance gates. Mounted endpoints
still require authorization fixes even with outbound providers disabled.
The owner must choose release operator, deployment region/provider, budget,
retention/RPO/RTO, pilot cohort and support coverage before the affected work.
This roadmap does not authorize deployment, live messages, charges or store release.
Delivery phases and remaining work
#259 now tracks local validation/evidence hygiene, not an AI/CI gate. It must not
block delivery waiting for a hosted workflow, credential or required check.
Verified merged milestones through main 21a4a80
remaining PostgreSQL cascade/release evidence keeps that acceptance work open.
constraint list. Finish constraint/eligibility evidence, not duplicate role fixes.
acceptance remain separate local work.
removed backend/mobile workflows and the CI badge, and aligned local docs and
agent instructions. P1: Make local validation and review evidence reproducible #259 is completed; no validation workflows are active.
local review/validation and disposition; open work is not shipped functionality.
Dependencies
Start the remaining security fixes and local PostgreSQL harness in parallel.
Membership/browser protections precede reset acceptance. Tenant/constraint/DB
work precedes atomic claim acceptance. Configuration and database readiness
precede artifact validation. Artifact and messaging recovery precede operations
drills. #271 consumes all core release evidence; optional tracks do not block a
safely scoped web/API pilot.
Previous 55-89-day totals included stale work and a rejected hosted-gate rollout.
Do not reuse them as a commitment. Re-estimate only remaining acceptance criteria
after owners and capacity are assigned; record dependencies, uncertainty and
external provisioning time separately.
Definition of done
for the pushed source. Run make test-all and mobile validation when applicable.
Evidence and maintenance
Use docs/ROADMAP.md, docs/TESTING.md and docs/ai-pr-review.md as the current guides.
Reconcile each issue with merged source; retain dated comments as history, not
active blockers. Local results are evidence reports, not GitHub attestation.
Never claim independent review for a builder's self-review or label skipped work
successful. Distinguish clean-environment failures from borrowed-environment drift.
Broader follow-through now has explicit issues #277-#286 and the complete ownership
matrix above. #284 owns production config/runbook claims with #258/#265;
#281 owns local tooling, #282 agent consistency, #277 all retained documents,
and #271 consumes their release evidence.
Keep historical marathon issues closed unless a specific regression is confirmed.
Policy refactor completion (2026-09-13)
PR #276 merged as 21a4a80. Local evidence for
head 2bcc534: 1428 Python tests passed,
21 skipped, including 33 Playwright; 65 Flutter tests passed. Scoped mypy,
Black, Ruff, workflow/shell syntax and fresh SQLite migration checks passed.
Full-API typing debt and unavailable local PostgreSQL are documented limitations,
not passed validation. No CI checks or workflow runs occurred for this PR.
Only static Pages publication remains, separate from validation.
Audit planning receipt (2026-09-13)
This receipt completes the requested audit-to-GitHub planning, not the implementation or production acceptance described above.