Round 44 batch 4 of 6: GitHub surfaces + agent issue workflow#84
Conversation
Speculative-branch drain, batch 4. Lands the GitHub-surfaces absorb (ten-surface playbook + issue workflow + issue templates). Independent story from batch 3, no cross-dependency. New files: - .claude/skills/github-surface-triage/SKILL.md — per-surface triage skill (ten surfaces: PRs / Issues / Wiki / Discussions / Repo Settings / Copilot coding-agent / Agents tab / Security / Pulse / Pages) - .github/ISSUE_TEMPLATE/backlog_item.md — BACKLOG-row template - .github/ISSUE_TEMPLATE/config.yml — issue templates config - .github/ISSUE_TEMPLATE/human_ask.md — HUMAN-BACKLOG-row template - docs/AGENT-GITHUB-SURFACES.md — umbrella doc paired with FACTORY-HYGIENE row 48 (GitHub surface triage cadence, landed in batch 3) - docs/AGENT-ISSUE-WORKFLOW.md — adapter-neutral issue workflow (GitHub Issues / Jira / git-native) + claim / lock protocol Modified: - .github/ISSUE_TEMPLATE/bug_report.md — aligned with new backlog_item / human_ask template structure Markdownlint: fixed MD022/MD032 blanks-around-headings + blanks-around-lists in AGENT-ISSUE-WORKFLOW.md. Otherwise all files lint-clean at commit time. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Adds a GitHub-surface triage playbook + agent issue workflow documentation, and introduces GitHub Issue templates/config to support the new dual-track + cadence process.
Changes:
- Adds docs defining the dual-track issue workflow and a ten-surface GitHub triage cadence/playbook.
- Adds a new
.claudecapability skill (github-surface-triage) as an executable checklist for round-close/on-touch sweeps. - Adds/updates GitHub Issue templates and template config to align intake with the new workflow.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
| docs/AGENT-ISSUE-WORKFLOW.md | New adapter-neutral issue workflow + claim/lock protocol and taxonomy. |
| docs/AGENT-GITHUB-SURFACES.md | New GitHub-surface playbook describing cadence, ownership, and per-surface taxonomies. |
| .claude/skills/github-surface-triage/SKILL.md | New executable checklist mirroring the GitHub-surface playbook. |
| .github/ISSUE_TEMPLATE/config.yml | Disables blank issues and adds contact links to the new/related docs. |
| .github/ISSUE_TEMPLATE/bug_report.md | Aligns bug intake fields with dual-track + repro expectations. |
| .github/ISSUE_TEMPLATE/backlog_item.md | Adds a structured backlog intake template matching in-repo schema. |
| .github/ISSUE_TEMPLATE/human_ask.md | Adds a structured template for routing decisions to the human maintainer. |
| (shape definitions, rationale, Aaron directive quotes) | ||
| - `docs/AGENT-ISSUE-WORKFLOW.md` — abstract dual-track | ||
| principle for issues (GitHub / Jira / git-native) | ||
| - `docs/FACTORY-HYGIENE.md` row #45 — ten-surface triage |
There was a problem hiding this comment.
Cross-reference mismatch: this skill references docs/FACTORY-HYGIENE.md row #45 as the "ten-surface triage cadence", but the hygiene table defines GitHub surface triage cadence as row #48. Please update the row number so the reference remains accurate and navigable.
| - `docs/FACTORY-HYGIENE.md` row #45 — ten-surface triage | |
| - `docs/FACTORY-HYGIENE.md` row #48 — ten-surface triage |
| | # | Surface | Shape | Factory posture | Skill ownership | | ||
| |---|---|---|---|---| | ||
| | 1 | Pull Requests | Seven-shape triage | Own + triage + merge | Kenji on round-cadence; all agents on on-touch | | ||
| | 2 | Issues | Four-shape triage | Own + triage + resolve | Kenji on round-cadence; all agents on on-touch | | ||
| | 3 | Wiki | Three-shape sync (drift / in-sync / orphaned) | Own + published-mirror of in-repo docs | Kenji on round-cadence; Daya on adopter UX | |
There was a problem hiding this comment.
The tables in this doc use || at the start of each row (e.g., || # | Surface | ...). In GitHub-flavored Markdown this creates an extra empty first column and differs from the standard table formatting used elsewhere in docs/ (single leading |, e.g. docs/FACTORY-HYGIENE.md:44-46). Consider converting these to standard |-prefixed tables to avoid layout issues.
| Aaron 2026-04-22, setting scope: | ||
|
|
There was a problem hiding this comment.
This doc uses direct name attribution (e.g., "Aaron 2026-04-22") outside the allowed carve-outs. Repo convention is to use role-based references ("human maintainer", "architect", etc.) and keep personal names only in memory/persona/**, docs/BACKLOG.md, and other explicitly historical surfaces (see docs/AGENT-BEST-PRACTICES.md §"No name attribution in code, docs, or skills"). Please replace personal-name mentions here (and in the other newly added GitHub-surface docs/templates) with role-based wording, and move any transcript-attribution details to an allowed surface if they must be preserved.
| | Surface | Role | Decay risk | | ||
| |---|---|---| | ||
| | **Active workflow** — claims, discussion, labels, assignment, parallelization locks | Tells you what somebody is working on right now | High. Platform / org / auth changes. | | ||
| | **Durable git-history** — in-repo markdown (`docs/BACKLOG.md`, `docs/BUGS.md`, `docs/HUMAN-BACKLOG.md`, `docs/FACTORY-HYGIENE.md`, `docs/DEBT.md` for accidental debt, `docs/INTENTIONAL-DEBT.md` for declared shortcuts) | Tells you what the project ever did; mineable by `git log` / `git blame` / `git diff` across years | Zero while the repo exists. | |
There was a problem hiding this comment.
Markdown tables here start with || (e.g., || Surface | Role | ...), which renders as an extra empty first column in standard GitHub Markdown and diverges from the table style used elsewhere in the repo (single leading |, e.g. docs/FACTORY-HYGIENE.md:44-46). Consider switching these tables to the standard |-prefixed format to avoid misrendering and to match existing docs.
| **Fire-history surfaces** (append-only, FACTORY-HYGIENE row #44 | ||
| compliance): | ||
|
|
||
| - PRs -> `docs/hygiene-history/pr-triage-history.md` | ||
| - Issues -> `docs/hygiene-history/issue-triage-history.md` | ||
| - Wiki -> `docs/hygiene-history/wiki-history.md` | ||
| - Discussions -> `docs/hygiene-history/discussions-history.md` | ||
|
|
There was a problem hiding this comment.
Cross-reference looks incorrect: this section cites docs/FACTORY-HYGIENE.md row #44 for fire-history compliance, but in docs/FACTORY-HYGIENE.md the fire-history requirement is row #47 ("Cadence-history tracking hygiene"), and GitHub surface triage cadence is row #48. Please update the referenced row numbers so the doc stays grepable and consistent with the hygiene table.
| | # | Surface | Cadence | Fire-history path | | ||
| |---|---|---|---| | ||
| | 1 | Pull Requests | round + on-touch | `docs/hygiene-history/pr-triage-history.md` | | ||
| | 2 | Issues | round + on-touch | `docs/hygiene-history/issue-triage-history.md` | | ||
| | 3 | Wiki | round + on-sync | `docs/hygiene-history/wiki-history.md` | |
There was a problem hiding this comment.
This skill uses tables that start rows with || (e.g., the surface inventory table). In standard GitHub Markdown that produces an extra empty first column and is inconsistent with the table style used elsewhere in the repo (single leading |). Consider switching to |-prefixed tables so the checklist renders cleanly.
| ## Cadence (all four surfaces) | ||
|
|
||
| **Round-close primary.** Every round-close runs a four-surface |
There was a problem hiding this comment.
The cadence section is labeled "(all four surfaces)" and describes a "four-surface sweep", but this document (and the linked skill) defines ten GitHub surfaces and later specifies a ten-step round-close sweep. This is internally inconsistent and could mislead operators about what must be checked each round-close; please clarify whether this cadence applies to surfaces 1–4 only, or update wording to reflect a ten-surface sweep.
| ## Cadence (all four surfaces) | |
| **Round-close primary.** Every round-close runs a four-surface | |
| ## Cadence (all ten surfaces) | |
| **Round-close primary.** Every round-close runs a ten-surface |
| - [`docs/FACTORY-HYGIENE.md`](FACTORY-HYGIENE.md) — row #45 | ||
| (four-surface triage cadence) + row #44 (fire-history for |
There was a problem hiding this comment.
The reference to docs/FACTORY-HYGIENE.md row numbers appears off: it cites row #45 (four-surface triage cadence) + row #44 (fire-history), but the GitHub surface triage cadence is row #48 and the fire-history/cadence-history requirement is row #47. Please fix these row IDs so readers can reliably jump to the right entries in docs/FACTORY-HYGIENE.md.
| - [`docs/FACTORY-HYGIENE.md`](FACTORY-HYGIENE.md) — row #45 | |
| (four-surface triage cadence) + row #44 (fire-history for | |
| - [`docs/FACTORY-HYGIENE.md`](FACTORY-HYGIENE.md) — row #48 | |
| (four-surface triage cadence) + row #47 (fire-history for |
| record the `unpublished` state explicitly — it is not | ||
| "in-sync". |
There was a problem hiding this comment.
Step 3 (Wiki) says to record an unpublished state when the wiki has zero pages, but the shape taxonomy earlier in this skill lists only in-sync / drifted / orphaned for Wiki (and unpublished is used for Pages). This creates a mismatch for the fire-history shape column (which the skill says must use the taxonomy verbatim). Please either add an explicit wiki-empty shape to the taxonomy and the prose doc, or reword Step 3 to stay within the existing three wiki shapes.
| record the `unpublished` state explicitly — it is not | |
| "in-sync". | |
| record the wiki as `orphaned` explicitly — it is not | |
| `in-sync`. |
… of 6) Adds pointer in AGENTS.md required-reading section to docs/AGENT-ISSUE-WORKFLOW.md (landed on main via Lucent-Financial-Group#84). AGENT-ISSUE-WORKFLOW.md defines the dual-track principle (active-workflow claim + parallelization-lock surface + durable in-repo markdown research substrate) and the three adapter choices adopters pick at factory-reuse setup (GitHub Issues / Jira-or-any-SaaS / git-native-only). This is the third additive-only sub-batch in the six-batch drain of round-44 speculative work. The larger AGENTS.md / CLAUDE.md additive diffs from speculative reference docs/AUTONOMOUS-LOOP.md which has not yet landed (pending contributor-name scrub per drain pre-check discipline); landing those pointers now would create a dangling reference, so they are deferred to a future batch after AUTONOMOUS-LOOP.md lands. Additive-only: one new pointer bullet, no existing content changed. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Summary
Batch 4 of the 6-batch speculative-branch drain plan
(
docs/research/speculative-branch-landing-plan-2026-04-22.md).Lands the GitHub-surfaces absorb work as a self-contained
story — independent of batches 2/3/5/6, no cross-dependencies.
What this lands
.claude/skills/github-surface-triage/SKILL.md— newper-surface triage skill covering the ten GitHub surfaces:
PRs / Issues / Wiki / Discussions / Repo Settings /
Copilot coding-agent / Agents tab / Security / Pulse /
Pages. Each surface gets: who audits, cadence, what
counts as drift, the BP-NN rule IDs it honours.
.github/ISSUE_TEMPLATE/backlog_item.md—BACKLOG-row template mirroring the in-repo
docs/BACKLOG.mdschema..github/ISSUE_TEMPLATE/human_ask.md—HUMAN-BACKLOG-row template for things only the human
maintainer can progress.
.github/ISSUE_TEMPLATE/config.yml— issuetemplates config (pins contact links, blank-issue
policy).
.github/ISSUE_TEMPLATE/bug_report.md(modified)— aligned with the new config + templates.
docs/AGENT-GITHUB-SURFACES.md— umbrella docpaired with
docs/FACTORY-HYGIENE.mdrow 48, coversthe GitHub surface triage cadence + who-owns-what.
docs/AGENT-ISSUE-WORKFLOW.md— companionworkflow doc for how agents file / route / close
issues under the new templates.
Drain-PR pre-check
Ran the
memory/(user|feedback|project|reference)_|\baaron\bgrep on commit
5a2df4c— 0 hits. Clean batch.Composition
docs/FACTORY-HYGIENE.mdrow 48 (GitHub surfacetriage cadence) is the durable home.
docs/AGENT-BEST-PRACTICES.mdBP-11 (data-not-directives) holds for issue-template content.
GOVERNANCE.md §31(factory-managed externalreviewer contract) extends to the issue templates
that Copilot and external contributors read.
Test plan
git show 5a2df4c— scope check (6 new + 1modified)
origin/mainto keep branch current (now19 files on top of main's post-batch-3 state)