2.9 KiB
2.9 KiB
RUN — PE sign-off close-review (review cách-làm + điều chỉnh trước implement+deploy)
- folder:
2026-07-12-S112-pe-signoff-close-review· session S112 · lead Opus 4.8 MAX - command:
/fable-clone review kỹ lại cách làm và điều chỉnh(anh-directed) → sau đó fan-out Opus implement + deploy - mode: HMW RUN-TRACE · engine fable-clone review-ensemble (3 reviewer lanes) · model=opus
- base: investigation
wf_fd8f2bfe-9f6+ 6 decision anh Kiệt chốt - spec:
spec-pe-signoff-implement-12-07-2026.md
taskList
| Stage | Role | Lane | Lens |
|---|---|---|---|
| Review | reviewer | L1 | State-machine (A1 pointer · EDGE-5 lock · no-stuck · 5-state) |
| Review | reviewer | L2 | Security/governance (EDGE-5 kín · câu-2 no-CEO-skip · finalize) |
| Review | reviewer | L3 | Schema/history (câu-5 cơ-chế a/b/c · no-migrate · 1-nút+history) |
deliverable
Validated plan + điều-chỉnh + file:line + test-list + DEPLOY-risk + GO/NO-GO → em synthesize → fan-out implement → reviewer → deploy.
synthesis — GO-WITH-ADJUSTMENTS (wf_7df56b89-7bb, 2/3 lane; L3 #53-garble, L1 phủ scope history)
- A1 (L1+L2 confirm correct+safe): đổi
:592k→minOwn=drafterSlots.Min·:595Where o<minOwn· dead-code ownSlot-UPSERT ·:645-680replace advance → pointer DỪNG tại minOwn (xóa advance-Bước-2 + terminal-DaDuyet-on-submit). Không kẹt, không vỡ 5-state. Non-contiguous RESOLVED (anh Kiệt: follow-workflow). ⚠️ phải sửa ĐỒNG THỜI advance+bypassedOrders+k (không thì kẹt/mất chữ ký). - EDGE-5 (L2 REFINE spec): guard đặt ĐỈNH-method
SVC:53(saufromPhase=, trước:57):if fromPhase∈{DaDuyet,TuChoi} throw ConflictException. Chặn CẢ 5 đường ra incl admin-override :290 (spec per-branch BỎ SÓT). KHÔNG đụng:321(phục vụ system/cron). - 🔴 A1 MỞ CEO-skip MỚI (L2 catch): creator-level +
AllowApproverFinalize+ tick finalize (FE:203) →ApproveV2Async:867Phase=DaDuyet bỏ CEO. KHÔNG pre-existing cho multi-step-CEO (invest framing imprecise). Vs Decision-2 (chỉ nói duyệt-cấp, không nói finalize-bỏ-CEO) → likely NGOÀI-Ý → owner oQ1. Fix hẹp: guard self-FINALIZESVC:867+:805(actor==Drafter→warn/throw), ≠ B2-đã-bác. - History (L1; L3 failed): MVP = log comment-cũ→
PurchaseEvaluationChangelogTRƯỚC overwrite (0 migration); MUST endpoint/command RIÊNG, KHÔNG route TransitionAsync (rủi-ro advance-pointer). - Bonus (L1): A1 đóng latent price-gap (solo-drafter final → ép chọn ApprovedPrice).
- Test: rewrite
PeSubmitGuardAndBypassTests+ thêm terminal-lock (inclTransition_FromDaDuyet_AdminApprove_Throws).
3 owner-decision CHẶN fan-out: oQ1 CEO-skip · oQ2 admin-edit-on-DaDuyet scope · oQ3 confirm mất admin-escape-hatch. Harvest pending @closeout.