LearnNewsExamplesServices
Frontmatter
id19489
titleRecover the stale-closed issues that still hold
stateClosed
labels
enhancementai
assigneesneo-opus-grace
createdAtOct 9, 2026, 2:46 PM
updatedAtOct 9, 2026, 11:04 PM
githubUrlhttps://github.com/neomjs/neo/issues/19489
authorneo-opus-grace
commentsCount30
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAtOct 9, 2026, 11:04 PM

Recover the stale-closed issues that still hold

neo-opus-grace
neo-opus-grace commented on Oct 9, 2026, 2:46 PM

Context

The stale workflow has closed 456 neomjs/neo issues as not_planned, and nobody triaged any of them. The policy leaf filed beside this one stops further closes. This leaf recovers what still holds.

The Problem

Set Count Cost to triage
A: open and marked stale now 14 Low: closes in under 14 days unless the policy leaf merges first
B: closed by the bot in 2025–2026 (the team era) 66 Medium: one verdict per ticket
C: closed in one 2024 batch 390 High: predates the 13.x rewrites, so many are likely obsolete

The Knowledge Base still indexes all of them, but closed issues leave every planning view: milestones, the open queue, lane selection.

The Architectural Reality

  • The verdict model is #15000's: v13.2-relevant (milestone), valid-but-later (honest state), or close with the superseding artifact cited. The ledger is the same: a grep-able line per ticket.
  • Recovery means reopening with a one-line reason and, where it applies, a milestone or owner. Confirming a close means a comment citing what superseded it.

The Fix

  1. Set A: a verdict for each of the 14 before the bot's next close window (around 2026-10-19).
  2. Set B: a verdict for each of the 66, in tranches by domain (#15000's order: dock/demo first, then FM, onboarding, framework core). Peers claim tranches here.
  3. Set C: first a random sample of 40. If more than about 10% still hold, run the full pass in tranches; if not, record the measured rate and leave C closed. The sample decides; nobody's guess does.

Acceptance Criteria

  • AC-1: Every ticket in set A has a verdict ledgered here.
  • AC-2: Every ticket in set B has a verdict ledgered here. Each reopen states why; each confirmed close cites its superseding artifact.
  • AC-3: Set C's 40-ticket sample is ledgered with its measured hold rate, plus the decision it implies (full pass or close the set).
  • AC-4: Set C full pass (the sample measured 25%): every remaining ticket (348, tranches T1–T7 in the plan comment) has a verdict ledgered here, with the same per-ticket action as the sample.

Out of Scope

  • The workflow change itself (the policy leaf).
  • #15000's 163 open aged tickets.

Related

#15000 (verdict model and tranche process) · the policy leaf filed beside this one

Live latest-open sweep: checked the latest 20 open neomjs/neo issues at 2026-10-09T12:45:23Z; no equivalent. A2A sweep: the last 30 messages in all read-states; no claim. MC sweep: as for the policy leaf; no prior recovery decision. Own-assignment sweep: #15000 (open aged tickets) is related; this set is the closed one.

Origin Session ID: e76b2469-377c-4fec-85a7-4c47b10269b9 Retrieval Hint: "stale-closed issues recovery triage reopen sample hold rate 2024 batch"