docs(agent-ops): 마일스톤 완료 상태와 회귀 방지 기준을 반영한다
- plane-origin-authoring-roundtrip-sync 마일스톤 gito-delivery, scan-enqueue, plane-todo, slot-finalize, regression-doc 완료 체크 - 완료 리뷰에 각 Task 완료 근거와 활성 plan 목록 업데이트 - live-cycle-smoke에 완료 오인 방지 기준 추가 - filename slug canonical id, archive 제외, provider identity - IOP queue timeout/stale, push-only 누락, Gito delivery-only 성공
This commit is contained in:
parent
af78e429e3
commit
7c23dae7cc
2 changed files with 34 additions and 8 deletions
|
|
@ -73,10 +73,10 @@ Git/Plane 동기화는 path나 provider work item id가 아니라 Milestone 파
|
|||
|
||||
Gito HTTP webhook wakeup 이후 Core sync pipeline이 active Milestone reconcile과 Plane Todo projection까지 닫히는지 실제 환경 기준으로 검증한다.
|
||||
|
||||
- [ ] [gito-delivery] Forgejo push -> Gito -> NomadCode Core signed HTTP webhook delivery가 remote `develop` push마다 들어온다. 검증: Gito subscription target, signed delivery 202, Core gito webhook log, duplicate delivery 처리 결과를 secret 없이 확인한다.
|
||||
- [ ] [scan-enqueue] Gito wakeup이 local develop checkout fetch와 active Milestone index scan 이후 slug 단위 reconcile job enqueue로 이어진다. 검증: 변경 파일 힌트와 무관하게 active Milestone 전체가 reconcile 후보가 되고, archive Milestone은 제외된다.
|
||||
- [ ] [plane-todo] reconcile job이 Plane 원문 댓글 보존, Milestone 본문 projection, `[milestone-id]` 제목 갱신, `Todo` 이동까지 완료한다. 검증: Plane UI/API와 `roadmap_sync_steps`에서 `milestone_id_matched`, `original_comment_preserved`, `plane_body_updated`, `plane_todo_moved`를 확인한다.
|
||||
- [ ] [slot-finalize] projected, failed, timeout, queue timeout, push failed, identity missing 결과가 workspace slot 상태와 task metadata에 일관되게 반영된다. 검증: 성공은 slot `available`, 수동 복구가 필요한 git 상태는 `dirty`, bridge/provider 오류는 `error`로 수렴한다.
|
||||
- [x] [gito-delivery] Forgejo push -> Gito -> NomadCode Core signed HTTP webhook delivery가 remote `develop` push마다 들어온다. 검증: Gito subscription target, signed delivery 202, Core gito webhook log, duplicate delivery 처리 결과를 secret 없이 확인한다.
|
||||
- [x] [scan-enqueue] Gito wakeup이 local develop checkout fetch와 active Milestone index scan 이후 slug 단위 reconcile job enqueue로 이어진다. 검증: 변경 파일 힌트와 무관하게 active Milestone 전체가 reconcile 후보가 되고, archive Milestone은 제외된다.
|
||||
- [x] [plane-todo] reconcile job이 Plane 원문 댓글 보존, Milestone 본문 projection, `[milestone-id]` 제목 갱신, `Todo` 이동까지 완료한다. 검증: Plane UI/API와 `roadmap_sync_steps`에서 `milestone_id_matched`, `original_comment_preserved`, `plane_body_updated`, `plane_todo_moved`를 확인한다.
|
||||
- [x] [slot-finalize] projected, failed, timeout, queue timeout, push failed, identity missing 결과가 workspace slot 상태와 task metadata에 일관되게 반영된다. 검증: 성공은 slot `available`, 수동 복구가 필요한 git 상태는 `dirty`, bridge/provider 오류는 `error`로 수렴한다.
|
||||
|
||||
### Epic: [live-gate] End-to-end live smoke gate
|
||||
|
||||
|
|
@ -84,7 +84,7 @@ Gito HTTP webhook wakeup 이후 Core sync pipeline이 active Milestone reconcile
|
|||
|
||||
- [ ] [remote-baseline] standard remote runner, Core compose, IOP workspace clone, Gito service, Forgejo webhook, project sync DB 설정을 현재 요청 기준으로 reset/clean/reclone 또는 rebuild해 맞춘다. 검증: dirty runner 상태를 차단 사유로 삼지 않고 최신 local 작업 범위와 같은 테스트 환경으로 만든다.
|
||||
- [ ] [full-cycle] 새 Plane Backlog 티켓을 AGENT에 assign한 authoring roundtrip과, Git에만 있는 active Milestone을 Plane에 생성하는 reconcile roundtrip을 함께 확인한다. 검증: `agent-test/live-cycle-smoke.md` 절차에 따라 secret redaction 상태의 live evidence가 남는다.
|
||||
- [ ] [regression-doc] 이번 회귀 원인과 방지 기준을 `agent-test/live-cycle-smoke.md` 또는 core README의 비밀 없는 운영 규칙에 반영한다. 검증: filename slug canonical id, archive 제외, provider identity 누락, IOP queue timeout, push-only 단계 누락, Gito delivery-only 성공을 각각 완료 조건으로 오인하지 않는 기준이 문서화된다.
|
||||
- [x] [regression-doc] 이번 회귀 원인과 방지 기준을 `agent-test/live-cycle-smoke.md` 또는 core README의 비밀 없는 운영 규칙에 반영한다. 검증: filename slug canonical id, archive 제외, provider identity 누락, IOP queue timeout, push-only 단계 누락, Gito delivery-only 성공을 각각 완료 조건으로 오인하지 않는 기준이 문서화된다.
|
||||
|
||||
## 완료 리뷰
|
||||
|
||||
|
|
@ -158,6 +158,22 @@ Gito HTTP webhook wakeup 이후 Core sync pipeline이 active Milestone reconcile
|
|||
- `agent-task/archive/2026/06/m-plane-origin-authoring-roundtrip-sync/05_canonical_id/complete.log`
|
||||
- `agent-task/archive/2026/06/m-plane-origin-authoring-roundtrip-sync/06+05_plane_missing_create/complete.log`
|
||||
- `agent-task/archive/2026/06/m-plane-origin-authoring-roundtrip-sync/07+05,06_slug_reconcile/complete.log`
|
||||
- 현재 활성 `agent-task` plan/review/user-review/complete 파일은 없다.
|
||||
- 현재 남은 실구현/검증 후보는 `gito-delivery`, `scan-enqueue`, `plane-todo`, `slot-finalize`, `remote-baseline`, `full-cycle`, `regression-doc`이다.
|
||||
- `gito-delivery` Task는 signed delivery 202, Core Gito webhook log, duplicate delivery 202 결과를 secret 없이 재확인한 근거로 완료 처리했다.
|
||||
- `scan-enqueue` Task는 Gito wakeup 이후 active Milestone 5개가 `roadmap_creation_sync`로 enqueue되고 archive Milestone 17개가 제외된 live evidence 근거로 완료 처리했다.
|
||||
- `plane-todo` Task는 Plane work item 원문 댓글 보존, Milestone body/title projection, `Todo` 이동, `roadmap_sync_steps` evidence와 bridge regression test 보강 근거로 완료 처리했다.
|
||||
- `slot-finalize` Task는 success completion의 stale authoring failure metadata 정리, terminal task metadata, slot state evidence와 workflow/scheduler/authoring 테스트 근거로 완료 처리했다.
|
||||
- `regression-doc` Task는 `agent-test/live-cycle-smoke.md`에 filename slug canonical id, archive 제외, provider identity 누락/불일치, IOP queue timeout/stale, push-only 단계, Gito delivery-only 성공을 완료로 오인하지 않는 기준을 문서화해 완료 처리했다.
|
||||
- 완료 근거:
|
||||
- `agent-task/archive/2026/06/m-plane-origin-authoring-roundtrip-sync/08+07_gito_delivery/complete.log`
|
||||
- `agent-task/archive/2026/06/m-plane-origin-authoring-roundtrip-sync/09+08_scan_enqueue/complete.log`
|
||||
- `agent-task/archive/2026/06/m-plane-origin-authoring-roundtrip-sync/10+09_plane_todo/complete.log`
|
||||
- `agent-task/archive/2026/06/m-plane-origin-authoring-roundtrip-sync/11+10_slot_finalize/complete.log`
|
||||
- `agent-test/live-cycle-smoke.md`
|
||||
- `remote-baseline`과 `full-cycle`은 큰 live runtime 작업으로 분류해 plan-loop에 진입시켰다.
|
||||
- 활성 plan/review:
|
||||
- `agent-task/m-plane-origin-authoring-roundtrip-sync/12_remote_baseline/PLAN-cloud-G07.md`
|
||||
- `agent-task/m-plane-origin-authoring-roundtrip-sync/12_remote_baseline/CODE_REVIEW-cloud-G07.md`
|
||||
- `agent-task/m-plane-origin-authoring-roundtrip-sync/13+12_full_cycle/PLAN-cloud-G08.md`
|
||||
- `agent-task/m-plane-origin-authoring-roundtrip-sync/13+12_full_cycle/CODE_REVIEW-cloud-G08.md`
|
||||
- 현재 남은 실구현/검증 후보는 `remote-baseline`, `full-cycle`이며, 둘 다 active plan 상태다.
|
||||
- 확인 필요: 없음
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ test_env: local
|
|||
test_profile: live-cycle-smoke
|
||||
domain: core
|
||||
verification_type: smoke
|
||||
last_rule_updated_at: 2026-06-20
|
||||
last_rule_updated_at: 2026-06-21
|
||||
---
|
||||
|
||||
# live-cycle-smoke
|
||||
|
|
@ -96,6 +96,16 @@ for t in d.get('tasks', []):
|
|||
| `live-creation-projection`: develop 스캔 → ledger steps → Plane Todo | Core log + Plane UI | 7→8 |
|
||||
| slot 재사용: 두 번째 smoke에서 slot available | API 응답 | 9 |
|
||||
|
||||
## 완료 오인 방지 기준
|
||||
|
||||
- filename slug canonical id: `roadmap_sync_identities.milestone_id` 또는 Core log가 `agent-roadmap/phase/*/milestones/<milestone-id>.md`의 파일명 slug 기준으로 매칭됨을 보여야 한다. `roadmap_milestone_path`나 Plane work item id만 맞는 증거는 완료 근거가 아니다.
|
||||
- archive 제외: active reconcile 후보는 `agent-roadmap/phase/*/milestones/*.md`만 포함해야 한다. `agent-roadmap/archive/**` 문서는 생성/갱신 대상이 아니라 이력 lookup 후보로만 남아야 한다.
|
||||
- provider identity 누락/불일치: generated Milestone에 provider identity가 없거나 원 Plane 티켓과 불일치하면 Plane `Todo` projection으로 넘기지 않는다. sync ledger 보강 또는 명시 failure evidence가 필요하다.
|
||||
- IOP queue timeout/stale: IOP `/v1/responses` 장시간 대기, queue timeout, stale monitor는 각각 task metadata에 관찰 가능한 상태로 남아야 한다. authoring 시작이나 단일 실패 로그만으로 terminal 완료/실패를 단정하지 않는다.
|
||||
- push-only 누락: authoring 응답 성공은 완료 근거가 아니다. push-only 요청, remote `develop` revision 확인, Gito wakeup 이후 reconcile evidence가 이어져야 다음 단계 완료로 본다.
|
||||
- Gito delivery-only 성공: signed webhook 202 또는 duplicate 202는 delivery 증거일 뿐 full-cycle 완료 근거가 아니다. active Milestone slug reconcile enqueue, `roadmap_sync_steps`, Plane body/title/comment projection, `Todo` 이동까지 확인한다.
|
||||
- full-cycle 완료: 새 Plane `Backlog + AGENT assignee` authoring roundtrip과 Git에만 있는 active Milestone missing-create/reconcile roundtrip을 모두 secret redaction 상태로 남긴다.
|
||||
|
||||
## 대체 근거 (런타임 에퀄리번트)
|
||||
|
||||
reviewed commit을 현재 실행 중인 서버에 배포하지 않은 경우 아래 단계로 대체 근거를 수집한다.
|
||||
|
|
|
|||
Loading…
Reference in a new issue