Repository navigation
feat(aidd-vcs): answer pull and merge request review comments #1128
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: next
Are you sure you want to change the base?
Changes from all commits
d6c4ea4
b309633
9edc6a2
4b8c520
bc22e21
1916b5d
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| --- | ||
| name: 06-answer-comments | ||
| description: Answers pull or merge request review comments, resolves settled threads, and proposes learnings. Use when the user wants review feedback answered or pending decisions summarized. Not for reviewing a diff or fixing code. | ||
| argument-hint: pull request | merge request | ||
| --- | ||
|
|
||
| # Answer Comments | ||
|
|
||
| ```mermaid | ||
| flowchart LR | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Appliquer le nouveau format |
||
| request([pull or merge request]) --> answer-comments --> propose-learnings --> summary([summary updated]) | ||
| summary -.->|new reply or pushed commit| request | ||
| ``` | ||
|
|
||
| ## Actions | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. A virer |
||
|
|
||
| Run the flow above. Read only the next action file. | ||
|
|
||
| | Action | Does | | ||
| | --- | --- | | ||
| | answer-comments | answer open review threads and resolve the settled ones | | ||
| | propose-learnings | propose lasting feedback and update the summary | | ||
|
|
||
| ## Transversal rules | ||
|
|
||
| - Reach the pull or merge request through the VCS tool `aidd_docs/memory/vcs.md` names, else the one the remote points to. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Obligatoire vu que c'est normalement load ? Surement pour le AGENTS.md en markdown link mais je demande |
||
| - Read code and history as evidence; never modify source, commit, push, or merge the request. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| # 01 - Answer Comments | ||
|
|
||
| Reply to each open review comment on a pull or merge request, and resolve the settled ones. | ||
|
|
||
| ## Input | ||
|
|
||
| The pull or merge request, and the commits pushed since its comments. | ||
|
|
||
| ## Output | ||
|
|
||
| Each open thread replied to, resolved or left open per its kind, and the `user-call` and `todo` threads named. | ||
|
|
||
| ## Process | ||
|
|
||
| 1. **Collect.** Read the open review threads, skipping those still waiting per [comment-kinds.md](../references/comment-kinds.md). | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Il faut qu'on converge des maintenant sur le foramt qui est preque bon ici sauf ** ** et output avant |
||
| 2. **Sort.** Give each comment one kind per `comment-kinds.md`. | ||
| 3. **Reply.** Reply in each thread as its kind says. | ||
| 4. **Resolve.** Resolve or leave open each thread as its kind says. | ||
| 5. **Hand over.** Name all remaining `user-call` and `todo` threads with their links. | ||
|
|
||
| ## Rules | ||
|
|
||
| - Include skipped waiting threads in the handover, even when no reply was posted. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| # 02 - Propose Learnings | ||
|
|
||
| Propose the feedback that should outlive the pull or merge request, and post the summary. | ||
|
|
||
| ## Input | ||
|
|
||
| The threads answer-comments replied to, and the ones it handed over. | ||
|
|
||
| ## Output | ||
|
|
||
| One summary comment on the pull or merge request, shaped by [comments-summary-template.md](../assets/comments-summary-template.md) and kept up to date across runs. | ||
|
|
||
| ## Process | ||
|
|
||
| 1. **Keep.** Sort the feedback per [learnings.md](../references/learnings.md). | ||
| 2. **Fill.** Fill `comments-summary-template.md`. | ||
| 3. **Post.** Post it on the first run; on a later one, edit the comment opening with `## Review comments` instead. | ||
| 4. **Offer.** If there are learnings, propose running the skill that captures durable project learnings with this summary as input. | ||
|
|
||
| ## Rules | ||
|
|
||
| - Keep learnings as proposals; write no rule, memory or skill. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| ## Review comments | ||
|
|
||
| Done: {{n}}{{ (short shas), when there are any}}. Answered: {{n}}. | ||
|
|
||
| ### FAQ: your call | ||
|
|
||
| 1. **{{question}}** ([thread]({{url}})): {{option a}} / {{option b}} | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ca fait tres : deux uniques choix ici. Le LLM ne dit rien meme sur un modele bas ? |
||
|
|
||
| ### To do | ||
|
|
||
| - {{change}} ([thread]({{url}})) | ||
|
|
||
| ### Learnings to keep | ||
|
|
||
| - {{lesson}} ([thread]({{url}})) | ||
|
|
||
| <!-- Fill every {{...}}, one line per item. Drop a section left empty, and this comment. Keep it short enough to read on a phone. --> | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| # Comment kinds | ||
|
|
||
| The kind each review comment gets, and what its thread receives. | ||
|
|
||
| ## Kinds | ||
|
|
||
| | Kind | When | Reply | Thread | | ||
| | --- | --- | --- | --- | | ||
| | `done` | a change it asked for is in a commit pushed after it | what changed, and the short commit sha | resolved | | ||
| | `answer` | a question the code, docs, tests or history answer | the answer, and the file or commit it rests on | resolved | | ||
| | `user-call` | a choice only the user can settle: intent, trade-off, scope, taste | the question in one sentence and its options, ending `Answer here.` | open | | ||
| | `user-call`, answered | the user has stated their decision, even if implementation remains | `Decision:` and the user's choice | resolved | | ||
| | `todo` | a change asked for, not pushed yet | the change, ending `To do.` | open | | ||
|
|
||
| ## Rules | ||
|
|
||
| | Rule | Why | | ||
| | --- | --- | | ||
| | Between `answer` and `user-call`, pick `user-call` | a guessed answer reads as decided | | ||
| | Reply in one or two lines, in the comment's language, never quoting it back | the thread stays readable | | ||
| | Keep `Answer here.` and `To do.` verbatim, in English | a later run reads them to know which threads still wait | | ||
| | Skip a thread ending `Answer here.`, or `To do.` with no commit pushed since | it still waits, whatever account posted it | |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| # Learnings | ||
|
|
||
| Which review feedback outlives its pull or merge request. | ||
|
|
||
| | Feedback | Becomes | | ||
| | --- | --- | | ||
| | a preference stated as a general one, such as "docs too long" | a learning | | ||
| | the same remark on several files | one learning, linking every thread | | ||
| | a decision another change would face again | a learning | | ||
| | what a project rule or memory already says | that rule named as not followed, no new learning | | ||
| | a one-off change | nothing | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
JE challenge le nom et la responsabilité si à terme on fait les reviews via ce plugin.
On aurait un Skill de review et un skill de réponse ?