Skip to content

docs: API inventory + GFV topology for Python migration - #8

Open
kengggg wants to merge 6 commits into
mainfrom
docs/api-io-inventory
Open

docs: API inventory + GFV topology for Python migration#8
kengggg wants to merge 6 commits into
mainfrom
docs/api-io-inventory

Conversation

@kengggg

@kengggg kengggg commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Summary

Inventory-only groundwork for a faithful rewrite (FastAPI + SQLAlchemy 2 + Alembic, Postgres 16/17 + PostGIS, existing mobile clients), plus resolved Global Flu View topology and data-quality findings.

docs/migration/
  README.md                 # goals, phases, non-goals
  API_INVENTORY.md          # Sails endpoints + GFV as separate/path-mounted service
  RESPONSE_ENVELOPE.md
  DOMAIN_TABLES.md
  OPEN_QUESTIONS.md
  REVIEW_SYNTHESIS.md       # multi-model consensus
  GLOBAL_FLU_VIEW.md        # live Django path mount; multi-outlet Phase B target
  GFV_F1_CROSSTAB_VERIFY.md # prod SQL proof: crosstab corrupts symptoms/ILI
  ADR-001-userReports-behavior.md
  ADR-002-ili-rule.md       # Sails ILI any-of

GFV (owner decisions)

Item Decision
Historical DNS api_globalfluview.sicksense.org Never created (NXDOMAIN); live path is api.sicksense.org/globalfluview/*
Auth owner Project owner holds Django Basic credentials
Final codebase GFV in unified multi-outlet export (Phase B); keep Django until then
F1 crosstab CONFIRMED on prod — stored flags are symptom-count thresholds; ILI ~2.8× inflated; all 216 weeks corrupted; Thai vocab drift means catalog names nearly dead

Explicit non-goals in this PR

  • Application code / schema changes
  • Fixing GFV sync in production (documented only)
  • Creating the underscored DNS name

Test plan

  • Multi-model architecture review (Grok + Fable Max + Codex Sol Ultra)
  • Live DNS/HTTP + prod nginx path mount confirmed
  • Fable Max read-only prod SQL verification of crosstab (CONFIRMED, confidence 5/5)
  • Human review of inventory + GFV Phase B scope before implementation branch

Map every explicit route plus auth policies, request fields, response
envelope, and domain tables so a FastAPI + modern Postgres rewrite can
target faithful client parity. Note endpoints present in tests/apiary but
missing from routes.js for follow-up.
@kengggg kengggg self-assigned this Jul 31, 2026
kengggg added 3 commits July 31, 2026 10:24
Incorporate independent Grok, Fable Max, and Codex Sol Ultra findings:
document userReports global SQL as production behavior, ILI any-of rule,
registration validation, dual identity, GFV non-repo status, and ADRs for
parity decisions.
Document Global Flu View as a live separate Django path mount on
api.sicksense.org (historical api_globalfluview DNS never created),
owner-held Basic auth, and Fable Max production SQL verification that
single-arg crosstab corrupts all stored symptom/ILI flags. Target end
state is a unified multi-outlet export in the new Python codebase
(Phase B) while keeping Django alive through the mobile rewrite.
@kengggg kengggg changed the title Map API inputs and outputs for the Python migration docs: API inventory + GFV topology for Python migration Jul 31, 2026
kengggg added 2 commits July 31, 2026 14:55
Owner chose option A: when the multi-outlet export ships, recompute and
republish all GFV weeks from raw sicksense data rather than forward-only
fixes. Wire the decision into GLOBAL_FLU_VIEW, open questions, and F1 notes.
Record outlet ILI choice and Thai/English vocabulary mapping as wiki
unknowns to confirm before Phase B re-export; link from exploration index.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant