Unblock auto-release on handled duplicate-import dogfood errors

Merged
UN
4mo ago
+85-1

Outcome

Unblocks the 2026-07-10 daily Auto Release without weakening Sentry reliability enforcement. The package import dogfood intentionally exercises merge-strategy=fail twice; its handled, pre-write duplicate refusal is now classified as expected, while an isUnhandled=true twin with identical text remains blocking.

Changes

  • add a narrow handled CommandError classifier for duplicate-import refusals
  • add a TDD regression proving handled and unhandled twins are partitioned correctly
  • record the incident as pm-io4t with full files, test, result, live-ops, dependency, note, and learning evidence
  • regenerate CHANGELOG.md with latest pm-changelog 2026.7.8

Verification

  • pre-push Greptile review: confidence 5/5, no findings
  • focused regression: 49/49 passing
  • full repository coverage: 270 files, 5,506 tests
    • statements: 100% (34,380/34,380)
    • branches: 100% (24,588/24,588)
    • functions: 100% (6,882/6,882)
    • lines: 100% (33,039/33,039)
  • typecheck and contract snapshot: pass
  • ESLint, jscpd (0 clones), static quality/docstring gate, token budget: pass
  • docs/skills and changelog checks: pass
  • secret scan and production dependency audit: pass / no known vulnerabilities
  • live Sentry gate with production token: critical=0, high=0; PM-CLI-1X expected-handled
  • live telemetry gate: 0.25% finish error rate, 0 missing error-code rows
  • telemetry inline flush: queue drained to zero on disk

Incident lineage


Summary by cubic

Unblocks the 2026-07-10 auto-release by teaching the Sentry gate to treat the intentional, handled duplicate-import error from the package dogfood as expected. Unhandled errors with the same message remain blocking.

  • Bug Fixes
    • Classify handled CommandError for duplicate-import (merge-strategy "fail": bead ...) as expected in scripts/release/sentry-telemetry-gate.mjs.
    • Add regression test that ignores the handled event while still blocking the unhandled twin.
    • Update CHANGELOG.md with pm-changelog 2026.7.8 and record incident pm-io4t.