상위 조사: #1635 P2-C.
기존 계약: docs/specs/wave-plan-dag-v2/spec.md (PR #1710, review fix #1711).
선행 읽기 모델: docs/specs/task-lineage-read-model/, PR #1638/#1690/#1693.
관련 epic: #1601.
배경
#1635의 P2-C 조사 결과로 bounded WavePlanDagV2 source-only 계약과 deterministic dry-run fixture가 머지됐다. 계약은 선형 wave-plan v1을 유지하면서 DAG/분기 제안의 스키마, 상한, cycle/unknown dependency 차단, all-matching 검증을 정의한다.
현재 스펙은 runtime producer/consumer, dispatcher integration, persistence 또는 실제 실행을 명시적으로 포함하지 않는다. 따라서 lineage read model은 존재하지만 DAG 계획을 안전하게 채택·실행하는 후속이 추적되지 않는다.
목표
기존 v1을 깨지 않고 WavePlanDagV2를 default-off runtime surface에 연결해, 생성된 계획이 schema validation과 bounded dry-run rehearsal을 통과한 경우에만 실행 후보가 되도록 한다.
범위
수용 기준
- 유효한 합성 DAG가 dry-run에서 결정적 순서와 bounded 실행 계획을 산출한다.
- cycle, unknown dependency, budget 초과, all-matching 위반은 task 생성 전에 안정된 reason code로 fail closed한다.
- v2 비활성화 시 기존 wave-plan v1의 입력·출력·실행 동작이 완전히 동일하다.
- 모델/워커 출력은 schema validation과 dry-run 성공 없이는 실행 또는 persistence authority를 얻지 못한다.
- 중복 follow-up과 stale frontier가 lineage read evidence로 식별되며 자동 mutation 없이 operator-visible하게 투영된다.
- record/default-off rollout과 단일 플래그 rollback이 문서화된다.
비목표
- 모델이 생성한 임의 JS 오케스트레이션 스크립트 실행
- 무제한 DAG 성장 또는 동적 budget 상향
- v1 즉시 폐기
- 라이브 기본값 전환이나 자동 대규모 fanout
안전 경계
이 이슈는 production deploy, broker/worker/Gateway restart, live DAG dispatch/canary, DB migration, cross-broker mutation, provider send, secret 이동, release 또는 GitHub ruleset 변경을 승인하지 않는다. 실제 record/canary/enforce 활성화는 정확한 대상·상한·rollback을 포함한 별도 운영자 승인이 필요하다.
상위 조사: #1635 P2-C.
기존 계약:
docs/specs/wave-plan-dag-v2/spec.md(PR #1710, review fix #1711).선행 읽기 모델:
docs/specs/task-lineage-read-model/, PR #1638/#1690/#1693.관련 epic: #1601.
배경
#1635의 P2-C 조사 결과로 bounded
WavePlanDagV2source-only 계약과 deterministic dry-run fixture가 머지됐다. 계약은 선형 wave-plan v1을 유지하면서 DAG/분기 제안의 스키마, 상한, cycle/unknown dependency 차단, all-matching 검증을 정의한다.현재 스펙은 runtime producer/consumer, dispatcher integration, persistence 또는 실제 실행을 명시적으로 포함하지 않는다. 따라서 lineage read model은 존재하지만 DAG 계획을 안전하게 채택·실행하는 후속이 추적되지 않는다.
목표
기존 v1을 깨지 않고
WavePlanDagV2를 default-off runtime surface에 연결해, 생성된 계획이 schema validation과 bounded dry-run rehearsal을 통과한 경우에만 실행 후보가 되도록 한다.범위
npm run check, public-readiness/external-secret scan, 독립 리뷰수용 기준
비목표
안전 경계
이 이슈는 production deploy, broker/worker/Gateway restart, live DAG dispatch/canary, DB migration, cross-broker mutation, provider send, secret 이동, release 또는 GitHub ruleset 변경을 승인하지 않는다. 실제 record/canary/enforce 활성화는 정확한 대상·상한·rollback을 포함한 별도 운영자 승인이 필요하다.