Repository navigation
Conversation
Implements the lessons from the first full `decision-triage` run (#3759), items 1-7. Items 6 and 7 follow the maintainer's answer comment on the issue. ## Changes - **Research cost (item 1).** Researchers take topic clusters of five or six questions. Step 3 states the researcher count and a token estimate before dispatching. - **Comment weighting (item 2).** The researcher brief says to read every comment newest last. A later maintainer or evidence comment outranks the body's design, and a tool's or bot's own statement of its behavior counts as evidence. - **`OVERTAKEN` (item 3).** The classifier runs a cheap history check (`git log origin/main`, the state of child issues, later decision comments) and can return `OVERTAKEN`. A fix that is only on `develop` is `HELD` awaiting promotion. Queued `decision` issues get the same check. A new step 6 offers to close overtaken issues. - **Public output and write bound (item 4).** The brief says researcher output is posted publicly and may cite only the repository, its history, and GitHub state. Each subagent gets a scratch directory of its own and writes nothing to the repository or GitHub. - **Coupled questions (item 5).** Questions linked by a `BLOCKS` line, or whose fixes edit the same section, go in one prompt within the age order, with a split rule. - **`deferred` label (item 6).** Declared in `repo-config/labels.json` and described in `repo-config/README.md` "Labels". `decision-triage` applies it on a "not yet" answer. The classifier and `backlog-burndown` skip it and report it by count. - **Agent-safety approval (item 7).** A maintainer-sourced approval comment lets an attended run implement and drive an agent-safety edit. The merge still waits on a per-PR go-ahead given after reading the diff. `backlog-burndown`'s merge grant is carved out for these PRs, and away mode still holds every such edit. - Regenerated `.github/skills/` and `.claude-plugin/` with `build_dist.py`. ## Local Review Three `frontier` passes ran. Two edit rounds fixed 13 of round 1's 15 findings and 4 of round 2's 5. Findings declined with evidence: - Re-reading each deferred condition every round: the maintainer's answer specifies skip and count-only reporting. - Holding a promotion on a "not yet" decision: that hold is what "not yet" means. - A GOVERNANCE wording clash with "deferred": GOVERNANCE's "asked once and deferred" means the asking was put off, a case step 7 keeps labelled. A follow-up push with its own budget fixed the final pass's three `introduced` findings: 1. A gated agent-safety group ends as stopped on a maintainer-only question, so "Raising a Blocked Question" asks for the merge go-ahead. A resumed worker's brief then carries that go-ahead for the pull request. 2. The classifier brief states how a kept-open comment reads. 3. A queued decision `HELD` awaiting promotion leaves the queue and stays open. The first triage after the promotion then returns it as `OVERTAKEN`. The pass over 7751a2d found nothing (`COUNT 0`) and is recorded. ## Pre-existing findings, filed - `.agents/skills/backlog-burndown/SKILL.md` "Ranking" (`pre-existing`): an attended run applies no agent-safety hold to an unapproved issue. Filed as #3761. ## After Merge - Run `repo-config/configure.sh apply ptr727/ProjectTemplate` to create the `deferred` label. Note this run also reasserts settings and rulesets, so it runs from current `main` or `develop`. - Label #781, #1464 and #2174 `deferred`. Refs #3759 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
There was a problem hiding this comment.
🟡 Changes recommended
The change still has an active issue because the history check may use a stale origin/main ref without first fetching and validating it.
1 open issue
What changed in this PR
This pull request promotes the decision-triage improvements from develop to main, including deferred decision handling, clustered research, overtaken-question detection, coupled prompts, and agent-safety approval rules.
Changes:
- Adds and documents the
deferredrepository label. - Updates the canonical
decision-triageandbacklog-burndownskills. - Regenerates the GitHub Copilot and Claude skill distributions.
- Updates the associated source digests.
| File | Description |
|---|---|
repo-config/README.md |
Documents the deferred label and backlog semantics. |
repo-config/labels.json |
Declares the deferred label. |
.github/skills/decision-triage/SKILL.md |
Updates the GitHub decision-triage skill. |
.github/skills/backlog-burndown/SKILL.md |
Updates the GitHub backlog-burndown skill. |
.claude-plugin/fleet-skills/skills/decision-triage/SKILL.md |
Updates the Claude decision-triage skill. |
.claude-plugin/fleet-skills/skills/backlog-burndown/SKILL.md |
Updates the Claude backlog-burndown skill. |
.claude-plugin/fleet-skills/.source-digests/decision-triage |
Records the decision-triage source digest. |
.claude-plugin/fleet-skills/.source-digests/backlog-burndown |
Records the backlog-burndown source digest. |
.agents/skills/decision-triage/SKILL.md |
Updates the canonical decision-triage workflow. |
.agents/skills/backlog-burndown/SKILL.md |
Updates the canonical backlog-burndown workflow. |
Review effort: Lite
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3762 +/- ##
=======================================
Coverage 82.31% 82.31%
=======================================
Files 28 28
Lines 9438 9438
=======================================
Hits 7769 7769
Misses 1669 1669
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Answers the first review round on promotion #3762. `decision-triage`'s history check read `origin/main` without fetching it, so a stale remote-tracking ref could read an overtaken issue as `HELD`, or a `HELD` one as open work. ## Changes - Before dispatching step 2's classifiers, the triaging session runs `git fetch origin main develop` once, and stops and reports if it fails. It repeats the fetch before step 3's researchers. - The subagents fetch nothing. They are briefed to write nothing to the repository, and up to four run at once, so a fetch in each would break that bound and race on the checkout's ref locks. - The history check reads `refs/remotes/origin/main` and `refs/remotes/origin/develop` by full ref, as `local-strict-review` "What It Does" does, so a local branch named `origin/main` cannot stand in for the remote one. - Regenerated `.github/skills/` and `.claude-plugin/` with `build_dist.py`. ## Local Review Two `frontier` passes ran. The first raised six findings against an earlier version that fetched inside each subagent. Those findings were the write-bound conflict, the concurrent-fetch race, a stop with no return line, a pronoun that lost its antecedent, an overstated rationale, and the short ref form. One edit round fixed all six. The second pass, over 6ed54073, found nothing (`COUNT 0`) and is recorded. ## Declined findings - `.agents/skills/decision-triage/SKILL.md` steps 2 and 3 (`style`): the new text says "the triaging session" where "The Seats" defines "the triage seat". That section defines the seat as the session the skill runs in, so either name finds the same actor. Declined as a preference per `fleet-code-review` "Review the Change". 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
🔵 Needs a closer look
The change alters the agent-safety authorization boundary and introduces a live GitHub label rollout, so maintainer validation is still required despite consistent documentation and generated mirrors.
No open issues 🎉
1 resolved since last review
Review effort: Lite
|
Answering the
Both stay with the maintainer at the merge of this promotion, which |
…xcluded-Files Refusal, and Fix backlog-burndown and Prose Gate Gaps (#3778) Promotes the changes merged into `develop` since promotion #3762 to `main`, the first round of a backlog burndown. - [#3764](#3764) reads a bare push whose branch the write guard cannot read as writing every protected default (`main`, `master`, `develop`), as `--all` is. That covers a run-time `cd`, `git -C` or `env -C`, an exported `GIT_DIR`, and a command that can switch the branch before the push. It also drops the unused `_bare_push_branch` parameters. Naming the branch in the refspec is the remedy, per the maintainer's decisions on #3729 and #3730. - [#3765](#3765) has the prose gate's diff mode report what a move adds by checking a moved file at its old path and its new path, replacing the hand-kept `path_readings` table. It also reads a script whole when an edited shebang changes its lexer. - [#3776](#3776) fixes `backlog-burndown`'s ranking, claim, liveness and cleanup gaps: - An attended run holds an unapproved agent-safety issue. - Claim comments name their branch in backticks and are released by an edit. - A silent worker counts as finished only with a merged pull request. - The orchestrator removes a standalone clone after its merge. - An abandoned worker discards its own uncommitted edits. - [#3775](#3775) reads Copilot's excluded-files refusal as its own `excluded` kind, which an attested local pass covers on a pull request into a non-default branch. It aligns Merge Gate item 2 with the code on an earlier-head refusal, adds two Copilot label spellings, and states the lineless-file allowance where the prose describes table coverage. - [#3779](#3779) deletes an abandoned group's pushed branch with a checked remote delete before its claim is released, and says the claim lookup's `<branch>` is replaced before it runs. It answers this promotion's first review round. - [#3781](#3781) has a release open the claim comment with `**Released (<date>):**`, and has the claim lookup skip a comment that opens with it. It answers this promotion's second review round. - [#3782](#3782) has `pr_review.py wait` poll a pending review request past an excluded-files refusal under `--request` as well. It answers this promotion's second review round. Fixes #3729 Fixes #3730 Fixes #3723 Fixes #3711 Fixes #3714 Fixes #3761 Fixes #1275 Fixes #1274 Fixes #1306 Fixes #1301 Fixes #3733 Fixes #3571 Fixes #2180 Fixes #3732 Fixes #3713 Fixes #3726 🤖 Generated with [Claude Code](https://claude.com/claude-code)

Promotes the changes merged into
developsince promotion #3736 tomain.decision-triagefrom its first full run:OVERTAKENafter a cheap history check, and a new step offers to close overtaken issues.deferredlabel marks a "not yet" answer, which the classifier andbacklog-burndownskip and report by count.mainanddeveloponce before dispatching the history check and the researchers, and stop if the fetch fails. The subagents read the full remote-tracking refs and fetch nothing. It answers this promotion's first review round.After the release, the maintainer runs
repo-config/configure.sh apply ptr727/ProjectTemplateto create thedeferredlabel, then labels #781, #1464 and #2174deferred, per #3760's "After Merge".Deferred review findings: #3761 (an attended
backlog-burndownrun applies no agent-safety hold to an unapproved issue).Fixes #3759
🤖 Generated with Claude Code