@martinffx/atelier 3.0.1 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/README.md +19 -1
- package/dist/atelier.js +237 -44
- package/package.json +1 -1
- package/skills/atelier-orchestrator/SKILL.md +16 -3
- package/skills/atelier-setup/SKILL.md +43 -20
- package/skills/atelier-setup/references/domain.md +22 -0
- package/skills/atelier-setup/references/issue-tracker.md +35 -0
- package/skills/code-commit/SKILL.md +4 -3
- package/skills/code-pull-request/references/common.md +4 -4
- package/skills/code-pull-request/references/create-pr.md +15 -15
- package/skills/code-pull-request/references/merge-pr.md +3 -3
- package/skills/code-pull-request/references/read-comments.md +2 -2
- package/skills/code-review/SKILL.md +27 -8
- package/skills/code-review/references/output.md +52 -0
- package/skills/code-review/references/reviewers.md +113 -13
- package/skills/code-review/references/rq.md +195 -53
- package/skills/code-review/references/rs.md +41 -5
- package/skills/code-subagents/SKILL.md +4 -2
- package/skills/code-subagents/references/batch-reviewer-prompt.md +9 -0
- package/skills/code-subagents/references/implementor-prompt.md +7 -0
- package/skills/oracle-debug/SKILL.md +17 -10
- package/skills/oracle-debug/references/techniques.md +41 -137
- package/skills/oracle-domain-modelling/SKILL.md +5 -2
- package/skills/oracle-grill-me/SKILL.md +4 -1
- package/skills/spec-brainstorm/SKILL.md +34 -9
- package/skills/spec-finish/SKILL.md +40 -36
- package/skills/spec-implement/SKILL.md +38 -47
- package/skills/spec-plan/SKILL.md +64 -32
- package/skills/spec-plan/references/plan_template.md +15 -2
- package/skills/oracle-debug/references/language-tools.md +0 -139
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: atelier-setup
|
|
3
|
-
description: Configure a repository
|
|
3
|
+
description: Configure a repository for Atelier's development workflow. Use only when explicitly invoked; inspect existing guidance, issue-tracker and domain-document conventions, preview the proposed configuration, and write only after approval. It does not install Atelier or initialize external tooling.
|
|
4
4
|
user-invocable: true
|
|
5
|
+
disable-model-invocation: true
|
|
5
6
|
---
|
|
6
7
|
|
|
7
8
|
# Atelier Setup
|
|
8
9
|
|
|
9
|
-
Set up
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
Set up repository guidance that Atelier skills need without taking ownership of the developer's
|
|
11
|
+
installation, harness configuration, or project structure. Explore first, present every proposed
|
|
12
|
+
edit exactly, and write only after the developer approves it.
|
|
12
13
|
|
|
13
14
|
## 1. Explore
|
|
14
15
|
|
|
@@ -18,6 +19,9 @@ Read the repository before proposing any change:
|
|
|
18
19
|
heading.
|
|
19
20
|
- Root `CONTEXT.md` and `CONTEXT-MAP.md`.
|
|
20
21
|
- `docs/adr/` and any context-local `docs/adr/` directories.
|
|
22
|
+
- `docs/agents/`, including existing `issue-tracker.md` and `domain.md`.
|
|
23
|
+
- Existing issue-tracker conventions: remotes, issue links in documentation, local issue
|
|
24
|
+
directories, and project guidance.
|
|
21
25
|
- Genuine monorepo signals: a workspace manifest, or multiple independently deployable packages
|
|
22
26
|
with their own source directories.
|
|
23
27
|
|
|
@@ -33,9 +37,19 @@ Summarize what exists and recommend a domain-document layout:
|
|
|
33
37
|
contexts. `CONTEXT-MAP.md` belongs at the root and points to each context's `CONTEXT.md` and
|
|
34
38
|
`docs/adr/` directory.
|
|
35
39
|
|
|
36
|
-
Explain that
|
|
40
|
+
Explain that domain documents remain lazy: do not create `CONTEXT.md`, `CONTEXT-MAP.md`, or an ADR
|
|
37
41
|
directory until another Atelier skill has resolved terminology or made a decision worth recording.
|
|
38
42
|
|
|
43
|
+
Select or confirm the issue tracker:
|
|
44
|
+
|
|
45
|
+
1. If `docs/agents/issue-tracker.md` already defines one, preserve it unless the developer asks to
|
|
46
|
+
change it.
|
|
47
|
+
2. Otherwise recommend the tracker indicated by existing repository practice, then ask the
|
|
48
|
+
developer to confirm or describe their tracker.
|
|
49
|
+
3. Accept GitHub, GitLab, local Markdown, another tracker described by the developer, or `none`.
|
|
50
|
+
4. Record the chosen workflow in `docs/agents/issue-tracker.md`; do not install, initialize, or
|
|
51
|
+
create external tracker resources.
|
|
52
|
+
|
|
39
53
|
Select the instruction file to edit:
|
|
40
54
|
|
|
41
55
|
1. If both files exist, ask which file should own the agent guidance; do not duplicate it.
|
|
@@ -43,8 +57,13 @@ Select the instruction file to edit:
|
|
|
43
57
|
3. Otherwise use root `CLAUDE.md` when it exists.
|
|
44
58
|
4. If neither exists, ask which instruction file to create; do not choose on the developer's behalf.
|
|
45
59
|
|
|
46
|
-
Show the developer the selected file, domain layout, and
|
|
47
|
-
|
|
60
|
+
Show the developer the selected file, domain layout, and exact contents for:
|
|
61
|
+
|
|
62
|
+
- the `## Agent skills` block;
|
|
63
|
+
- `docs/agents/issue-tracker.md` using `references/issue-tracker.md`;
|
|
64
|
+
- `docs/agents/domain.md` using `references/domain.md`.
|
|
65
|
+
|
|
66
|
+
Stop and wait for explicit approval.
|
|
48
67
|
|
|
49
68
|
## 3. Write After Approval
|
|
50
69
|
|
|
@@ -58,23 +77,27 @@ Add the following block to the selected instruction file:
|
|
|
58
77
|
Use `atelier-orchestrator` at the start of development work. It selects an Inline Plan for bounded
|
|
59
78
|
changes or a Spec-backed Plan when durable design and coordination artifacts are warranted.
|
|
60
79
|
|
|
61
|
-
###
|
|
80
|
+
### Issue tracking
|
|
81
|
+
|
|
82
|
+
Read `docs/agents/issue-tracker.md` when issue tracking is relevant. It defines this repository's
|
|
83
|
+
tracker workflow; `plan.json` remains authoritative for Spec-backed task details and dependencies.
|
|
62
84
|
|
|
63
|
-
|
|
64
|
-
relevant context documentation. Otherwise, read root `CONTEXT.md` when present. Read relevant
|
|
65
|
-
architectural decisions under `docs/adr/` and any context-specific ADR directories.
|
|
85
|
+
### Domain documentation
|
|
66
86
|
|
|
67
|
-
|
|
68
|
-
|
|
87
|
+
Read `docs/agents/domain.md` before working in a domain area. It defines how to locate and use this
|
|
88
|
+
repository's context documents and ADRs.
|
|
69
89
|
```
|
|
70
90
|
|
|
71
|
-
If an `## Agent skills` section already exists, update the `### Planning and implementation
|
|
72
|
-
`### Domain documentation` subsections in place rather than appending
|
|
73
|
-
subsections and all content outside the section, including user edits.
|
|
74
|
-
|
|
91
|
+
If an `## Agent skills` section already exists, update the `### Planning and implementation`,
|
|
92
|
+
`### Issue tracking`, and `### Domain documentation` subsections in place rather than appending
|
|
93
|
+
duplicates. Preserve other subsections and all content outside the section, including user edits.
|
|
94
|
+
|
|
95
|
+
Create `docs/agents/` when needed, then write the approved tracker and domain documents. Do not
|
|
96
|
+
create any other files or directories.
|
|
75
97
|
|
|
76
98
|
## 4. Report
|
|
77
99
|
|
|
78
|
-
State which instruction file changed
|
|
79
|
-
that the layout is a convention only: the first
|
|
80
|
-
creates the relevant documents when it has
|
|
100
|
+
State which instruction file and agent documents changed, the selected tracker, and the chosen
|
|
101
|
+
domain-document layout. Remind the developer that the layout is a convention only: the first
|
|
102
|
+
domain-modelling or architectural-decision task creates the relevant documents when it has
|
|
103
|
+
substantive content.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Domain Documentation
|
|
2
|
+
|
|
3
|
+
## Layout
|
|
4
|
+
|
|
5
|
+
- **Mode:** [single-context or multi-context]
|
|
6
|
+
- **Context map:** [path or not used]
|
|
7
|
+
- **System ADRs:** [path]
|
|
8
|
+
- **Context ADRs:** [path pattern or not used]
|
|
9
|
+
|
|
10
|
+
## Before Domain Work
|
|
11
|
+
|
|
12
|
+
1. Read the context map when configured, then select the relevant context.
|
|
13
|
+
2. Read that context's `CONTEXT.md` when it exists.
|
|
14
|
+
3. Read ADRs relevant to the work.
|
|
15
|
+
4. Proceed silently when these documents do not yet exist.
|
|
16
|
+
|
|
17
|
+
## Ownership
|
|
18
|
+
|
|
19
|
+
- `CONTEXT.md` records domain language, distinctions, and business invariants.
|
|
20
|
+
- `CONTEXT-MAP.md` maps bounded contexts to their context documents and ADRs.
|
|
21
|
+
- ADRs record architectural decisions and trade-offs.
|
|
22
|
+
- This file only tells agents how to locate and consume those documents.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Issue Tracker
|
|
2
|
+
|
|
3
|
+
## Tracker
|
|
4
|
+
|
|
5
|
+
- **Provider:** [GitHub, GitLab, local Markdown, another tracker, or none]
|
|
6
|
+
- **Location:** [repository, project, URL, or local directory]
|
|
7
|
+
- **Tool or procedure:** [CLI, web workflow, or local-file convention]
|
|
8
|
+
- **Mirror Spec-backed tasks:** [yes or no]
|
|
9
|
+
|
|
10
|
+
## Authority
|
|
11
|
+
|
|
12
|
+
`plan.json` is the source of truth for Spec-backed task descriptions, dependencies, and
|
|
13
|
+
validation. Tracker entries only mirror execution state when mirroring is enabled.
|
|
14
|
+
|
|
15
|
+
## Operations
|
|
16
|
+
|
|
17
|
+
- **Create:** [how to create an issue or task]
|
|
18
|
+
- **Read:** [how to retrieve it]
|
|
19
|
+
- **Update:** [how to change status or add a note]
|
|
20
|
+
- **Complete:** [how to close it]
|
|
21
|
+
- **Dependencies:** [how blockers are represented]
|
|
22
|
+
|
|
23
|
+
## Status Mapping
|
|
24
|
+
|
|
25
|
+
| Plan state | Tracker state |
|
|
26
|
+
|------------|---------------|
|
|
27
|
+
| Ready | [state] |
|
|
28
|
+
| In progress | [state] |
|
|
29
|
+
| Blocked | [state] |
|
|
30
|
+
| Complete | [state] |
|
|
31
|
+
|
|
32
|
+
## Constraints
|
|
33
|
+
|
|
34
|
+
- [Required approvals, project conventions, or known limitations]
|
|
35
|
+
- Do not store credentials, tokens, or other secrets in this document.
|
|
@@ -38,7 +38,7 @@ behavior, motivation, or important implementation decision rather than restating
|
|
|
38
38
|
| `build` | Build system or dependencies |
|
|
39
39
|
| `revert` | Reverting a prior commit |
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
Breaking changes may use `!` after the type or scope, a `BREAKING CHANGE:` footer, or both.
|
|
42
42
|
Include issue footers such as `Closes #123` only when the issue is known.
|
|
43
43
|
|
|
44
44
|
## Create a Commit
|
|
@@ -76,8 +76,9 @@ Before making any write, show:
|
|
|
76
76
|
|
|
77
77
|
Ask for approval unless the user explicitly authorizes committing immediately. After
|
|
78
78
|
approval, stage only the files for the approved commit with `git add -- <paths>` and
|
|
79
|
-
|
|
80
|
-
unapproved
|
|
79
|
+
inspect `git diff --cached --name-status` and `git diff --cached` again. If the staged snapshot
|
|
80
|
+
contains any unapproved file, stop and ask how to handle it. Then commit with the proposed title
|
|
81
|
+
and body. Do not amend, rebase, push, or include unapproved files.
|
|
81
82
|
|
|
82
83
|
Repository commit hooks are the final message validation when configured. Never bypass
|
|
83
84
|
a failing hook. Report the commit hash on success; report the error and leave changes
|
|
@@ -22,10 +22,10 @@ Scan the push URLs for the platform host — don't assume the remote is named
|
|
|
22
22
|
## Determine the Base Branch
|
|
23
23
|
|
|
24
24
|
```bash
|
|
25
|
-
base=$(git symbolic-ref --quiet refs/remotes
|
|
25
|
+
base=$(git symbolic-ref --quiet "refs/remotes/<remote>/HEAD" 2>/dev/null | sed 's@^refs/remotes/<remote>/@@')
|
|
26
26
|
if [ -z "$base" ]; then
|
|
27
27
|
for candidate in main master; do
|
|
28
|
-
git rev-parse --verify --quiet "
|
|
28
|
+
git rev-parse --verify --quiet "<remote>/$candidate" >/dev/null && base=$candidate && break
|
|
29
29
|
done
|
|
30
30
|
fi
|
|
31
31
|
echo "$base"
|
|
@@ -59,7 +59,7 @@ gh pr view --json state,number,url,headRefName
|
|
|
59
59
|
GitLab:
|
|
60
60
|
|
|
61
61
|
```bash
|
|
62
|
-
glab mr view --json
|
|
62
|
+
glab mr view --output json
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
- **Open** → use this PR/MR number/URL for comment and merge workflows.
|
|
@@ -73,4 +73,4 @@ glab mr view --json state,iid,web_url,source_branch
|
|
|
73
73
|
## Safety Guard
|
|
74
74
|
|
|
75
75
|
Refuse to operate from the default branch — that's almost always a mistake. Ask the
|
|
76
|
-
human to switch to a feature branch first.
|
|
76
|
+
human to switch to a feature branch first.
|
|
@@ -15,13 +15,13 @@ gh pr view --json state,number,url
|
|
|
15
15
|
|
|
16
16
|
GitLab:
|
|
17
17
|
```bash
|
|
18
|
-
glab mr view --json
|
|
18
|
+
glab mr view --output json
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
- **Open** → show the URL, stop. Don't create a duplicate.
|
|
22
22
|
- **Closed/merged** → check for new commits since the PR was closed:
|
|
23
23
|
```bash
|
|
24
|
-
git log --oneline
|
|
24
|
+
git log --oneline <remote>/<base>..HEAD
|
|
25
25
|
```
|
|
26
26
|
New commits exist → proceed to create a new PR.
|
|
27
27
|
No new commits → tell the human, stop.
|
|
@@ -61,9 +61,9 @@ ls PULL_REQUEST_TEMPLATE.md 2>/dev/null
|
|
|
61
61
|
## Step 3: Generate Title and Body
|
|
62
62
|
|
|
63
63
|
```bash
|
|
64
|
-
git log --oneline
|
|
65
|
-
git log
|
|
66
|
-
git diff --stat
|
|
64
|
+
git log --oneline <remote>/<base>..HEAD # commit list
|
|
65
|
+
git log <remote>/<base>..HEAD --format='%H %s%n%b' # full commit messages
|
|
66
|
+
git diff --stat <remote>/<base>...HEAD # changed files summary
|
|
67
67
|
```
|
|
68
68
|
|
|
69
69
|
Derive the title from the most significant conventional commit. If commits are
|
|
@@ -85,15 +85,15 @@ Fill the body (template sections or fallback) from the commits and diff:
|
|
|
85
85
|
|
|
86
86
|
## Step 4: Create the PR
|
|
87
87
|
|
|
88
|
-
|
|
88
|
+
Show the human the selected remote, branch, generated title, and body before any write. Ask for
|
|
89
|
+
approval to push and create the PR/MR, or proceed if they explicitly said "just do it" up front.
|
|
90
|
+
|
|
91
|
+
Push the branch only after that approval if it is not on the remote:
|
|
89
92
|
|
|
90
93
|
```bash
|
|
91
|
-
git push -u
|
|
94
|
+
git push -u <remote> <branch-name>
|
|
92
95
|
```
|
|
93
96
|
|
|
94
|
-
**Show the human the generated title and body before creating.** Ask for confirmation,
|
|
95
|
-
or proceed if they said "just do it" up front.
|
|
96
|
-
|
|
97
97
|
### GitHub
|
|
98
98
|
|
|
99
99
|
| Mode | Command |
|
|
@@ -107,16 +107,16 @@ or proceed if they said "just do it" up front.
|
|
|
107
107
|
| Mode | Command |
|
|
108
108
|
|------|---------|
|
|
109
109
|
| Auto-fill | `glab mr create --fill` |
|
|
110
|
-
| Inline | `glab mr create
|
|
111
|
-
| Draft | `glab mr create --draft
|
|
110
|
+
| Inline | Invoke `glab mr create` with title and description passed as separate arguments by the active command runner. |
|
|
111
|
+
| Draft | Invoke `glab mr create --draft` with title and description passed as separate arguments by the active command runner. |
|
|
112
112
|
|
|
113
113
|
Default to inline with the generated body. **Never pass a multi-line body directly
|
|
114
114
|
in the command string** (`--body "<body>"`) — quotes, backticks, and `$` in
|
|
115
115
|
Markdown break shell quoting. Write the body to a temp file first, then pass it
|
|
116
|
-
via stdin (`gh --body-file -`)
|
|
117
|
-
|
|
116
|
+
via stdin (`gh --body-file -`). For GitLab, use the active command runner's argument array rather
|
|
117
|
+
than constructing a shell command; never interpolate the body through command substitution.
|
|
118
118
|
|
|
119
119
|
Use `--fill` when commits are clean and the body would be redundant. Use `--draft`
|
|
120
120
|
when the human signals work in progress.
|
|
121
121
|
|
|
122
|
-
After creation, show the PR/MR URL to the human. Done.
|
|
122
|
+
After creation, show the PR/MR URL to the human. Done.
|
|
@@ -73,14 +73,14 @@ Ask for explicit confirmation before running the merge command.
|
|
|
73
73
|
|
|
74
74
|
### GitHub
|
|
75
75
|
```bash
|
|
76
|
-
gh pr merge <number> --squash --delete-branch
|
|
76
|
+
gh pr merge <number> --squash --delete-branch --match-head-commit <approved-head-sha>
|
|
77
77
|
```
|
|
78
78
|
Alternatives: `--rebase`, `--merge`, `--auto` (merge automatically once required
|
|
79
79
|
checks pass), or `--admin` (forced merge — see Step 2) per the human's request.
|
|
80
80
|
|
|
81
81
|
### GitLab
|
|
82
82
|
```bash
|
|
83
|
-
glab mr merge <iid> --squash --remove-source-branch
|
|
83
|
+
glab mr merge <iid> --squash --remove-source-branch --sha <approved-head-sha>
|
|
84
84
|
```
|
|
85
85
|
Alternatives: `--rebase`, or `--auto-merge` (merge once the pipeline succeeds —
|
|
86
86
|
already the default while a pipeline is running) per the human's request.
|
|
@@ -91,4 +91,4 @@ already the default while a pipeline is running) per the human's request.
|
|
|
91
91
|
|
|
92
92
|
Show the human the merge result — the merge commit SHA, the target branch tip, and
|
|
93
93
|
whether the source branch was deleted. Suggest switching back to the base branch
|
|
94
|
-
locally (`git checkout <base> && git pull`) if the source branch was removed. Done.
|
|
94
|
+
locally (`git checkout <base> && git pull`) if the source branch was removed. Done.
|
|
@@ -27,7 +27,7 @@ Inline review comments (file/line threads) — `--json comments` does NOT includ
|
|
|
27
27
|
them, so fetch them separately:
|
|
28
28
|
|
|
29
29
|
```bash
|
|
30
|
-
gh
|
|
30
|
+
gh api --paginate repos/<owner>/<repo>/pulls/<number>/comments
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
Or, for a readable summary of top-level comments:
|
|
@@ -58,4 +58,4 @@ Show each comment with:
|
|
|
58
58
|
- **File/line** (for inline review comments)
|
|
59
59
|
|
|
60
60
|
Newest first. Group inline review comments by file/line, and threads by their
|
|
61
|
-
parent comment. Don't post anything — this is read-only.
|
|
61
|
+
parent comment. Don't post anything — this is read-only.
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: code-review
|
|
3
|
-
description: Multi-agent code review with parallel specialized reviewers, architecture validation, and
|
|
3
|
+
description: Multi-agent code review with parallel specialized reviewers, architecture validation, challenge validation, and durable handling of previously decided findings. Use `rq` to request a review of diffs (defaults to main branch), `rs` to respond to findings and record intentional non-fix decisions beside the relevant code. Triggers on "review this", "review my code", "code review", "check for bugs", "audit this", when examining PRs, pull requests, branches, or diffs. Always asks user before applying fixes or adding decision comments.
|
|
4
4
|
argument-hint: "rq [branch] | rs"
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Code Review Skill
|
|
9
9
|
|
|
10
|
-
Multi-agent code analysis with
|
|
10
|
+
Multi-agent code analysis with a simplicity gate, focused reviewers, and challenge validation.
|
|
11
11
|
|
|
12
12
|
Uses explicit subagent dispatch patterns from [code-subagents](../code-subagents/SKILL.md).
|
|
13
13
|
|
|
@@ -35,24 +35,43 @@ Use these concrete harness subagent types. If an exact match is unavailable, use
|
|
|
35
35
|
| `subagent_type` | Purpose |
|
|
36
36
|
|-----------------|---------|
|
|
37
37
|
| `sentinel` | Triage only: changed-file analysis, context retrieval, reviewer selection |
|
|
38
|
-
| `oracle` |
|
|
38
|
+
| `oracle` | Reviewer personas, evidence-based critique, failure-mode analysis, challenge validation |
|
|
39
39
|
| `architect` | Architecture, design-boundary, data-model, and API-contract review |
|
|
40
40
|
|
|
41
41
|
Reviewer names such as `Security`, `Correctness`, `Maintainability`, and `PerformanceOperator` are prompt personas, not subagent types. Do not use `general`; it is not a harness agent.
|
|
42
42
|
|
|
43
|
+
`Simplicity` is a mandatory reviewer persona for migrations, refactors, and architectural
|
|
44
|
+
changes. Run it before the other reviewers; do not include it in the parallel reviewer batch.
|
|
45
|
+
|
|
46
|
+
## Review Priority
|
|
47
|
+
|
|
48
|
+
Review in this order:
|
|
49
|
+
|
|
50
|
+
1. User goal and prior behavior
|
|
51
|
+
2. Necessity and deletion
|
|
52
|
+
3. Correctness and security
|
|
53
|
+
4. Architecture
|
|
54
|
+
5. SDD compliance
|
|
55
|
+
|
|
56
|
+
Treat the SDD as evidence, not as authority for whether code is necessary. A finding that
|
|
57
|
+
would expand behavior or infrastructure requires user approval. Never apply it as an ordinary
|
|
58
|
+
review fix.
|
|
59
|
+
|
|
43
60
|
### rq (Request Review) Subagents
|
|
44
61
|
|
|
45
62
|
| Step | Parallel | Purpose |
|
|
46
63
|
|------|----------|---------|
|
|
47
64
|
| 1. Triage | No | Detect context, select reviewers, identify relevant skills to look for |
|
|
48
|
-
| 2.
|
|
49
|
-
| 3.
|
|
50
|
-
| 4.
|
|
51
|
-
| 5.
|
|
65
|
+
| 2. Simplicity | No | Mandatory necessity and deletion review for migrations, refactors, and architectural changes |
|
|
66
|
+
| 3. Reviewers | Yes (per reviewer) | Correctness, security, and other specialty analysis |
|
|
67
|
+
| 4. Synthesis | No | Deduplicate findings inline |
|
|
68
|
+
| 5. Architect | No | Architecture review |
|
|
69
|
+
| 6. SDD + Challenge | No | Check SDD compliance last, then validate findings |
|
|
52
70
|
|
|
53
71
|
### rs (Respond to Review)
|
|
54
72
|
|
|
55
|
-
No subagents. Interactive interview mode
|
|
73
|
+
No subagents. Interactive interview mode that plans fixes and records approved non-fix
|
|
74
|
+
resolutions as tagged code comments — see [rs.md](./references/rs.md).
|
|
56
75
|
|
|
57
76
|
## Dispatch Patterns
|
|
58
77
|
|
|
@@ -12,6 +12,23 @@
|
|
|
12
12
|
- Files reviewed: N
|
|
13
13
|
- Findings: N Critical, N High, N Medium, N Low
|
|
14
14
|
- Pre-existing: N | Introduced: N
|
|
15
|
+
- Honored decisions: N
|
|
16
|
+
|
|
17
|
+
## Unnecessary scope
|
|
18
|
+
|
|
19
|
+
- {Unrequested behavior or infrastructure, or `None`}
|
|
20
|
+
|
|
21
|
+
## Deletion candidates
|
|
22
|
+
|
|
23
|
+
- {Files, symbols, wrappers, or tests that can be removed, or `None`}
|
|
24
|
+
|
|
25
|
+
## Smallest viable alternative
|
|
26
|
+
|
|
27
|
+
{The smallest implementation that preserves the user goal and prior behavior, or `None`}
|
|
28
|
+
|
|
29
|
+
## Required SDD corrections
|
|
30
|
+
|
|
31
|
+
- {Changes needed so the SDD records the smaller result, or `None`}
|
|
15
32
|
|
|
16
33
|
## Critical (Fix before merge)
|
|
17
34
|
|
|
@@ -28,6 +45,8 @@
|
|
|
28
45
|
{Detailed explanation of why this was flagged}
|
|
29
46
|
</details>
|
|
30
47
|
- **Suggestion**: {How to fix}
|
|
48
|
+
- **Requires user approval**: {Yes when the suggestion expands behavior or infrastructure; otherwise No}
|
|
49
|
+
- **Prior decision reopened**: {Why the recorded rationale no longer applies; omit when not applicable}
|
|
31
50
|
|
|
32
51
|
## High Priority
|
|
33
52
|
|
|
@@ -45,8 +64,17 @@
|
|
|
45
64
|
- {What the code does well}
|
|
46
65
|
- {Smart patterns to keep}
|
|
47
66
|
- {Good practices observed}
|
|
67
|
+
|
|
68
|
+
## Honored Decisions
|
|
69
|
+
|
|
70
|
+
- `{comment-file}:{line}` — {Concern}: {Short rationale and why it still applies}
|
|
48
71
|
```
|
|
49
72
|
|
|
73
|
+
Omit the **Honored Decisions** section when there are no honored decisions. Keep each entry to
|
|
74
|
+
one compact bullet; do not repeat the full finding, impact, reasoning, or suggestion.
|
|
75
|
+
Severity and pre-existing/introduced statistics count active findings only.
|
|
76
|
+
Always render the four simplicity sections, using `None` when no evidence supports an item.
|
|
77
|
+
|
|
50
78
|
---
|
|
51
79
|
|
|
52
80
|
## Inline Finding Format
|
|
@@ -60,6 +88,8 @@ Pre-existing: {Yes/No}
|
|
|
60
88
|
Issue: {Brief description}
|
|
61
89
|
Reasoning: {Why this matters}
|
|
62
90
|
Suggestion: {Fix}
|
|
91
|
+
Requires user approval: {Yes/No}
|
|
92
|
+
Prior decision reopened: {Why the recorded rationale no longer applies; omit when not applicable}
|
|
63
93
|
```
|
|
64
94
|
|
|
65
95
|
---
|
|
@@ -98,6 +128,9 @@ Each finding includes a collapsible section with:
|
|
|
98
128
|
3. **Evidence**: Code snippets, references, or examples
|
|
99
129
|
4. **Alternative view**: If uncertain, what else to consider
|
|
100
130
|
|
|
131
|
+
When a recorded decision is reopened, also identify the comment location and the evidence that
|
|
132
|
+
invalidated its rationale or met its reconsideration condition.
|
|
133
|
+
|
|
101
134
|
Example:
|
|
102
135
|
```markdown
|
|
103
136
|
<details>
|
|
@@ -130,6 +163,23 @@ Implements OAuth login flow with token refresh. Generally well-structured with p
|
|
|
130
163
|
- Files reviewed: 1
|
|
131
164
|
- Findings: 1 Critical, 1 High, 0 Medium, 2 Low
|
|
132
165
|
- Pre-existing: 1 | Introduced: 3
|
|
166
|
+
- Honored decisions: 0
|
|
167
|
+
|
|
168
|
+
## Unnecessary scope
|
|
169
|
+
|
|
170
|
+
- None
|
|
171
|
+
|
|
172
|
+
## Deletion candidates
|
|
173
|
+
|
|
174
|
+
- None
|
|
175
|
+
|
|
176
|
+
## Smallest viable alternative
|
|
177
|
+
|
|
178
|
+
None
|
|
179
|
+
|
|
180
|
+
## Required SDD corrections
|
|
181
|
+
|
|
182
|
+
- None
|
|
133
183
|
|
|
134
184
|
## Critical (Fix before merge)
|
|
135
185
|
|
|
@@ -198,3 +248,5 @@ Implements OAuth login flow with token refresh. Generally well-structured with p
|
|
|
198
248
|
2. **Pre-existing detection** requires git blame check (not just diff)
|
|
199
249
|
3. **Extended reasoning** should be collapsible in markdown renderers
|
|
200
250
|
4. **Positive findings** help balance the review tone
|
|
251
|
+
5. **Honored decisions** stay out of active severity counts and are summarized without restating the finding
|
|
252
|
+
6. **Expansion findings** require user approval even when an SDD proposes the expansion
|