Skip to content

Nothing closes a ctx.contested entry once set (gate-hygiene gap) #186

Description

@aaddrick

Context

Raised during code review on PR #185 (issue #167). No code path closes a ctx.contested entry once it's set. This was previously a design claim that got corrected during review to plainly document the gap instead:

  • contestedBlock comment (.claude/workflows/ticketmill.js:1892-1896)
  • docs/architecture/gate-hygiene.md:700-713

Both now state explicitly that nothing closes a contested entry, flagged as a known gap rather than claiming it's handled.

Ask

Decide whether a contested entry should ever be closed (and by what event — a subsequent clean pass? a settle? explicit override resolution?), then implement the closing transition, or explicitly document why leaving it open for the life of the issue is intentional and sufficient.

Related: ctx.contested is not part of the durable gate-state payload either (gate_budgets/settled only survive resume), so contested entries also don't survive a mid-issue resume — same as ctx.notes, pre-existing behavior, worth folding into the same investigation.

Ref: PR #185, issue #167.

Metadata

Metadata

Assignees

No one assigned

    Labels

    gate-hygieneGate hygiene: findings, caps, and per-problem budgets (sequenced)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions