meta-260704T0933Z-local-fallow-gate-cannot-fully-self-verify-and-the-file-inde
Category: loop-anti-pattern
Severity: warning
Affected system: meta-state-tools
Status: active (acked 2026-07-04)
Description
Local fallow gate cannot fully self-verify, and the file-index grounding mechanism makes the gap hard to debug — a debuggability trap observed 2026-07-04 while fixing PR #33 fallow gate failures. (1) Coverage-matching artifact: fallow locally fails to match coverage for some functions (buildInverseIndexes, buildRegistrySummary, relationships/sweep handlers all reported crap: ? despite 100% statement coverage in coverage-final.json), flagging baselined findings as introduced: true and yielding verdict=fail locally even when CI will pass. The only definitive pass/fail signal is reasoning about the original CI run's annotated issues — local pnpm fallow:gate is not a reliable pre-push check for complexity findings. (2) Cascading file-index desync: editing a source file changes its SHA-256, desyncing file-index.jsonl, which fails the cold-tier grounding regression test (cold-tier-regression.test.js checks hash_mismatch), which produces incomplete coverage, which makes fallow flag MORE functions as introduced — each piemealed edit during a fix loop requires a meta_state_refresh_file_index call before re-running tests or the coverage/fallow signal degrades. Root cause is the coupling between source-hash grounding (correct invariant) and coverage-dependent fallow verdicts (sensitive to test-suite completeness). Workaround used this session: refresh_file_index after every source edit, regenerate coverage with a fully-passing suite, and cross-check introduced findings' crap/coverage_pct fields (absent = unmatched = local artifact, not a real CI regression). Suggested fix: document the local-verification caveat in the fallow:gate script output or a CONTRIBUTING note, and consider a gate:self-verify wrapper that refreshes touched-file fingerprints + regenerates coverage before invoking fallow, warning when introduced findings lack coverage matches.
Outcome
A reproducible local pre-push gate (pnpm gate:self-verify) that refreshes touched-file fingerprints and regenerates coverage before invoking fallow, warning when introduced findings lack coverage matches.
Implementation
- Branch:
fix/issue-34-local-fallow-self-verify
- Plan:
plans/260704-0933-issue-34-fallow-self-verify/plan.md
- Mode: official
- Route: bugfix
- PR: TBD
Acceptance Criteria
Pipeline State
Citation: local:meta-state:meta-260704T0933Z-local-fallow-gate-cannot-fully-self-verify-and-the-file-inde (loop-citable; for humans, use the issue tracker URL).
meta-260704T0933Z-local-fallow-gate-cannot-fully-self-verify-and-the-file-inde
Category:
loop-anti-patternSeverity:
warningAffected system:
meta-state-toolsStatus:
active(acked 2026-07-04)Description
Local fallow gate cannot fully self-verify, and the file-index grounding mechanism makes the gap hard to debug — a debuggability trap observed 2026-07-04 while fixing PR #33 fallow gate failures. (1) Coverage-matching artifact: fallow locally fails to match coverage for some functions (buildInverseIndexes, buildRegistrySummary, relationships/sweep handlers all reported
crap: ?despite 100% statement coverage in coverage-final.json), flagging baselined findings asintroduced: trueand yielding verdict=fail locally even when CI will pass. The only definitive pass/fail signal is reasoning about the original CI run's annotated issues — localpnpm fallow:gateis not a reliable pre-push check for complexity findings. (2) Cascading file-index desync: editing a source file changes its SHA-256, desyncing file-index.jsonl, which fails the cold-tier grounding regression test (cold-tier-regression.test.js checks hash_mismatch), which produces incomplete coverage, which makes fallow flag MORE functions as introduced — each piemealed edit during a fix loop requires a meta_state_refresh_file_index call before re-running tests or the coverage/fallow signal degrades. Root cause is the coupling between source-hash grounding (correct invariant) and coverage-dependent fallow verdicts (sensitive to test-suite completeness). Workaround used this session: refresh_file_index after every source edit, regenerate coverage with a fully-passing suite, and cross-check introduced findings'crap/coverage_pctfields (absent = unmatched = local artifact, not a real CI regression). Suggested fix: document the local-verification caveat in the fallow:gate script output or a CONTRIBUTING note, and consider agate:self-verifywrapper that refreshes touched-file fingerprints + regenerates coverage before invoking fallow, warning when introduced findings lack coverage matches.Outcome
A reproducible local pre-push gate (
pnpm gate:self-verify) that refreshes touched-file fingerprints and regenerates coverage before invoking fallow, warning when introduced findings lack coverage matches.Implementation
fix/issue-34-local-fallow-self-verifyplans/260704-0933-issue-34-fallow-self-verify/plan.mdAcceptance Criteria
pnpm gate:self-verifyscript exists inpackage.jsonpnpm fallow:gatePipeline State
in progressbefore implementationCitation:
local:meta-state:meta-260704T0933Z-local-fallow-gate-cannot-fully-self-verify-and-the-file-inde(loop-citable; for humans, use the issue tracker URL).