revival_v0 — sample runs (directional, provisional)

node revival_v0.cjs <repo> [inputs.json]. Reads objective signals (jscpd duplication, test ratio, file-size, git churn, data-calls-in-routes) → exposure λ; takes a project profile (S,L,T,R,V) → impact κ; applies the simple revival filter per practice (REVIVED / ALWAYS-WORTH / STILL-DEAD) and ranks by benefit-per-residual-hour. cov/c_res/c_AI/h0 are hand-set PROVISIONAL defaults — numbers are directional, not calibrated. λ is objective; κ/c_res/h0 need calibration from real outcomes.

Run A — Cancha Libre, DEFAULT inputs (S=L=T=R=V=0.5)

Clean, GS-built repo: dup 0%, 6 src / 4 tests (ratio 0.67), 0 oversized files, 0 data-in-routes, low churn. Honest read: little to revive — it’s already clean. Top picks are the cheap governance/spec practices that a clean repo still lacks (decision records, sentinel), and the two expensive practices come out correctly negative:

🟢 REVIVED    decision records / doc-cascade   benefit≈2.07h  roi≈5.2   (unaudited-decision, divergence)
🟢 REVIVED    sentinel / authored navigation   benefit≈1.09h  roi≈3.6
🟢 REVIVED    perspective-based reading        benefit≈1.84h  roi≈2.3
🟢 REVIVED    acceptance/contract tests        benefit≈1.06h  roi≈2.1
🟢 REVIVED    layered boundaries + gate        benefit≈0.47h  roi≈1.6
🟢 REVIVED    mutation testing                 benefit≈0.41h  roi≈1.0
⚫ STILL-DEAD  formal property spec             benefit≈0.95h  roi≈0.8   residual 1.2h > benefit — not worth it here
⚫ STILL-DEAD  N-version                        benefit≈0.49h  roi≈0.4   residual 1.4h > benefit — not worth it here

Run B — SAME repo, HIGH-STAKES / regulated inputs (S=1, R=0.9, V=0.9, T=0.7, L=0.8)

The point of the model: the same project, different stakes → different answer.

🟢 REVIVED    decision records / doc-cascade   benefit≈3.44h  roi≈8.6
🟢 REVIVED    sentinel / authored navigation   benefit≈1.72h  roi≈5.7
🟢 REVIVED    acceptance/contract tests        benefit≈1.94h  roi≈3.9
🟢 REVIVED    perspective-based reading        benefit≈2.99h  roi≈3.7
🟢 REVIVED    layered boundaries + gate        benefit≈0.72h  roi≈2.4
🟢 REVIVED    mutation testing                 benefit≈0.82h  roi≈2.1
🟢 REVIVED    formal property spec             benefit≈2.32h  roi≈1.9   ← FLIPPED from STILL-DEAD

The headline behavior: formal property spec moves STILL-DEAD → REVIVED when stakes+regulation+ verifiability rise (κ up via S/R, the V-gate opens). That is the thesis made calculable and actionable: a practice dead on a low-stakes clean app revives on a high-stakes regulated one, and the tool says which and why, per project.

Honest status / what a v1 needs

  • Calibration: cov, c_res, c_AI, h0 are provisional. Real values come from outcomes (the chronicle ledger’s Δ-quality / hours-saved) — this is exactly the model-validation experiment.
  • Better detectors: wire Gabriel’s real detectors (pragmaworks-gobernanza\...\detectores.js — clone/config/symbol contradictions + the business-policy classifier) for λ instead of the v0 proxies; add config-contradiction detection (v0 uses a baseline).
  • The portfolio (v2): v0 is the per-practice filter (ranked independently). The covariance-aware submodular selection + PCA redundancy diagnostic (per the model doc) is deliberately deferred until the filter is calibrated — don’t let the optimizer outrun the data.
  • Cross-language: v0’s layer/churn heuristics are JS/TS-leaning; generalize per-stack.