Skip to content

(track-work): Guard managed issues and structured titles in retitles #591

Description

@evanharmon1

Problem

Two universal skills touch issue titles — track-work owns the (scope): imperative outcome title contract and check-issue-metadata.sh --title-only, and triage classifies the backlog — and neither tells an agent which issues it must NOT retitle or what in a title must survive a rewrite. A retitle pass driven by the contract alone therefore (a) rewrites issues whose title is load-bearing for some tool, and (b) flattens human structure in titles that the contract never asked it to remove.

Concrete classes that need a guard:

  • Tool-managed issues, found by the tool by title or by a body marker: Renovate's Dependency Dashboard (default dependencyDashboardTitle; rename it and Renovate opens a fresh dashboard) and Renovate's "Action Required: Fix Renovate Configuration" issue; the triage skill's own rolling report (the harmon-triage-report HTML marker comment, already excluded by triage but not by track-work's title contract); Dependabot-style and other bot-authored issues (author is a GitHub App / *[bot]); any issue carrying an HTML marker comment a workflow uses to upsert it.
  • Titles already passing the contract, which a pass should leave untouched rather than re-scope (observed: (docs-screenshots): … rewritten to (screenshots): …).
  • Titles carrying structure that conveys meaning — ordinal plan numbering (8.3 — …), role or ownership tags ([AGENT], [HUMAN+AGENT]), milestone prefixes — where a rewrite that drops them loses information the contract does not otherwise preserve. The contract forbids nested prefixes, so these need an explicit disposition: carry into the scope, carry into the body, or refuse to auto-retitle and hand to a human.
  • Semantic inversions under compression (observed: "Analytics consent posture (implemented, no banner)" became "Define consent posture and banner").

Current violation (observed 2026-08-23)

A six-repo title-audit pass run by Codex workers against the ponderousdev repos, using check-issue-metadata.sh --title-only as the only guard, renamed the Renovate Dependency Dashboard in ponderousdev/omator (#1) and ponderousdev/lawnomator-site (#5) (both reverted by hand), rewrote already-conforming (docs-screenshots) titles in omator (#364, #365), stripped plan numbering and [AGENT]/[HUMAN+AGENT] tags from roughly forty ponderousdev/foreman titles, and inverted the meaning of omator #200. The ponderousdev/foreman worker independently left Dependency Dashboard (#44) alone, which shows the rule is learnable but currently lives nowhere.

Acceptance criteria

  • [CI] check-issue-metadata.sh --title-only (or a sibling predicate in issue-title-support) gains a mechanical "managed title" refusal: the exact Renovate default Dependency Dashboard, Renovate's configuration-warning title, and any title whose issue body carries a recognised management marker (at minimum the harmon-triage-report marker comment) are reported as not-retitleable, with a test per case.
  • [CI] The triage scan marks tool-managed issues (bot/App author, known managed titles, management markers) with a managed flag so any consumer of scan.json can skip them, with a fixture covering a Renovate-authored dashboard.
  • [HUMAN] track-work SKILL.md documents a retitle procedure: skip managed issues; never rewrite a title that already passes the contract; when a title carries ordinal numbering, role tags, or other structured prefixes, either carry the information into the scope or body or refuse to auto-retitle and list the issue for a human; and require a meaning-preservation check (no dropped negations or qualifiers) before applying.
  • [HUMAN] The guidance names the current known list of tool-managed issue kinds and where each tool looks (title vs marker), so consumers can extend it, and triage SKILL.md cross-references the same list.

Verify

grep -n "Dependency Dashboard" ai/skills/universal/track-work/SKILL.md ai/skills/universal/triage/SKILL.md returns the guard text; running the title predicate with --title 'Dependency Dashboard' exits non-zero with a managed-title message; the triage scan against a repo whose dashboard exists emits managed: true for it.

Out of scope

Changing the title contract grammar itself, retitling existing issues, or reverting the foreman retitles (handled separately by the maintainer).

Provenance

Found while running the Herdr cross-harness dry-run tracked in evanharmon1/harmon-init#1041 — moved here because this repo owns the track-work and triage skills.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ai-generatedCreated or authored by an AI agentarea:track-workThe track-work skill: issue authoring standards and PR/commit linkage; claims are session-flowdomain:project-trackingIssues, labels, boards, and PM assets: track-work, triage, the label registryfeatureNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions