You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
Problem
Two universal skills touch issue titles —
track-workowns the(scope): imperative outcometitle contract andcheck-issue-metadata.sh --title-only, andtriageclassifies 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:
Dependency Dashboard(defaultdependencyDashboardTitle; rename it and Renovate opens a fresh dashboard) and Renovate's "Action Required: Fix Renovate Configuration" issue; the triage skill's own rolling report (theharmon-triage-reportHTML 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.(docs-screenshots): …rewritten to(screenshots): …).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.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-onlyas 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 leftDependency Dashboard(#44) alone, which shows the rule is learnable but currently lives nowhere.Acceptance criteria
check-issue-metadata.sh --title-only(or a sibling predicate inissue-title-support) gains a mechanical "managed title" refusal: the exact Renovate defaultDependency Dashboard, Renovate's configuration-warning title, and any title whose issue body carries a recognised management marker (at minimum theharmon-triage-reportmarker comment) are reported as not-retitleable, with a test per case.managedflag so any consumer ofscan.jsoncan skip them, with a fixture covering a Renovate-authored dashboard.track-workSKILL.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.Verify
grep -n "Dependency Dashboard" ai/skills/universal/track-work/SKILL.md ai/skills/universal/triage/SKILL.mdreturns 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 emitsmanaged: truefor 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-workandtriageskills.