@k0t0vich/meta-agents-template 0.1.1 → 0.1.2
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/README.md +17 -4
- package/agents.md +25 -3
- package/package.json +3 -2
- package/template/.meta-agents/config/roles.yaml +3 -1
- package/template/.meta-agents/config/system.yaml +55 -1
- package/template/.meta-agents/config/trackers.yaml +11 -0
- package/template/.meta-agents/prompts/agile-manager.md +2 -0
- package/template/.meta-agents/prompts/clarifier.md +1 -0
- package/template/.meta-agents/prompts/publishing-agent.md +7 -0
- package/template/.meta-agents/prompts/reviewer-judge.md +4 -1
- package/template/.meta-agents/scripts/run-review-gate.mjs +37 -6
- package/template/.meta-agents/templates/agent-work-contract.md +2 -0
- package/template/.meta-agents/templates/task-template.md +3 -1
- package/template/README.md +10 -2
- package/template/agents.md +28 -3
- package/template/package.json +1 -0
- package/template/tracker-command-template.md +156 -8
- package/tracker-command-template.md +122 -7
package/README.md
CHANGED
|
@@ -56,6 +56,7 @@ my-project/
|
|
|
56
56
|
decomposer.md
|
|
57
57
|
reviewer-judge.md
|
|
58
58
|
agile-manager.md
|
|
59
|
+
publishing-agent.md
|
|
59
60
|
scripts/
|
|
60
61
|
init.mjs
|
|
61
62
|
sync-status.mjs
|
|
@@ -78,9 +79,13 @@ my-project/
|
|
|
78
79
|
3. `RUN_REVIEW_GATE`
|
|
79
80
|
4. `COMMIT_BY_NAME`
|
|
80
81
|
5. `ASSIGN_SPRINT`
|
|
82
|
+
6. `PREPARE_RELEASE_NOTE`
|
|
83
|
+
7. `MARK_TASKS_PUBLISH`
|
|
81
84
|
|
|
82
85
|
`VERIFY_GOVERNANCE_GATE` выполняет `Governance Watchdog Agent` перед любой операцией и блокирует выполнение при нарушении PRD/acceptance/user-confirmation правил.
|
|
83
|
-
`RUN_REVIEW_GATE` выполняет `Reviewer/Judge Agent` перед коммитом:
|
|
86
|
+
`RUN_REVIEW_GATE` выполняет `Reviewer/Judge Agent` перед коммитом:
|
|
87
|
+
- сначала выводит summary выполненного, критические замечания, потенциальные риски и рекомендацию `PASS_CANDIDATE/FAIL`;
|
|
88
|
+
- финальный `PASS_CONFIRMED` допускается только после явного `Review Approved: yes` от пользователя.
|
|
84
89
|
|
|
85
90
|
## Self-bootstrap (для этого репозитория)
|
|
86
91
|
Чтобы сам шаблон работал по своим же правилам, запусти:
|
|
@@ -103,8 +108,9 @@ npm run self:bootstrap
|
|
|
103
108
|
6. Собран полный evidence-пакет.
|
|
104
109
|
7. Синхронизированы `task/status/sprint` в трекере.
|
|
105
110
|
8. Перед каждой командой пройден watchdog gate (`VERIFY_GOVERNANCE_GATE`).
|
|
106
|
-
9. Перед коммитом пройден review gate (`RUN_REVIEW_GATE`)
|
|
107
|
-
10.
|
|
111
|
+
9. Перед коммитом пройден review gate (`RUN_REVIEW_GATE`) с финальным `PASS_CONFIRMED`.
|
|
112
|
+
10. Есть отдельное явное подтверждение пользователя на прохождение review (`Review Approved: yes`).
|
|
113
|
+
11. Каждый коммит связан с issue/task (`TASK-ID` и/или `#issue` в commit message).
|
|
108
114
|
|
|
109
115
|
Если хотя бы один пункт не выполнен, задача не принимается.
|
|
110
116
|
|
|
@@ -114,6 +120,7 @@ npm run self:bootstrap
|
|
|
114
120
|
```bash
|
|
115
121
|
npm run meta:verify
|
|
116
122
|
npm run meta:review
|
|
123
|
+
npm run meta:review-approve
|
|
117
124
|
npm run meta:verify-link
|
|
118
125
|
```
|
|
119
126
|
|
|
@@ -123,7 +130,13 @@ npm run meta:verify-link
|
|
|
123
130
|
Коммиты и закрытие задач выполняются только по явному подтверждению пользователя в текущем диалоге:
|
|
124
131
|
- `COMMIT_BY_NAME` — только после подтверждения пользователя;
|
|
125
132
|
- перевод задачи в `DONE` — только после подтверждения пользователя;
|
|
126
|
-
-
|
|
133
|
+
- в single-branch режиме статусный цикл: `TODO -> IN_PROGRESS -> REVIEW -> READY -> DONE` (для релизных задач дополнительно `-> PUBLISH`);
|
|
134
|
+
- без подтверждения максимум статуса: `REVIEW`;
|
|
135
|
+
- `READY` разрешён только после `RUN_REVIEW_GATE: PASS_CONFIRMED`.
|
|
136
|
+
- `READY` означает commit + push (в `main` или в ветку с открытым MR/PR);
|
|
137
|
+
- `DONE` означает интеграцию в `main` (direct commit или merged MR/PR);
|
|
138
|
+
- `PUBLISH` означает, что релиз опубликован и доступен в latest.
|
|
139
|
+
- для большой фичи (в режиме GitHub tracker) агент обязан предложить `feature issue` + `epic issue` и отдельную ветку.
|
|
127
140
|
|
|
128
141
|
## Основные документы шаблона
|
|
129
142
|
- [agents.md](./agents.md)
|
package/agents.md
CHANGED
|
@@ -105,10 +105,26 @@ Name: <agent role>
|
|
|
105
105
|
- перевод задачи в `DONE`.
|
|
106
106
|
|
|
107
107
|
Обязательное правило:
|
|
108
|
-
-
|
|
108
|
+
- для single-branch режима статусный цикл задачи фиксируется как `TODO -> IN_PROGRESS -> REVIEW -> READY -> DONE` (для релизных задач дополнительно `-> PUBLISH`);
|
|
109
|
+
- `RUN_REVIEW_GATE` сначала формирует отчёт ревьювера и рекомендацию (`PASS_CANDIDATE`/`FAIL`);
|
|
110
|
+
- финальный `RUN_REVIEW_GATE: PASS_CONFIRMED` допускается только после явного подтверждения пользователя `Review Approved: yes`;
|
|
111
|
+
- `COMMIT_BY_NAME` выполняется только после `RUN_REVIEW_GATE: PASS_CONFIRMED` и отдельного явного подтверждения пользователя в текущем диалоге;
|
|
109
112
|
- `SET_STATUS -> DONE` выполняется только после явного подтверждения пользователя в текущем диалоге;
|
|
110
|
-
- без подтверждения пользователя максимум допустимого статуса: `
|
|
113
|
+
- без подтверждения пользователя максимум допустимого статуса: `REVIEW`.
|
|
114
|
+
- `SET_STATUS -> READY` разрешён только после `RUN_REVIEW_GATE: PASS_CONFIRMED`.
|
|
111
115
|
- сообщение коммита обязано содержать ссылку на задачу (`TASK-ID` и/или `#issue-number`).
|
|
116
|
+
- `READY` означает: коммит сделан и отправлен (`push`), при этом либо в `main`, либо в отдельной ветке с открытым MR/PR.
|
|
117
|
+
- `DONE` означает: изменения интегрированы в `main` (прямой коммит в `main` или MR/PR смержен).
|
|
118
|
+
- `PUBLISH` означает: релиз опубликован и доступен в последней версии пакета.
|
|
119
|
+
|
|
120
|
+
## 10.1) Правило для больших фич (GitHub tracker)
|
|
121
|
+
Если задача классифицирована как большая фича, система обязана предложить:
|
|
122
|
+
- создать `feature issue` (`type:feature`);
|
|
123
|
+
- создать `epic issue` (`type:epic`);
|
|
124
|
+
- выделить отдельную ветку разработки;
|
|
125
|
+
- связать feature с epic в GitHub issue (ссылка в body/comment/task list).
|
|
126
|
+
|
|
127
|
+
Для текущего этапа (только GitHub tracker) epic реализуется как обычный issue с label `type:epic`.
|
|
112
128
|
|
|
113
129
|
## 11) Жёсткие критерии приёмки (все обязательны)
|
|
114
130
|
Задача принимается только если одновременно выполнены все условия:
|
|
@@ -123,7 +139,13 @@ Name: <agent role>
|
|
|
123
139
|
9. Если задача закрыта в `DONE`, есть явное подтверждение пользователя на закрытие.
|
|
124
140
|
10. Перед каждой командой пройден `VERIFY_GOVERNANCE_GATE` от `Governance Watchdog Agent`.
|
|
125
141
|
11. Перед коммитом пройден `RUN_REVIEW_GATE` от `Reviewer/Judge Agent`.
|
|
126
|
-
12.
|
|
142
|
+
12. Есть явное подтверждение пользователя на прохождение review (`Review Approved: yes`).
|
|
143
|
+
13. До review gate задача переведена в статус `REVIEW`.
|
|
144
|
+
14. Статус `READY` выставлен только после `RUN_REVIEW_GATE: PASS_CONFIRMED`.
|
|
145
|
+
15. Для статуса `READY` подтверждены `commit + push` и путь интеграции (`main` или открытый MR/PR).
|
|
146
|
+
16. Для статуса `DONE` подтверждена интеграция в `main` (direct commit или merged MR/PR).
|
|
147
|
+
17. Для статуса `PUBLISH` подтверждена публикация в последней версии.
|
|
148
|
+
18. Коммит содержит ссылку на issue/task (`TASK-ID` или `#issue`).
|
|
127
149
|
|
|
128
150
|
Если хотя бы один критерий не выполнен, задача не принимается.
|
|
129
151
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@k0t0vich/meta-agents-template",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Template system for verification-first agentic development",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
"scripts": {
|
|
10
10
|
"start": "node bin/meta-agents.js --help",
|
|
11
11
|
"self:sync": "node bin/meta-agents.js sync . --force",
|
|
12
|
-
"self:bootstrap": "npm run self:sync && node scripts/self-bootstrap.mjs"
|
|
12
|
+
"self:bootstrap": "npm run self:sync && node scripts/self-bootstrap.mjs",
|
|
13
|
+
"release:smoke-local": "node scripts/post-publish-local-smoke.mjs"
|
|
13
14
|
},
|
|
14
15
|
"files": [
|
|
15
16
|
"README.md",
|
|
@@ -2,7 +2,7 @@ roles:
|
|
|
2
2
|
- name: "Chief of Staff Agent"
|
|
3
3
|
responsibility: "Оркестрация, блокеры, эскалации"
|
|
4
4
|
- name: "Agile Manager Agent"
|
|
5
|
-
responsibility: "CREATE_TASK/SET_STATUS/COMMIT_BY_NAME/ASSIGN_SPRINT"
|
|
5
|
+
responsibility: "CREATE_TASK/SET_STATUS/COMMIT_BY_NAME/ASSIGN_SPRINT + epic/feature orchestration in GitHub tracker"
|
|
6
6
|
- name: "Governance Watchdog Agent"
|
|
7
7
|
responsibility: "Обязательный preflight-gate: PRD/acceptance/user confirmation policy"
|
|
8
8
|
- name: "Product Manager Agent"
|
|
@@ -19,5 +19,7 @@ roles:
|
|
|
19
19
|
responsibility: "Верификация и тестирование"
|
|
20
20
|
- name: "Reviewer/Judge Agent"
|
|
21
21
|
responsibility: "Независимая приёмка + обязательный pre-commit review gate"
|
|
22
|
+
- name: "Publishing Agent"
|
|
23
|
+
responsibility: "Подготовка release notes, публикация релиза, перевод вошедших задач в PUBLISH"
|
|
22
24
|
- name: "Documentation Agent"
|
|
23
25
|
responsibility: "Синхронизация документации"
|
|
@@ -23,9 +23,44 @@ system:
|
|
|
23
23
|
offer_create_github_repo: true
|
|
24
24
|
governance:
|
|
25
25
|
user_confirmation_required_for:
|
|
26
|
+
- review_gate_pass
|
|
26
27
|
- commit
|
|
27
28
|
- task_close_done
|
|
28
|
-
|
|
29
|
+
- release_publish
|
|
30
|
+
max_status_without_user_confirmation: REVIEW
|
|
31
|
+
status_lifecycle:
|
|
32
|
+
mode: single_branch
|
|
33
|
+
sequence:
|
|
34
|
+
- TODO
|
|
35
|
+
- IN_PROGRESS
|
|
36
|
+
- REVIEW
|
|
37
|
+
- READY
|
|
38
|
+
- DONE
|
|
39
|
+
- PUBLISH
|
|
40
|
+
rules:
|
|
41
|
+
- ready_only_after_review_pass_confirmed
|
|
42
|
+
- done_only_after_user_confirmation
|
|
43
|
+
- publish_only_after_done
|
|
44
|
+
github_status_labels:
|
|
45
|
+
- TODO
|
|
46
|
+
- IN_PROGRESS
|
|
47
|
+
- REVIEW
|
|
48
|
+
- READY
|
|
49
|
+
- BLOCKED
|
|
50
|
+
- DONE
|
|
51
|
+
- PUBLISH
|
|
52
|
+
semantics:
|
|
53
|
+
READY: "Commit created and pushed; either main branch commit or feature branch with open MR/PR."
|
|
54
|
+
DONE: "Changes integrated to main (direct commit on main or MR/PR merged)."
|
|
55
|
+
PUBLISH: "Released and available in latest published package version."
|
|
56
|
+
epic_policy:
|
|
57
|
+
github_only: true
|
|
58
|
+
large_feature_requires_epic: true
|
|
59
|
+
required_actions:
|
|
60
|
+
- propose_feature_issue
|
|
61
|
+
- propose_epic_issue
|
|
62
|
+
- create_dedicated_branch
|
|
63
|
+
- link_feature_to_epic
|
|
29
64
|
watchdog:
|
|
30
65
|
required: true
|
|
31
66
|
before_commands:
|
|
@@ -35,6 +70,8 @@ system:
|
|
|
35
70
|
- RUN_REVIEW_GATE
|
|
36
71
|
- COMMIT_BY_NAME
|
|
37
72
|
- ASSIGN_SPRINT
|
|
73
|
+
- PREPARE_RELEASE_NOTE
|
|
74
|
+
- MARK_TASKS_PUBLISH
|
|
38
75
|
minimum_checks:
|
|
39
76
|
- prd_sections_complete
|
|
40
77
|
- acceptance_criteria_defined
|
|
@@ -43,6 +80,11 @@ system:
|
|
|
43
80
|
required_before_commit: true
|
|
44
81
|
command: RUN_REVIEW_GATE
|
|
45
82
|
reporter_role: "Reviewer/Judge Agent"
|
|
83
|
+
required_user_acknowledgement: true
|
|
84
|
+
recommendation_statuses:
|
|
85
|
+
- PASS_CANDIDATE
|
|
86
|
+
- FAIL
|
|
87
|
+
final_status: PASS_CONFIRMED
|
|
46
88
|
required_sections:
|
|
47
89
|
- what_done_summary
|
|
48
90
|
- critical_findings
|
|
@@ -54,6 +96,11 @@ system:
|
|
|
54
96
|
accepted_patterns:
|
|
55
97
|
- "TASK-ID"
|
|
56
98
|
- "#issue"
|
|
99
|
+
publish_flow:
|
|
100
|
+
release_note_required: true
|
|
101
|
+
release_note_must_include_tasks: true
|
|
102
|
+
mark_included_tasks_publish: true
|
|
103
|
+
publish_status_label: PUBLISH
|
|
57
104
|
acceptance:
|
|
58
105
|
hard_criteria:
|
|
59
106
|
- prd_sections_complete
|
|
@@ -65,6 +112,13 @@ system:
|
|
|
65
112
|
- tracker_sync_complete
|
|
66
113
|
- watchdog_gate_passed
|
|
67
114
|
- review_gate_passed
|
|
115
|
+
- review_user_acknowledged
|
|
116
|
+
- ready_has_commit_and_push
|
|
117
|
+
- done_integrated_to_main
|
|
118
|
+
- release_note_created
|
|
119
|
+
- release_note_includes_tasks
|
|
120
|
+
- release_tasks_marked_publish
|
|
121
|
+
- publish_released_latest
|
|
68
122
|
- commit_linked_to_issue
|
|
69
123
|
auto_select:
|
|
70
124
|
required: true
|
|
@@ -4,6 +4,17 @@ tracker_gateway:
|
|
|
4
4
|
github:
|
|
5
5
|
mode: "issues_projects"
|
|
6
6
|
enabled: true
|
|
7
|
+
status_labels:
|
|
8
|
+
- TODO
|
|
9
|
+
- IN_PROGRESS
|
|
10
|
+
- REVIEW
|
|
11
|
+
- READY
|
|
12
|
+
- BLOCKED
|
|
13
|
+
- DONE
|
|
14
|
+
- PUBLISH
|
|
15
|
+
hierarchy_labels:
|
|
16
|
+
epic: "type:epic"
|
|
17
|
+
feature: "type:feature"
|
|
7
18
|
mcp:
|
|
8
19
|
mode: "external_tracker_via_mcp"
|
|
9
20
|
enabled: true
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
Role: Agile Manager Agent
|
|
2
2
|
Goal: управлять задачами и статусами через TrackerGateway.
|
|
3
3
|
Commands: CREATE_TASK, SET_STATUS, COMMIT_BY_NAME, ASSIGN_SPRINT.
|
|
4
|
+
Status semantics: READY = commit+push; DONE = integrated to main; PUBLISH = published in latest version.
|
|
5
|
+
Rule: для большой фичи в GitHub tracker сначала предложить связку `feature issue` + `epic issue` и выделенную ветку.
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
Role: Clarifier Agent
|
|
2
2
|
Goal: выявить цель, ограничения, неоднозначности и критерии успеха.
|
|
3
|
+
Rule: если задача классифицируется как большая фича, обязательно предложить создать `feature issue` и `epic issue` в GitHub tracker, а также отдельную ветку.
|
|
3
4
|
Output: PRD Step с заполненными "Описание" и "Проверяемость".
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
Role: Publishing Agent
|
|
2
|
+
Goal: подготовить релиз, зафиксировать release notes и перевести вошедшие задачи в статус PUBLISH.
|
|
3
|
+
Rule:
|
|
4
|
+
- перед публикацией создать release note со списком issue/tasks, вошедших в релиз;
|
|
5
|
+
- после подтверждённой публикации обновить статусы всех вошедших задач на `PUBLISH` в GitHub tracker;
|
|
6
|
+
- для каждого релиза оставлять ссылку на release note и версию.
|
|
7
|
+
Output: release note path + список задач + подтверждение обновления статусов.
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
Role: Reviewer/Judge Agent
|
|
2
2
|
Goal: независимая приёмка по критериям и обязательный pre-commit review gate.
|
|
3
|
-
Output format: что сделано, критические замечания, потенциальные риски,
|
|
3
|
+
Output format: что сделано, критические замечания, потенциальные риски, рекомендация PASS_CANDIDATE/FAIL.
|
|
4
|
+
Rule: финальный PASS_CONFIRMED только после явного `Review Approved: yes` от пользователя.
|
|
5
|
+
Status rule: перед review gate задача должна быть в статусе `REVIEW`; статус `READY` выставляется только после `PASS_CONFIRMED`.
|
|
6
|
+
Delivery rule: `READY` требует commit+push; `DONE` требует интеграцию в `main`; `PUBLISH` только после фактической публикации.
|
|
4
7
|
Output: accepted/rejected + findings.
|
|
@@ -2,6 +2,23 @@ import fs from "node:fs/promises";
|
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { execFileSync } from "node:child_process";
|
|
4
4
|
|
|
5
|
+
function parseArgs(argv) {
|
|
6
|
+
const options = {
|
|
7
|
+
approve: false,
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
for (let index = 0; index < argv.length; index += 1) {
|
|
11
|
+
const arg = argv[index];
|
|
12
|
+
if (arg === "--approve") {
|
|
13
|
+
const value = (argv[index + 1] || "").trim().toLowerCase();
|
|
14
|
+
options.approve = value === "yes" || value === "true" || value === "1";
|
|
15
|
+
index += 1;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return options;
|
|
20
|
+
}
|
|
21
|
+
|
|
5
22
|
function git(args, allowFailure = false) {
|
|
6
23
|
try {
|
|
7
24
|
const output = execFileSync("git", args, { encoding: "utf8" });
|
|
@@ -30,7 +47,8 @@ function matchTestFile(filePath) {
|
|
|
30
47
|
|
|
31
48
|
async function scanMarkers(files) {
|
|
32
49
|
const markers = [];
|
|
33
|
-
|
|
50
|
+
// Match common marker formats while ignoring status arrows in workflow lines.
|
|
51
|
+
const pattern = /\b(TODO|FIXME|XXX|HACK)\b\s*(?::|-(?!>))/;
|
|
34
52
|
|
|
35
53
|
for (const file of files) {
|
|
36
54
|
try {
|
|
@@ -51,6 +69,7 @@ async function scanMarkers(files) {
|
|
|
51
69
|
}
|
|
52
70
|
|
|
53
71
|
async function main() {
|
|
72
|
+
const options = parseArgs(process.argv.slice(2));
|
|
54
73
|
const stagedFiles = splitLines(git(["diff", "--cached", "--name-only"], true));
|
|
55
74
|
const recentFiles = splitLines(git(["show", "--name-only", "--pretty=", "HEAD"], true));
|
|
56
75
|
const files = stagedFiles.length > 0 ? stagedFiles : recentFiles;
|
|
@@ -103,15 +122,27 @@ async function main() {
|
|
|
103
122
|
}
|
|
104
123
|
|
|
105
124
|
console.log("");
|
|
106
|
-
|
|
125
|
+
console.log("## Рекомендация ревьювера");
|
|
126
|
+
console.log(critical.length === 0 ? "- PASS_CANDIDATE" : "- FAIL");
|
|
127
|
+
|
|
128
|
+
if (critical.length > 0) {
|
|
129
|
+
console.log("");
|
|
107
130
|
console.log("## Решение");
|
|
108
|
-
console.log("-
|
|
109
|
-
process.exit(
|
|
131
|
+
console.log("- FAIL");
|
|
132
|
+
process.exit(1);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
console.log("");
|
|
136
|
+
if (!options.approve) {
|
|
137
|
+
console.log("## Решение");
|
|
138
|
+
console.log("- PENDING_USER_CONFIRMATION");
|
|
139
|
+
console.log("- Требуется явное подтверждение пользователя: Review Approved = yes");
|
|
140
|
+
process.exit(2);
|
|
110
141
|
}
|
|
111
142
|
|
|
112
143
|
console.log("## Решение");
|
|
113
|
-
console.log("-
|
|
114
|
-
process.exit(
|
|
144
|
+
console.log("- PASS_CONFIRMED");
|
|
145
|
+
process.exit(0);
|
|
115
146
|
}
|
|
116
147
|
|
|
117
148
|
main().catch((error) => {
|
|
@@ -3,8 +3,10 @@
|
|
|
3
3
|
- Task ID:
|
|
4
4
|
- Short Name:
|
|
5
5
|
- Owner Role:
|
|
6
|
-
- Status: TODO
|
|
6
|
+
- Status: TODO (TODO -> IN_PROGRESS -> REVIEW -> READY -> DONE -> PUBLISH for release tasks)
|
|
7
7
|
- Sprint:
|
|
8
|
+
- Parent Epic (optional):
|
|
9
|
+
- Git Strategy (main or feature branch + MR/PR):
|
|
8
10
|
|
|
9
11
|
## PRD Step
|
|
10
12
|
### Описание
|
package/template/README.md
CHANGED
|
@@ -11,7 +11,9 @@
|
|
|
11
11
|
Отдельно включён `Governance Watchdog Agent`:
|
|
12
12
|
- обязательный gate перед каждой командой;
|
|
13
13
|
- техническая проверка PRD-структуры через `npm run meta:verify`.
|
|
14
|
-
- обязательный review gate перед
|
|
14
|
+
- обязательный review gate перед коммитом:
|
|
15
|
+
- `npm run meta:review` (отчёт + рекомендация);
|
|
16
|
+
- `npm run meta:review-approve` (финальный PASS только после подтверждения пользователя).
|
|
15
17
|
|
|
16
18
|
## Что спросит init
|
|
17
19
|
1. Git режим: `github`, `local` или `skip`.
|
|
@@ -22,7 +24,12 @@
|
|
|
22
24
|
1. Каждый шаг содержит: `Описание -> Проверяемость -> Что сделано`.
|
|
23
25
|
2. Перед каждой задачей обязателен вывод `[Agent Auto-Select]` и `[Task Agent]`.
|
|
24
26
|
3. Коммиты и закрытие задачи в `DONE` только после явного подтверждения пользователя.
|
|
25
|
-
4.
|
|
27
|
+
4. В single-branch режиме используется статусный цикл: `TODO -> IN_PROGRESS -> REVIEW -> READY -> DONE` (для релизных задач дополнительно `-> PUBLISH`).
|
|
28
|
+
5. Без подтверждения пользователя максимум статуса: `REVIEW`; `READY` только после `RUN_REVIEW_GATE: PASS_CONFIRMED`.
|
|
29
|
+
6. `READY` = коммит + push (в `main` или в ветку с открытым MR/PR); `DONE` = интеграция в `main`; `PUBLISH` = опубликовано в latest.
|
|
30
|
+
7. Для больших фич (GitHub tracker) агент обязан предложить `feature issue` + `epic issue` и отдельную ветку.
|
|
31
|
+
8. В GitHub epic оформляется как issue с label `type:epic`, а feature связывается с ним ссылкой (`type:feature`).
|
|
32
|
+
9. Для релиза используется `Publishing Agent`: он создаёт release note с вошедшими задачами и переводит эти задачи в `PUBLISH`.
|
|
26
33
|
|
|
27
34
|
## Команды
|
|
28
35
|
Смотри `tracker-command-template.md`.
|
|
@@ -31,5 +38,6 @@
|
|
|
31
38
|
```bash
|
|
32
39
|
npm run meta:verify
|
|
33
40
|
npm run meta:review
|
|
41
|
+
npm run meta:review-approve
|
|
34
42
|
npm run meta:verify-link
|
|
35
43
|
```
|
package/template/agents.md
CHANGED
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
- `Engineering Agent`: реализация по контракту.
|
|
31
31
|
- `QA Agent`: проверка выполнения критериев и качество тестового покрытия.
|
|
32
32
|
- `Reviewer/Judge Agent`: независимая приёмка по заранее согласованным правилам.
|
|
33
|
+
- `Publishing Agent`: готовит release notes, фиксирует вошедшие задачи и переводит их в `PUBLISH`.
|
|
33
34
|
- `Documentation Agent`: поддержка и синхронизация артефактов.
|
|
34
35
|
|
|
35
36
|
## 4) Жёсткий Auto-Select и показ имени агента
|
|
@@ -98,6 +99,8 @@ Name: <agent role>
|
|
|
98
99
|
3. `RUN_REVIEW_GATE`
|
|
99
100
|
4. `COMMIT_BY_NAME`
|
|
100
101
|
5. `ASSIGN_SPRINT`
|
|
102
|
+
6. `PREPARE_RELEASE_NOTE`
|
|
103
|
+
7. `MARK_TASKS_PUBLISH`
|
|
101
104
|
|
|
102
105
|
## 10) Коммиты и закрытие задач: только по подтверждению пользователя
|
|
103
106
|
Запрещено выполнять автоматически:
|
|
@@ -105,10 +108,26 @@ Name: <agent role>
|
|
|
105
108
|
- перевод задачи в `DONE`.
|
|
106
109
|
|
|
107
110
|
Обязательное правило:
|
|
108
|
-
-
|
|
111
|
+
- для single-branch режима статусный цикл задачи фиксируется как `TODO -> IN_PROGRESS -> REVIEW -> READY -> DONE` (для релизных задач дополнительно `-> PUBLISH`);
|
|
112
|
+
- `RUN_REVIEW_GATE` сначала формирует отчёт ревьювера и рекомендацию (`PASS_CANDIDATE`/`FAIL`);
|
|
113
|
+
- финальный `RUN_REVIEW_GATE: PASS_CONFIRMED` допускается только после явного подтверждения пользователя `Review Approved: yes`;
|
|
114
|
+
- `COMMIT_BY_NAME` выполняется только после `RUN_REVIEW_GATE: PASS_CONFIRMED` и отдельного явного подтверждения пользователя в текущем диалоге;
|
|
109
115
|
- `SET_STATUS -> DONE` выполняется только после явного подтверждения пользователя в текущем диалоге;
|
|
110
|
-
- без подтверждения пользователя максимум допустимого статуса: `
|
|
116
|
+
- без подтверждения пользователя максимум допустимого статуса: `REVIEW`.
|
|
117
|
+
- `SET_STATUS -> READY` разрешён только после `RUN_REVIEW_GATE: PASS_CONFIRMED`.
|
|
111
118
|
- сообщение коммита обязано содержать ссылку на задачу (`TASK-ID` и/или `#issue-number`).
|
|
119
|
+
- `READY` означает: коммит сделан и отправлен (`push`), при этом либо в `main`, либо в отдельной ветке с открытым MR/PR.
|
|
120
|
+
- `DONE` означает: изменения интегрированы в `main` (прямой коммит в `main` или MR/PR смержен).
|
|
121
|
+
- `PUBLISH` означает: релиз опубликован и доступен в последней версии пакета.
|
|
122
|
+
|
|
123
|
+
## 10.1) Правило для больших фич (GitHub tracker)
|
|
124
|
+
Если задача классифицирована как большая фича, система обязана предложить:
|
|
125
|
+
- создать `feature issue` (`type:feature`);
|
|
126
|
+
- создать `epic issue` (`type:epic`);
|
|
127
|
+
- выделить отдельную ветку разработки;
|
|
128
|
+
- связать feature с epic в GitHub issue (ссылка в body/comment/task list).
|
|
129
|
+
|
|
130
|
+
Для текущего этапа (только GitHub tracker) epic реализуется как обычный issue с label `type:epic`.
|
|
112
131
|
|
|
113
132
|
## 11) Жёсткие критерии приёмки (все обязательны)
|
|
114
133
|
Задача принимается только если одновременно выполнены все условия:
|
|
@@ -123,7 +142,13 @@ Name: <agent role>
|
|
|
123
142
|
9. Если задача закрыта в `DONE`, есть явное подтверждение пользователя на закрытие.
|
|
124
143
|
10. Перед каждой командой пройден `VERIFY_GOVERNANCE_GATE` от `Governance Watchdog Agent`.
|
|
125
144
|
11. Перед коммитом пройден `RUN_REVIEW_GATE` от `Reviewer/Judge Agent`.
|
|
126
|
-
12.
|
|
145
|
+
12. Есть явное подтверждение пользователя на прохождение review (`Review Approved: yes`).
|
|
146
|
+
13. До review gate задача переведена в статус `REVIEW`.
|
|
147
|
+
14. Статус `READY` выставлен только после `RUN_REVIEW_GATE: PASS_CONFIRMED`.
|
|
148
|
+
15. Для статуса `READY` подтверждены `commit + push` и путь интеграции (`main` или открытый MR/PR).
|
|
149
|
+
16. Для статуса `DONE` подтверждена интеграция в `main` (direct commit или merged MR/PR).
|
|
150
|
+
17. Для статуса `PUBLISH` подтверждена публикация в последней версии.
|
|
151
|
+
18. Коммит содержит ссылку на issue/task (`TASK-ID` или `#issue`).
|
|
127
152
|
|
|
128
153
|
Если хотя бы один критерий не выполнен, задача не принимается.
|
|
129
154
|
|
package/template/package.json
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
"meta:status": "node .meta-agents/scripts/sync-status.mjs",
|
|
7
7
|
"meta:verify": "node .meta-agents/scripts/verify-governance.mjs",
|
|
8
8
|
"meta:review": "node .meta-agents/scripts/run-review-gate.mjs",
|
|
9
|
+
"meta:review-approve": "node .meta-agents/scripts/run-review-gate.mjs --approve yes",
|
|
9
10
|
"meta:verify-link": "node .meta-agents/scripts/verify-commit-link.mjs"
|
|
10
11
|
}
|
|
11
12
|
}
|
|
@@ -38,13 +38,37 @@ result PASS
|
|
|
38
38
|
- `COMMIT_BY_NAME`;
|
|
39
39
|
- перевод задачи в `DONE`.
|
|
40
40
|
|
|
41
|
-
Без подтверждения пользователя можно переводить задачу максимум в `
|
|
41
|
+
Без подтверждения пользователя можно переводить задачу максимум в `REVIEW`.
|
|
42
|
+
`SET_STATUS -> READY` разрешён только после `RUN_REVIEW_GATE: PASS_CONFIRMED`.
|
|
42
43
|
|
|
43
44
|
Дополнительно для коммита:
|
|
44
|
-
- `
|
|
45
|
+
- для single-branch режима используется цикл `TODO -> IN_PROGRESS -> REVIEW -> READY -> DONE` (для релизных задач дополнительно `-> PUBLISH`);
|
|
46
|
+
- `RUN_REVIEW_GATE` работает в два этапа:
|
|
47
|
+
- сначала отчёт и рекомендация (`PASS_CANDIDATE`/`FAIL`);
|
|
48
|
+
- после явного подтверждения пользователя (`Review Approved: yes`) — финальный `PASS_CONFIRMED`;
|
|
49
|
+
- `COMMIT_BY_NAME` разрешён только после `RUN_REVIEW_GATE: PASS_CONFIRMED`;
|
|
45
50
|
- сообщение коммита обязательно содержит `TASK-ID` и/или `#issue-number`.
|
|
46
51
|
|
|
47
|
-
|
|
52
|
+
Для GitHub трекера статус issue задаётся label-ом (одновременно только один статус из набора):
|
|
53
|
+
- `TODO`
|
|
54
|
+
- `IN_PROGRESS`
|
|
55
|
+
- `REVIEW`
|
|
56
|
+
- `READY`
|
|
57
|
+
- `BLOCKED`
|
|
58
|
+
- `DONE`
|
|
59
|
+
- `PUBLISH`
|
|
60
|
+
|
|
61
|
+
Семантика статусов:
|
|
62
|
+
- `READY`: коммит сделан и отправлен (`push`), изменения находятся либо в `main`, либо в отдельной ветке с открытым MR/PR.
|
|
63
|
+
- `DONE`: изменения интегрированы в `main` (direct commit в `main` или MR/PR смержен).
|
|
64
|
+
- `PUBLISH`: релиз опубликован и доступен в последней версии пакета.
|
|
65
|
+
|
|
66
|
+
Правило больших фич (GitHub tracker):
|
|
67
|
+
- если фича крупная, агент обязан предложить `feature issue` + `epic issue` и отдельную ветку;
|
|
68
|
+
- epic в GitHub оформляется как issue с label `type:epic`;
|
|
69
|
+
- feature оформляется как issue с label `type:feature` и ссылкой на epic.
|
|
70
|
+
|
|
71
|
+
## 2) Канонические команды (через Agile Manager Agent / Publishing Agent)
|
|
48
72
|
### VERIFY_GOVERNANCE_GATE
|
|
49
73
|
```text
|
|
50
74
|
[Agent Auto-Select]
|
|
@@ -72,10 +96,27 @@ Name: Reviewer/Judge Agent
|
|
|
72
96
|
Reviewer/Judge Agent: run review gate,
|
|
73
97
|
task DEV-12,
|
|
74
98
|
checklist "what_done_summary, critical_findings, potential_risks, issue_link_presence",
|
|
75
|
-
result
|
|
99
|
+
result PASS_CANDIDATE,
|
|
76
100
|
report "posted to issue #12"
|
|
77
101
|
```
|
|
78
102
|
|
|
103
|
+
```text
|
|
104
|
+
[User Confirmation]
|
|
105
|
+
Review Approved: yes
|
|
106
|
+
|
|
107
|
+
[Agent Auto-Select]
|
|
108
|
+
Selected: Reviewer/Judge Agent
|
|
109
|
+
Reason: Подтверждение review пользователем получено, фиксируем финальный результат.
|
|
110
|
+
|
|
111
|
+
[Task Agent]
|
|
112
|
+
Name: Reviewer/Judge Agent
|
|
113
|
+
|
|
114
|
+
Reviewer/Judge Agent: run review gate,
|
|
115
|
+
task DEV-12,
|
|
116
|
+
approve yes,
|
|
117
|
+
result PASS_CONFIRMED
|
|
118
|
+
```
|
|
119
|
+
|
|
79
120
|
### CREATE_TASK
|
|
80
121
|
```text
|
|
81
122
|
[Agent Auto-Select]
|
|
@@ -111,6 +152,57 @@ status IN_PROGRESS,
|
|
|
111
152
|
reason "начата реализация"
|
|
112
153
|
```
|
|
113
154
|
|
|
155
|
+
### SET_STATUS -> REVIEW (обязателен перед review gate)
|
|
156
|
+
```text
|
|
157
|
+
[Agent Auto-Select]
|
|
158
|
+
Selected: Agile Manager Agent
|
|
159
|
+
Reason: Реализация завершена, задача передаётся в review.
|
|
160
|
+
|
|
161
|
+
[Task Agent]
|
|
162
|
+
Name: Agile Manager Agent
|
|
163
|
+
|
|
164
|
+
Agile Manager Agent: set status,
|
|
165
|
+
tracker github,
|
|
166
|
+
task DEV-12,
|
|
167
|
+
status REVIEW,
|
|
168
|
+
reason "готово к review gate"
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### CREATE_EPIC (для большой фичи)
|
|
172
|
+
```text
|
|
173
|
+
[Agent Auto-Select]
|
|
174
|
+
Selected: Agile Manager Agent
|
|
175
|
+
Reason: Большая фича требует эпик в GitHub-трекере.
|
|
176
|
+
|
|
177
|
+
[Task Agent]
|
|
178
|
+
Name: Agile Manager Agent
|
|
179
|
+
|
|
180
|
+
Agile Manager Agent: create task,
|
|
181
|
+
tracker github,
|
|
182
|
+
type epic,
|
|
183
|
+
labels "type:epic,tracker:github,sprint:SPRINT-3",
|
|
184
|
+
short name "EPIC: новый подбор офферов",
|
|
185
|
+
description "Родительская задача для крупной фичи"
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### CREATE_FEATURE_AND_LINK_TO_EPIC
|
|
189
|
+
```text
|
|
190
|
+
[Agent Auto-Select]
|
|
191
|
+
Selected: Agile Manager Agent
|
|
192
|
+
Reason: Нужна отдельная feature-задача, связанная с epic.
|
|
193
|
+
|
|
194
|
+
[Task Agent]
|
|
195
|
+
Name: Agile Manager Agent
|
|
196
|
+
|
|
197
|
+
Agile Manager Agent: create task,
|
|
198
|
+
tracker github,
|
|
199
|
+
type feature,
|
|
200
|
+
labels "type:feature,tracker:github,sprint:SPRINT-3",
|
|
201
|
+
short name "FEATURE: scoring pipeline v2",
|
|
202
|
+
description "Дочерняя feature в рамках epic #42",
|
|
203
|
+
link to epic "#42"
|
|
204
|
+
```
|
|
205
|
+
|
|
114
206
|
### COMMIT_BY_NAME (только после подтверждения пользователя)
|
|
115
207
|
```text
|
|
116
208
|
[Agent Auto-Select]
|
|
@@ -128,10 +220,29 @@ tracker github,
|
|
|
128
220
|
task "API редирект офферов",
|
|
129
221
|
issue 12,
|
|
130
222
|
commit message "DEV-12 | API редирект офферов (#12)",
|
|
223
|
+
push yes,
|
|
224
|
+
branch "feature/DEV-12-api-redirect",
|
|
225
|
+
open mr "optional",
|
|
131
226
|
target status READY,
|
|
132
227
|
what done "добавлен endpoint, тесты, обработка ошибок"
|
|
133
228
|
```
|
|
134
229
|
|
|
230
|
+
### SET_STATUS -> PUBLISH (после фактической публикации)
|
|
231
|
+
```text
|
|
232
|
+
[Agent Auto-Select]
|
|
233
|
+
Selected: Agile Manager Agent
|
|
234
|
+
Reason: Публикация релиза завершена, фиксируем статус поставки.
|
|
235
|
+
|
|
236
|
+
[Task Agent]
|
|
237
|
+
Name: Agile Manager Agent
|
|
238
|
+
|
|
239
|
+
Agile Manager Agent: set status,
|
|
240
|
+
tracker github,
|
|
241
|
+
task DEV-12,
|
|
242
|
+
status PUBLISH,
|
|
243
|
+
reason "релиз опубликован в latest"
|
|
244
|
+
```
|
|
245
|
+
|
|
135
246
|
### SET_STATUS -> DONE (только после подтверждения пользователя)
|
|
136
247
|
```text
|
|
137
248
|
[Agent Auto-Select]
|
|
@@ -166,6 +277,38 @@ task DEV-12,
|
|
|
166
277
|
sprint SPRINT-3
|
|
167
278
|
```
|
|
168
279
|
|
|
280
|
+
### PREPARE_RELEASE_NOTE
|
|
281
|
+
```text
|
|
282
|
+
[Agent Auto-Select]
|
|
283
|
+
Selected: Publishing Agent
|
|
284
|
+
Reason: Нужно зафиксировать состав релиза и задачи, вошедшие в поставку.
|
|
285
|
+
|
|
286
|
+
[Task Agent]
|
|
287
|
+
Name: Publishing Agent
|
|
288
|
+
|
|
289
|
+
Publishing Agent: prepare release note,
|
|
290
|
+
tracker github,
|
|
291
|
+
version v0.1.2,
|
|
292
|
+
included tasks "#2,#3,#4,#5,#6,#7,#8",
|
|
293
|
+
output "docs/internal/release-notes/v0.1.2.md"
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
### MARK_TASKS_PUBLISH
|
|
297
|
+
```text
|
|
298
|
+
[Agent Auto-Select]
|
|
299
|
+
Selected: Publishing Agent
|
|
300
|
+
Reason: После релиза нужно перевести вошедшие задачи в статус PUBLISH.
|
|
301
|
+
|
|
302
|
+
[Task Agent]
|
|
303
|
+
Name: Publishing Agent
|
|
304
|
+
|
|
305
|
+
Publishing Agent: mark tasks publish,
|
|
306
|
+
tracker github,
|
|
307
|
+
tasks "#2,#3,#4,#5,#6,#7,#8",
|
|
308
|
+
status PUBLISH,
|
|
309
|
+
reason "вошло в релиз v0.1.2"
|
|
310
|
+
```
|
|
311
|
+
|
|
169
312
|
## 3) PRD-блок для каждого шага (обязателен)
|
|
170
313
|
```markdown
|
|
171
314
|
## PRD Step: <stage-name>
|
|
@@ -190,7 +333,12 @@ sprint SPRINT-3
|
|
|
190
333
|
2. `CREATE_TASK`.
|
|
191
334
|
3. `SET_STATUS -> IN_PROGRESS`.
|
|
192
335
|
4. Реализация + evidence.
|
|
193
|
-
5. `
|
|
194
|
-
6. `
|
|
195
|
-
7. `
|
|
196
|
-
8. `
|
|
336
|
+
5. `SET_STATUS -> REVIEW`.
|
|
337
|
+
6. `RUN_REVIEW_GATE` (получить report + `PASS_CANDIDATE`/`FAIL`).
|
|
338
|
+
7. Пользователь подтверждает review (`Review Approved: yes`).
|
|
339
|
+
8. `RUN_REVIEW_GATE` -> `PASS_CONFIRMED`.
|
|
340
|
+
9. `COMMIT_BY_NAME` только после review PASS_CONFIRMED и отдельного подтверждения пользователя на коммит.
|
|
341
|
+
10. `SET_STATUS -> READY`.
|
|
342
|
+
11. `SET_STATUS -> DONE` только после подтверждения пользователя.
|
|
343
|
+
12. `PREPARE_RELEASE_NOTE` (какие задачи вошли в релиз).
|
|
344
|
+
13. Для релизных задач после публикации: `MARK_TASKS_PUBLISH` (`SET_STATUS -> PUBLISH` для всех вошедших задач).
|
|
@@ -38,12 +38,36 @@ result PASS
|
|
|
38
38
|
- `COMMIT_BY_NAME`;
|
|
39
39
|
- перевод задачи в `DONE`.
|
|
40
40
|
|
|
41
|
-
Без подтверждения пользователя можно переводить задачу максимум в `
|
|
41
|
+
Без подтверждения пользователя можно переводить задачу максимум в `REVIEW`.
|
|
42
|
+
`SET_STATUS -> READY` разрешён только после `RUN_REVIEW_GATE: PASS_CONFIRMED`.
|
|
42
43
|
|
|
43
44
|
Дополнительно для коммита:
|
|
44
|
-
- `
|
|
45
|
+
- для single-branch режима используется цикл `TODO -> IN_PROGRESS -> REVIEW -> READY -> DONE` (для релизных задач дополнительно `-> PUBLISH`);
|
|
46
|
+
- `RUN_REVIEW_GATE` работает в два этапа:
|
|
47
|
+
- сначала отчёт и рекомендация (`PASS_CANDIDATE`/`FAIL`);
|
|
48
|
+
- после явного подтверждения пользователя (`Review Approved: yes`) — финальный `PASS_CONFIRMED`;
|
|
49
|
+
- `COMMIT_BY_NAME` разрешён только после `RUN_REVIEW_GATE: PASS_CONFIRMED`;
|
|
45
50
|
- сообщение коммита обязательно содержит `TASK-ID` и/или `#issue-number`.
|
|
46
51
|
|
|
52
|
+
Для GitHub трекера статус issue задаётся label-ом (одновременно только один статус из набора):
|
|
53
|
+
- `TODO`
|
|
54
|
+
- `IN_PROGRESS`
|
|
55
|
+
- `REVIEW`
|
|
56
|
+
- `READY`
|
|
57
|
+
- `BLOCKED`
|
|
58
|
+
- `DONE`
|
|
59
|
+
- `PUBLISH`
|
|
60
|
+
|
|
61
|
+
Семантика статусов:
|
|
62
|
+
- `READY`: коммит сделан и отправлен (`push`), изменения находятся либо в `main`, либо в отдельной ветке с открытым MR/PR.
|
|
63
|
+
- `DONE`: изменения интегрированы в `main` (direct commit в `main` или MR/PR смержен).
|
|
64
|
+
- `PUBLISH`: релиз опубликован и доступен в последней версии пакета.
|
|
65
|
+
|
|
66
|
+
Правило больших фич (GitHub tracker):
|
|
67
|
+
- если фича крупная, агент обязан предложить `feature issue` + `epic issue` и отдельную ветку;
|
|
68
|
+
- epic в GitHub оформляется как issue с label `type:epic`;
|
|
69
|
+
- feature оформляется как issue с label `type:feature` и ссылкой на epic.
|
|
70
|
+
|
|
47
71
|
## 2) Канонические команды (через Agile Manager Agent)
|
|
48
72
|
### VERIFY_GOVERNANCE_GATE
|
|
49
73
|
```text
|
|
@@ -72,10 +96,27 @@ Name: Reviewer/Judge Agent
|
|
|
72
96
|
Reviewer/Judge Agent: run review gate,
|
|
73
97
|
task DEV-12,
|
|
74
98
|
checklist "what_done_summary, critical_findings, potential_risks, issue_link_presence",
|
|
75
|
-
result
|
|
99
|
+
result PASS_CANDIDATE,
|
|
76
100
|
report "posted to issue #12"
|
|
77
101
|
```
|
|
78
102
|
|
|
103
|
+
```text
|
|
104
|
+
[User Confirmation]
|
|
105
|
+
Review Approved: yes
|
|
106
|
+
|
|
107
|
+
[Agent Auto-Select]
|
|
108
|
+
Selected: Reviewer/Judge Agent
|
|
109
|
+
Reason: Подтверждение review пользователем получено, фиксируем финальный результат.
|
|
110
|
+
|
|
111
|
+
[Task Agent]
|
|
112
|
+
Name: Reviewer/Judge Agent
|
|
113
|
+
|
|
114
|
+
Reviewer/Judge Agent: run review gate,
|
|
115
|
+
task DEV-12,
|
|
116
|
+
approve yes,
|
|
117
|
+
result PASS_CONFIRMED
|
|
118
|
+
```
|
|
119
|
+
|
|
79
120
|
### CREATE_TASK
|
|
80
121
|
```text
|
|
81
122
|
[Agent Auto-Select]
|
|
@@ -111,6 +152,57 @@ status IN_PROGRESS,
|
|
|
111
152
|
reason "начата реализация"
|
|
112
153
|
```
|
|
113
154
|
|
|
155
|
+
### SET_STATUS -> REVIEW (обязателен перед review gate)
|
|
156
|
+
```text
|
|
157
|
+
[Agent Auto-Select]
|
|
158
|
+
Selected: Agile Manager Agent
|
|
159
|
+
Reason: Реализация завершена, задача передаётся в review.
|
|
160
|
+
|
|
161
|
+
[Task Agent]
|
|
162
|
+
Name: Agile Manager Agent
|
|
163
|
+
|
|
164
|
+
Agile Manager Agent: set status,
|
|
165
|
+
tracker github,
|
|
166
|
+
task DEV-12,
|
|
167
|
+
status REVIEW,
|
|
168
|
+
reason "готово к review gate"
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### CREATE_EPIC (для большой фичи)
|
|
172
|
+
```text
|
|
173
|
+
[Agent Auto-Select]
|
|
174
|
+
Selected: Agile Manager Agent
|
|
175
|
+
Reason: Большая фича требует эпик в GitHub-трекере.
|
|
176
|
+
|
|
177
|
+
[Task Agent]
|
|
178
|
+
Name: Agile Manager Agent
|
|
179
|
+
|
|
180
|
+
Agile Manager Agent: create task,
|
|
181
|
+
tracker github,
|
|
182
|
+
type epic,
|
|
183
|
+
labels "type:epic,tracker:github,sprint:SPRINT-3",
|
|
184
|
+
short name "EPIC: новый подбор офферов",
|
|
185
|
+
description "Родительская задача для крупной фичи"
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### CREATE_FEATURE_AND_LINK_TO_EPIC
|
|
189
|
+
```text
|
|
190
|
+
[Agent Auto-Select]
|
|
191
|
+
Selected: Agile Manager Agent
|
|
192
|
+
Reason: Нужна отдельная feature-задача, связанная с epic.
|
|
193
|
+
|
|
194
|
+
[Task Agent]
|
|
195
|
+
Name: Agile Manager Agent
|
|
196
|
+
|
|
197
|
+
Agile Manager Agent: create task,
|
|
198
|
+
tracker github,
|
|
199
|
+
type feature,
|
|
200
|
+
labels "type:feature,tracker:github,sprint:SPRINT-3",
|
|
201
|
+
short name "FEATURE: scoring pipeline v2",
|
|
202
|
+
description "Дочерняя feature в рамках epic #42",
|
|
203
|
+
link to epic "#42"
|
|
204
|
+
```
|
|
205
|
+
|
|
114
206
|
### COMMIT_BY_NAME (только после подтверждения пользователя)
|
|
115
207
|
```text
|
|
116
208
|
[Agent Auto-Select]
|
|
@@ -128,10 +220,29 @@ tracker github,
|
|
|
128
220
|
task "API редирект офферов",
|
|
129
221
|
issue 12,
|
|
130
222
|
commit message "DEV-12 | API редирект офферов (#12)",
|
|
223
|
+
push yes,
|
|
224
|
+
branch "feature/DEV-12-api-redirect",
|
|
225
|
+
open mr "optional",
|
|
131
226
|
target status READY,
|
|
132
227
|
what done "добавлен endpoint, тесты, обработка ошибок"
|
|
133
228
|
```
|
|
134
229
|
|
|
230
|
+
### SET_STATUS -> PUBLISH (после фактической публикации)
|
|
231
|
+
```text
|
|
232
|
+
[Agent Auto-Select]
|
|
233
|
+
Selected: Agile Manager Agent
|
|
234
|
+
Reason: Публикация релиза завершена, фиксируем статус поставки.
|
|
235
|
+
|
|
236
|
+
[Task Agent]
|
|
237
|
+
Name: Agile Manager Agent
|
|
238
|
+
|
|
239
|
+
Agile Manager Agent: set status,
|
|
240
|
+
tracker github,
|
|
241
|
+
task DEV-12,
|
|
242
|
+
status PUBLISH,
|
|
243
|
+
reason "релиз опубликован в latest"
|
|
244
|
+
```
|
|
245
|
+
|
|
135
246
|
### SET_STATUS -> DONE (только после подтверждения пользователя)
|
|
136
247
|
```text
|
|
137
248
|
[Agent Auto-Select]
|
|
@@ -190,7 +301,11 @@ sprint SPRINT-3
|
|
|
190
301
|
2. `CREATE_TASK`.
|
|
191
302
|
3. `SET_STATUS -> IN_PROGRESS`.
|
|
192
303
|
4. Реализация + evidence.
|
|
193
|
-
5. `
|
|
194
|
-
6. `
|
|
195
|
-
7. `
|
|
196
|
-
8. `
|
|
304
|
+
5. `SET_STATUS -> REVIEW`.
|
|
305
|
+
6. `RUN_REVIEW_GATE` (получить report + `PASS_CANDIDATE`/`FAIL`).
|
|
306
|
+
7. Пользователь подтверждает review (`Review Approved: yes`).
|
|
307
|
+
8. `RUN_REVIEW_GATE` -> `PASS_CONFIRMED`.
|
|
308
|
+
9. `COMMIT_BY_NAME` только после review PASS_CONFIRMED и отдельного подтверждения пользователя на коммит.
|
|
309
|
+
10. `SET_STATUS -> READY`.
|
|
310
|
+
11. `SET_STATUS -> DONE` только после подтверждения пользователя.
|
|
311
|
+
12. Для релизных задач после публикации: `SET_STATUS -> PUBLISH`.
|