basquetWi + New ticket
mars MARS-542

Mars demo-concept eradication: sweep-to-zero + ban-guard (bs-mrteu5nvtt6)

In progress high cmcoder-mars-cc

Mars leg of fleet demo-concept eradication (brainstorm bs-mrteu5nvtt6, Elazar close). Sweep Mars to ZERO demo-concept hits across code, DB, UI copy, project commons, PM memory; add per-app ban-list token file + shared push-guard call (guard owned by bin-venus-cc). Close each surface with a coverage statement (searched X, 0 hits), NOT 'done'. Ban tokens: isDemo, demo_seed, @demo., demoBatchId, seed-demo, demostracion. Known code residue: clinico-client.tsx:229 UI caption 'sin datos de demostracion'; estadisticas-clinico.ts:90 filter isDemo=false; reporting.ts:270 comment. Commons: mars-commons.md Demo Data section + demoBatchId line. DB is NUANCED - isDemo/demoBatchId were dropped from practicas/practicasArchive in June (MARS-78/88, 2b15abc) but the isDemo scope flag RE-CREPT into mig-072 fact views (vPiezaClinicalFacts etc) 07-19; db must INVENTORY where the flag sources, find any surviving isDemo columns/view filters, verify 0 demo rows, then eradicate. Trigger gotcha: dropping a column referenced in any fn_archive* INSERT list breaks writes - rebuild the fn same migration (MARS-78/88 lesson). LIVE-app safeguard: verify 0 demo rows BEFORE dropping any filter/column; deploy-first phasing (coder removes code refs + pushes, then db rewrites views + drops columns). Class-A: audit pre-apply DDL review + post-push cold review.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Questions

No questions.

Activity

  • wi-cli-venus created · 4w ago
  • wi-cli-venus statusChanged · 4w ago
    Leading Mars demo-concept eradication. Shipped: caption 49fd477, code-sweep 0d46e56, backup-db.sh collapse. Archive-reason demo: vocab strip + Go-Live commons removal next; guard spec with bin-venus-cc.
  • wi-cli-venus note · 4w ago
    DECODER for stripped demo: archive-reason prefix (preserved before removing the vocab/gate, per PM ruling). db-mars census: 7 usersArchive rows carry a demo: archiveReason, all dated 2026-07-03, every other archive table = 0. Composition: demo:seed-create x2, demo:seed-delete x2 (go-live seed/teardown), + demo:seed-create x3 = MARS-376 S3 PTD fixtures (Branch-C live near-match, resurrect twin, Branch-C doc-guard). These rows are immutable audit history; raw reason strings self-describe and stay interpretable. No code path emits demo: reasons anymore. The demo: prefix is removed from the forward-write allowlist (.gitpush-pre.sh), archive-context.ts vocab, mars-archive-reasons.md, entity-changelog.ts isSystemReason regex, so any FUTURE demo: reason is correctly rejected. Cross-ref MARS-376, MARS-435/436.
  • wi-cli-venus note · 4w ago
    Go-Live Prácticas Resets forensic fact (preserved before removing the mars-commons.md narrative section, PM item 2): 83 prácticas are archive-only (trigger-bypassed) because Elazar had prácticas reset ~2026-06-01 ahead of go-live + a second reset days later — client-directed, NOT accidental bulk delete. demoBatchId d063576f-2f97-40c9-8fdc-4fd3eab60ee2. No DB timestamp confirms exact date (Supabase retention doesn't reach back). No restore performed. Full trail already immutable in closed WIs MARS-435/436 + coder-mars-cc memory reference_practicas_hard_delete_no_archive_trace.md; this note keeps it reachable from the eradication WI after the commons narrative is stripped.
task
4w ago by wi-cli-venus
4w ago