TaTech Signature - Gap Log
Honest tracking of where CivicLoop County OS stands against the 22-point signature (TATECH_STANDARDS.md). Closed items kept for history.
Closed (2026-05-26 push)
- #15 Full CRUD - every agency module + feeds + KB now have New/Edit/Delete via the schema-driven RecordEditor. Was: read-only dashboards.
- #10 Observability - Sentry wired (DSN-gated) + synthetic uptime monitor + Platform health panel. Was: only manual prod-smoke + self-heal.
- #4 In-app guided tour - first-run dashboard tour added. Was: none.
- #5 / #18 Named AI + KB + onboarding questionnaire - "Ada" assistant,
county_kb, seeded questionnaire. Was: a 311 co-pilot only, no named assistant/KB.
- #7 Voiced walkthrough - detailed + 90s reel, EN + ES, hosted at
/walkthrough. Was: silent recorder only.
- #6 Every-button per-role sweep -
scripts/ui-sweep.mjs. Was: page-scan only.
- #12 Branded printable reports - on every module + public portals.
Closed (2026-05-26, second pass)
- #9 Platform console - built
/platform as a separate TaTech-engineer tier (table platform_admins, access levels owner/engineer/support), distinct from the tenant/county admin (/admin). Includes cross-tenant health + usage, a kill-switch (suspend/restore a county, enforced in requireStaff -> /suspended), and audited impersonation ("view as a tenant", logged to platform_impersonations, amber banner + exit). Mobile-first sidebar. Logins: owner@/eng@/support@tatech.dev.
Open (roadmap)
- #9 Per-tenant billing - the one remaining sub-item of the platform console: usage-based billing with per-tenant (drifting) pricing. Everything else in #9 (kill-switch, impersonation+audit, access levels) is done. Becomes material when a second county is onboarded.
- #16 / #17 No-hardcoding + white-label isolation - the County identity (PG County,
county_id constant) is single-tenant by design. Multi-tenancy is the same roadmap item as #9.
- #19 Slack-grade comms -
/channels has channels + threads; reactions/mentions/search/slash + WhatsApp/SMS bridge + AI persona + auto-translate are pending.
- #20 Address autocomplete - 311 uses photo + EXIF + geolocation; a places/address autocomplete library on the report form is pending.
- #22 Global units - generic per-feed units exist; a global unit-system toggle (km/mi etc.) is not needed for the 311/county domain today but noted.
Notes
- AI runs on Claude Haiku (cheap), not the free Gemini tier used by NdamBa. Acceptable for this app per prior direction; revisit if cost matters.
- All "Partial/Open" items are non-blocking for the single-county pilot and pitch.