makdoong2-team 1.8.0 → 2.0.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/agents/makdoong2-analyzer.md +7 -2
- package/agents/makdoong2-issue-reporter.md +2 -1
- package/agents/makdoong2-publisher.md +7 -3
- package/agents/makdoong2-researcher.md +2 -1
- package/agents/makdoong2-verifier.md +5 -1
- package/assets/makdoong2-team.schema.json +15 -0
- package/bin/cli.js +367 -336
- package/bin/cli.ts +428 -0
- package/dist/config.d.ts +23 -0
- package/dist/config.js +113 -0
- package/dist/issue-reporter-guard.js +51 -1
- package/dist/model-fallback-policy.js +41 -4
- package/dist/opencode-plugin.js +351 -242
- package/dist/poll-sub-session.d.ts +4 -0
- package/dist/poll-sub-session.js +30 -2
- package/dist/redact-secrets.js +42 -10
- package/dist/state-access-guard.d.ts +40 -1
- package/dist/state-access-guard.js +174 -19
- package/gates/stage-analysis-verify.sh +12 -2
- package/gates/stage2-requirements-verify.sh +6 -1
- package/gates/stage3-scope-verify.sh +6 -1
- package/gates/stage4-dev-post-verify.sh +10 -5
- package/gates/stage4-dev-verify.sh +7 -2
- package/gates/stage5-coverage-verify.sh +6 -1
- package/gates/stage5-test-verify.sh +7 -2
- package/gates/stage6-commit-verify.sh +13 -2
- package/gates/stage6-post-commit-verify.sh +18 -4
- package/gates/stage7-post-pr-verify.sh +6 -1
- package/gates/stage7-pr-verify.sh +7 -2
- package/gates/stage8-post-review-verify.sh +6 -1
- package/gates/stage8-review-verify.sh +6 -1
- package/gates/verify.sh +7 -1
- package/package.json +4 -2
- package/postinstall.mjs +39 -36
- package/scripts/install-lib.mjs +800 -752
- package/scripts/install-lib.mts +1179 -0
- package/scripts/lint-agent-prompts.sh +38 -7
- package/scripts/model-policy.mjs +162 -159
- package/scripts/model-policy.mts +274 -0
- package/scripts/run-tests.mjs +102 -91
- package/scripts/run-tests.mts +162 -0
- package/scripts/smoke-test.mjs +128 -144
- package/scripts/smoke-test.mts +207 -0
- package/scripts/state.sh +78 -7
- package/scripts/test-postinstall.mjs +115 -112
- package/scripts/test-postinstall.mts +176 -0
- package/scripts/test-ubuntu.sh +2 -2
- package/scripts/wt-sync-ignored.sh +1 -1
- package/skills/_lib/load-secret.sh +53 -0
- package/skills/bamboo-ci/run-bamboo.sh +2 -1
- package/skills/bitbucket-research/run-repos.sh +2 -1
- package/skills/confluence-research/run-docs.sh +2 -1
- package/skills/jira-research/run-works.sh +2 -1
- package/src/hooks/sync-state.sh +33 -2
- package/stages/01-planning.md +27 -1
|
@@ -22,9 +22,14 @@ permission:
|
|
|
22
22
|
"git worktree add*": "deny"
|
|
23
23
|
"git worktree remove*": "deny"
|
|
24
24
|
"rm -rf*": "deny"
|
|
25
|
-
write
|
|
26
|
-
|
|
25
|
+
# 정식 키는 `edit` 다. opencode 의 permission 스키마에 `write` 키는 없고
|
|
26
|
+
# write/edit/patch 툴이 전부 `permission: "edit"` 으로 묻는다 — `write:` 로 적으면
|
|
27
|
+
# 규칙이 조용히 무시되고 기본값 ask 로 떨어진다.
|
|
28
|
+
# 규칙은 findLast(마지막 매치가 이김)라 **넓은 것을 위, 좁은 것을 아래**에 둔다.
|
|
29
|
+
edit:
|
|
27
30
|
"**/*": "deny"
|
|
31
|
+
".makdoong2-team/*/workspace-analysis.json": "allow"
|
|
32
|
+
"**/.makdoong2-team/*/workspace-analysis.json": "allow"
|
|
28
33
|
---
|
|
29
34
|
|
|
30
35
|
Analysis Phase — Workspace 구조·소스·의존성·관례·통합 지점 read-only 분석. **코드 변경 금지.** 산출물은 `workspace-analysis.json` 한 파일만 허용.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: makdoong2-publisher
|
|
3
|
-
description: workflow delivery phase (substages commit/pr/review) — atomic commit execution, PR creation, inline review comments.
|
|
3
|
+
description: "workflow delivery phase (substages commit/pr/review) — atomic commit execution, PR creation, inline review comments. DIRECT EXECUTOR: commit/pr/review 모두 본 에이전트가 worktree 에서 직접 git 명령·MCP 호출을 수행한다. Spawned by makdoong2-team-leader via dispatch_stage tool."
|
|
4
4
|
mode: subagent
|
|
5
5
|
tools:
|
|
6
6
|
Read: true
|
|
@@ -22,9 +22,13 @@ permission:
|
|
|
22
22
|
"git worktree add*": "deny"
|
|
23
23
|
"git worktree remove*": "deny"
|
|
24
24
|
"rm -rf*": "deny"
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
# 정식 키는 `edit`, 규칙은 findLast — 넓은 것을 위, 좁은 것을 아래. (analyzer 주석 참조)
|
|
26
|
+
edit:
|
|
27
27
|
"**/*": "deny"
|
|
28
|
+
".makdoong2-team/*/change-report.md": "allow"
|
|
29
|
+
"**/.makdoong2-team/*/change-report.md": "allow"
|
|
30
|
+
".makdoong2-team/*/review-comment-plan.json": "allow"
|
|
31
|
+
"**/.makdoong2-team/*/review-comment-plan.json": "allow"
|
|
28
32
|
---
|
|
29
33
|
|
|
30
34
|
Delivery Phase — 커밋·PR 생성·리뷰 코멘트. **직접 실행 모델**: commit/pr/review 3개 substage 모두 본 에이전트가 worktree 경로에서 **직접 `git add` / `git commit` / `git push` / bitbucket MCP** 를 호출한다. 부장님(team-leader)은 git 권한이 제거되어 있으며 오케스트레이션만 담당한다.
|
|
@@ -162,7 +162,11 @@ bash <SCRIPTS_DIR>/state.sh get <이슈키> '.stages."2_implementation".substage
|
|
|
162
162
|
- 제목 형식: `^(Feat|Fix|Chore|Refactor|Docs|Style|Test|Perf|Ci|Build|Revert): [A-Z]+-[0-9]+ - .+$`
|
|
163
163
|
- 제목 길이 ≤ 50자
|
|
164
164
|
- 제목에 결합어(`and`, `&`, `+`, `및`, `그리고`) 없음
|
|
165
|
-
- 본문에
|
|
165
|
+
- 본문에 이슈 참조 마커 `[RV] <이슈키>` 포함. **단 본문이 비어 있으면 면제** —
|
|
166
|
+
`gates/stage6-post-commit-verify.sh` §7 과 정확히 같은 규칙이다 (`\[RV\][[:space:]]+[A-Z]+-[0-9]+`).
|
|
167
|
+
`Resolves:`/`Closes:`/`Fixes:`/`See also:` 를 요구하지 말 것 — CLAUDE.md · `stages/07-commit.md` ·
|
|
168
|
+
`agents/makdoong2-publisher.md` · `references/` 어디에도 그 키워드는 없고, 규약대로 커밋하면
|
|
169
|
+
post-gate 는 통과하는데 verifier 만 REJECTED 를 내는 구조적 무한 재작업이 된다.
|
|
166
170
|
- 위반 시 → **REJECTED** + `finding.item = "3_delivery.commit.msg_convention_violation"` + `evidence` 에 위반 커밋 SHA·제목·위반 사유.
|
|
167
171
|
|
|
168
172
|
4. **필수 마커 확인**:
|
|
@@ -370,6 +370,21 @@
|
|
|
370
370
|
"description": "Per-source wall-clock budget. Default 10. Deliberately shorter than timeout.substage_minutes: a source that cannot answer in this window is recorded as failed so the other sources' findings still land."
|
|
371
371
|
}
|
|
372
372
|
}
|
|
373
|
+
},
|
|
374
|
+
"network": {
|
|
375
|
+
"type": "object",
|
|
376
|
+
"description": "사내 엔드포인트(Jira/Confluence/Bitbucket/Bamboo) 접속의 TLS 설정. skills/_lib/load-secret.sh 의 configure_tls_from_makdoong2_config 가 읽는다.",
|
|
377
|
+
"additionalProperties": false,
|
|
378
|
+
"properties": {
|
|
379
|
+
"ca_bundle": {
|
|
380
|
+
"type": "string",
|
|
381
|
+
"description": "사내 사설 CA 번들의 절대 경로. 지정하면 NODE_EXTRA_CA_CERTS 로 넘기고 인증서 검증을 켠다. 사설 CA 환경의 권장 설정이다."
|
|
382
|
+
},
|
|
383
|
+
"tls_reject_unauthorized": {
|
|
384
|
+
"type": "boolean",
|
|
385
|
+
"description": "true 면 인증서 검증을 켠다. ca_bundle 도 이 값도 없으면 검증을 끈 채 동작하며(종전 호환) 매 기동마다 경고를 낸다."
|
|
386
|
+
}
|
|
387
|
+
}
|
|
373
388
|
}
|
|
374
389
|
}
|
|
375
390
|
}
|