Skip to content

refactor(v3): retire override audit trail + capture loop, keep escalation#6

Merged
luiseiman merged 1 commit into
mainfrom
refactor/retire-override-audit-loop
Jun 4, 2026
Merged

refactor(v3): retire override audit trail + capture loop, keep escalation#6
luiseiman merged 1 commit into
mainfrom
refactor/retire-override-audit-loop

Conversation

@luiseiman
Copy link
Copy Markdown
Owner

Primera cesión concreta del principio native-first (paso #1 del plan → ejecución). -562 líneas netas.

Por qué

Scan de los 12 proyectos: 0 overrides en ~7 semanas (production incluido; solo 4/12 adoptaron behaviors). El override auditable —el diferencial v3-vs-hookify— no tiene uso empírico, y el capture loop de v4 procesaba un log siempre vacío. Es peso muerto.

Qué se RETIRA

  • scripts/process-override-log.sh + tests/test-process-override-log.sh
  • session-start-process-overrides.sh (template + .claude)
  • .forge/audit/overrides.log (git-tracked)
  • lib.sh: forge_override_append, FORGE_AUDIT_LOG, append al log en try_override
  • wiring de SessionStart en settings.json + template/settings.json.tmpl
  • audit Dimensión B item B3 (override loop) → B pasa a 4 items, forge_adoption 0-4

Qué se MANTIENE (el delta real vs hookify)

  • forge_pending_block_try_override — override-via-reinvocación (registro en state.json efímero)
  • escalación soft_block completa (silent→nudge→warning→soft_block→hard_block)

Coordinación

Ambos motores de scoring actualizados en lockstep (score.sh + audit_all.py), más checklist/scoring/SKILL/registry/CLAUDE.md/README/usage-guide/guia-uso. 19 tests verdes. Histórico (changelog, docs/v3, docs/v4/SPEC) intacto.

🤖 Generated with Claude Code

…tion

Step #1 validation found 0 overrides across all 12 projects in ~7 weeks
(production included; only 4/12 adopted behaviors). The auditable override
trail — the v3-vs-hookify differential — has no empirical use, and the v4
capture loop processed an always-empty log. Retired as dead weight. The
graduated escalation engine stays: it is exercised and the happy path is
"verify", not "override".

Removed:
- scripts/process-override-log.sh, tests/test-process-override-log.sh
- template/hooks + .claude/hooks session-start-process-overrides.sh
- .forge/audit/overrides.log (git-tracked)
- lib.sh: forge_override_append, FORGE_AUDIT_LOG, audit-log append in try_override
- SessionStart wiring in settings.json + template/settings.json.tmpl
- audit Dimension B item B3 (override loop); B now 4 items (forge_adoption 0-4)

Kept:
- forge_pending_block_try_override (override-via-reinvocation, state.json only)
- full soft_block escalation

Updated both scoring engines (score.sh + audit_all.py), checklist/scoring/SKILL,
registry, CLAUDE.md, README, usage-guide, guia-uso. 19 tests green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 4, 2026

🟢 dotforge Native Health: 9/10 (Excelente)

dotforge Adoption: 3/5 (Most) — informational, does not affect Native Health

Obligatorio 9/10 Recomendado 9/10

Dimension A — Native Health

# Item Score Note
1 claude_md ✅ 2 Complete (stack:1 build:0 arch:1 conventions:1)
2 settings_json ✅ 2 Deny list covers .env/key/pem/credentials
3 rules ✅ 2 5 rules, all with globs:
4 block_destructive ✅ 2 Executable, wired, covers rm/DROP/force
5 build_test ⚠️ 1 Commands present but no build/test pattern detected
6 gitignore ⚠️ 1 Covers secrets (6/4 patterns)
7 injection ⚠️ 1 Clean (6 files scanned)
8 auto_mode ⚠️ 1 defaultMode not set — auto mode not enabled (pass)
9 sandboxing ❌ 0 Project handles secrets (cloud/API refs in scripts or docs) but sandbox.enabled is not true
10 lint_hook ⚠️ 1 lint-on-save.sh present and executable
11 auto_memory ⚠️ 1 Memory present (error-log:2 agent-mem:18 memory.md-index:0)
12 permission_cascade ⚠️ 1 No local overrides needed (auto-pass)
13 attribution ⚠️ 1 Default co-author acceptable (auto-pass)
14 commands ⚠️ 1 4 custom command(s)
15 agents ⚠️ 1 Partial (agents:0 rule:1)

Dimension B — dotforge Adoption (informational)

# Item Score Note
B1 behaviors ✅ 1 5 compiled behavior hook(s) wired in settings.json
B2 workflows ✅ 1 1 workflow(s) with export const meta
B3 domain_rules ✅ 1 21 domain rule(s) (freshness checked semantically by /forge audit)
B4 sync_recency — 0 Sync recency indeterminate standalone — resolved by /forge audit via registry

Score computed by audit/score.sh — mechanical checks only. Run /forge audit for full semantic evaluation.

@luiseiman luiseiman merged commit 684678c into main Jun 4, 2026
2 checks passed
@luiseiman luiseiman deleted the refactor/retire-override-audit-loop branch June 4, 2026 12:43
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