Skip to content

Patch 1.0.10#140

Open
hanatyan128 wants to merge 61 commits into
masterfrom
dev
Open

Patch 1.0.10#140
hanatyan128 wants to merge 61 commits into
masterfrom
dev

Conversation

@hanatyan128 hanatyan128 self-assigned this Apr 12, 2026
@hanatyan128 hanatyan128 added this to the 1.1.0 milestone Apr 12, 2026
hanatyan128 and others added 27 commits April 13, 2026 04:50
Move agent definitions to .claude/agents/ as standalone custom agents
and slim CLAUDE.md to reference them. Add lua-sensei for OBS Lua Script,
and tighten review-rounds exclusion rule to require 2+ past rejections.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Move review-rounds, parallel-review, review-respond, review-resolve
from .claude/commands/ to .claude/skills/{name}/SKILL.md.

Also restructure review workflow to respect subagent nesting
prohibition: the orchestrator now launches reviewers and performs
fixes directly, delegating only triage and verification to
subagents. Report format switches from tables to sections for
richer finding descriptions.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Restructure Step 2 to split triage from fixes: a dedicated subagent
handles triage and review document editing in a separate context,
then per-finding fixes are delegated to specialist subagents.
Remove cross-round deduplication to avoid bias, enforce a strict
max-rounds stop, and clarify role separation between orchestrator
and subagents.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
List explicit categories that justify marking a finding as Won't Fix
(out-of-scope diffs, pre-existing bugs, technically incorrect findings,
purpose-compatible behavior, preference-only refactors), and require
flagging Critical/Major cases for a follow-up PR.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Step 2.6 now only performs the max-rounds check. Move the
--confirm-round user gate to the end of Step 2.5 where the
unresolved count is naturally known, and note that the
round-exit decision by absence of Will Fix findings is already
handled in Step 2.2.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- review-rounds: Rephrase Step 2.6 as positive conditions to
  proceed to the next round (max-rounds not reached AND at least
  one fix applied).
- parallel-review: Emit empty severity sections with a "No findings"
  body instead of omitting them.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…workflow

Eliminate cross-skill duplication so each concept (reviewer roster, fix
prompts, triage rules, status format) has a single source of truth.
Replace [Action Required]/[No Action Needed] action lines with append-only
Status lines (Will Fix → Fixed, Won't Fix), and let review-rounds reuse
the parallel-review and review-respond leader roles via overrides instead
of inlining their bodies.
…viewers

Reviewers no longer rerun git diff/log/show themselves. The leader fetches
the diff in Step 1 and embeds it in each reviewer prompt (or saves it to
an OS temp file when it exceeds 1,000 lines, with the path passed
instead). A new Step 4 cleans up the temp file after report integration.
Specialist subagents now estimate fix cost and decide Maintain /
Downgrade / Alternative for each Will Fix to gate diffusion-prone
fixes. Judgment lines are split into Triage / Estimate / Status
prefixes with emoji markers.
hanatyan128 added 30 commits May 5, 2026 18:59
Step 1 returns by_assignee instead of writing findings.json; Step 2 launches
one Sub per specialist that batch-verifies its assigned ids. review-rounds
SKILL and the sequencer program are updated to match.

Also trim redundant preambles and chat-context-dependent wording from the
review-resolve SKILL and sequencer prompts per .claude/rules/prompt.md.
…nts by assignee

- Merge the parsing sub-agent into the triage sub-agent (drop findings.json).
- Group estimate and fix sub-agents by assignee for parallel batched processing.
- Add a Sub-Agent Prompt Completeness directive to prevent prompt omission.
- Renumber steps (1-7 -> 1-6) and propagate to review-rounds and review_rounds.py.
…ate_id verification

- Move launch prompts for parallel-review / review-respond / review-resolve / review-rounds sub-agents into templates/*.md, each carrying a frontmatter template_id UUID
- Have leaders pass only the template path + variables + round-specific overrides; require sub-agents to return template_id and verify against the per-step UUID
- Strengthen Read directive (Read template before any other action) to suppress prompt compression on parallel launches
- Specify subagent_type=general-purpose for review-respond triage
- Consolidate launch-prompt-completeness rules into rules/sub-agent.md
- Align review_rounds.py final-report instruction with the same pattern; renumber Step labels to match the SKILL (2.1-2.5 / Step 3)
…alyze/format-build sub-agents through it

- Add .claude/agents/review-helper.md with model: sonnet and a narrow allowed-tools list (no broad pwsh:*; only pwsh ./build.ps1:* for the project build script)
- Replace all SKILL-side model="sonnet" specifications with subagent_type="review-helper" launches in parallel-review / review-respond / review-resolve / review-rounds
- Update review-rounds § Sub-Agent Usage Rules so model selection is fully delegated to agent definitions; SKILLs no longer mention model="..."
- Align review_rounds.py _TPL_FINAL_REPORT with the new review-helper invocation form
…eview-rounds SKILLs

Build / format commands run inside review-helper Sub, not at the leader level. The wildcard pwsh permission allowed arbitrary 'pwsh -Command' execution from the leader, which is unnecessary and overly broad. The review-helper agent retains a narrow 'Bash(pwsh ./build.ps1:*)' for the project build script.
Mirrors four upstream changes:

- Specify build-invocation forms and accept Windows PowerShell in
  review-helper. Pin pwsh ./build.ps1 / powershell ./build.ps1 forms
  on Windows, mandate `>` redirection for log capture, and forbid
  `-Command` and `tee` / `Tee-Object`.
- Bundle the final-report compile prompt next to the sequencer .py
  (mirror of final-report-format.md), and exclude future-recommendation
  candidates whose same-location finding ended up Fixed in a later
  round.
- Pass previous-round doc paths to the triage sub-agent so findings
  matching prior-round Fixed / Won't Fix / Downgrade verdicts are
  treated as Won't Fix.
- Render future-recommendation findings as full-text subsections
  (one subsection per finding, full text quoted from the source review
  document) in place of the previous table.
Mirrors six upstream changes:

- Drop the PowerShell wrapper from build verification. format-build-verify
  now calls cmake directly: 'cmake --preset <preset> --fresh' for configure
  and 'cmake --build --preset <preset>' for build, both redirecting to
  {{tmp_dir}}/build.log. Compound commands and tee piping are forbidden.
  --fresh is mandatory to avoid stale CMakeCache.txt mismatches when
  switching presets or toolchains.
- Drop Bash(pwsh ./build.ps1:*) / Bash(powershell ./build.ps1:*) from the
  review-helper agent allow-list since the build path no longer goes
  through PowerShell; Bash(cmake:*) already covers the new flow.
- Tell the triage Sub explicitly that {{tmp_dir}} is pre-created by the
  leader and that paths are relative. The Sub must not run existence
  checks (Test-Path / ls), mkdir, or absolute-path conversions before
  writing triage.json.
- Inline the verification logic into review-resolve/templates/verify.md so
  the verify Sub has the comment.md / document.md discipline checks
  in-prompt rather than referencing SKILL.md. The duplicated section is
  removed from SKILL.md.
- Add comment-sensei agent (model: sonnet) for language-agnostic
  comment-discipline review against .claude/rules/comment.md and FIXME /
  TODO usage. Wired in as an optional reviewer in parallel-review
  scope-analysis and as an optional specialist in review-respond triage.
The _skip suffix in analyze.md and verify.md had inverted semantics. In review-respond's triage.md, _skip stages (wontfix_skip / downgrade_skip / fixed_skip) are correctly skipped from triage. In review-resolve's analyze.md, the same names were applied even though verify.md treats those stages as the *primary* verification targets. The LLM, reading the same _skip suffix, occasionally interpreted them as "skip from output" semantics, dropping Status: 🟢 Fixed findings out of by_assignee with empty assignee.

by_stage was never actually used downstream: SKILL.md / verify.md / compile.md never reference stage names (compile categorizes by outcome; verify branches on the trailing field). by_assignee dispatch also doesn't use stage names.

Drop stage classification from analyze.md entirely and pin its responsibility to "determine assignee per finding". triage.md (review-respond) is left as-is since stage classification there is essential to its pending_triage / feedback branch logic.

- analyze.md: remove the 7-rule stage classification, drop by_stage from the return value, add explicit "include all findings in by_assignee regardless of METADATA marker state", and pin the final fallback to cpp-sensei when Reviewers is empty.
- SKILL.md: update the Step 1 return-value spec from {total, by_stage, by_assignee, template_id} to {total, by_assignee, template_id}.
Step 1 now requires a concrete file:line plan and the JSON output
carries it in a new fix_plan field, so cost / future / decision
reflect the actual planned edits.
…iew format rules

- review-respond/resolve compile sub-agents now write events.jsonl to
  {tmp_dir}/events.jsonl so the leader's bulk rm-tmp.sh cleans it up.
  Drop the now-unused events_path return value and launch variable.
- parallel-review adds --output option with a .claude/tmp default for
  {final_doc_path}, unifies the empty-document path variable to
  {final_doc_path}, and moves the format rules from SKILL.md into
  aggregator.md so the aggregator no longer reads SKILL.md.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant