← all branches

fix/bat272

safe
6477b55 · fullpre-PRreviewed 2026-07-17 17:30 UTC0H · 0M · 0L · 1I
The branch
Purpose
Stop CFE collector from silently swallowing a transient Mi Espacio registration/discovery failure as a successful zero-bill collection (BAT-272).
Goal
Throw RecoverableCollectionFailure on 0-collected+0-cached Mi Espacio failure so SFN retries; grade finalize outcome as failed/partial_success instead of completed; fix strategy label when Mi Espacio was attempted but failed.
Sub-goals
  • SG-1: Capture Mi Espacio recoverable-failure signal on CollectorOutput (additive discriminator)
  • SG-2: Fix retry guards — throw RecoverableCollectionFailure with correct Error.name when 0 new + 0 cached
  • SG-3: Rework strategy label — distinguish discovery-failed from deliberate gobierno_only
  • SG-4: Finalize grading — recoverable-failed run surfaces failure entry so decideFinalizeJob grades partial_success/failed
  • SG-5: Preview e2e validation
  • SG-N: Framework learnings → cfe-pipeline.md
The changes (whole branch)
What
Branch provisioning — .branch/scope.md updated with BAT-272 fix scope, .branch/intent.md cleared from previous branch content.
Why
Fresh branch cut to fix CFE collector silent-success bug; provisioning commit sets scope and intent documents.
Areas
.branch+48314
Blast
2 planning files only (+48/−314); no production code changed in this commit.
CI· no CI checks on provisioning commitCodeRabbit· no .coderabbit.yaml

Findings · 1

tests1

info

Tests planned but not yet written — provisioning commit only

.branch/scope.md:1

Scope.md plans collector.*.test.ts + cfe-job.decisions.test.ts covering repro shape, empty-account, and partial-success cases. Will be evaluated when implementation lands.