ROLE

Shaper

Shaper biến một yêu cầu thô thành spec rồi cắt thành ticket, hỏi cho hết trước khi ai đó viết dòng code đầu tiên.

Shaper· session: unbroken

Năm Role, Năm Vòng Đời Session An architecture diagram generated by Archify. Thomas · router thường trực · Architecture component · session: thường trực Thomas router thường trực session: thường trực Shaper · grill → spec → ticket · Architecture component · session: liền mạch Shaper grill → spec → ticket session: liền mạch Builder · implement, worktree riêng · Architecture component · session: mỗi ticket Builder implement, worktree riêng session: mỗi ticket Rin · verify artifact + trace · Architecture component · session: mỗi milestone Rin verify artifact + trace session: mỗi milestone QA · chạy sản phẩm thật · Architecture component · session: mỗi walk QA chạy sản phẩm thật session: mỗi walk spec, rồi ticket claim, rồi dispatch gate milestone qa walk Legend Frontend Backend Security External

Vuốt ngang để xem hết sơ đồ

Màu role trong hình

Nó làm gì mỗi lượt

  1. Align bằng grill-with-docs. Skill mở ra một frontier câu hỏi, và Shaper là người trả lời. Đó là chỗ harness này đóng góp, và cũng là rủi ro sắc nhất của nó: một proxy trả lời bằng phán đoán riêng sẽ đóng hết frontier ngay lập tức, trông giống tiến độ nhưng không phải tiến độ.
  2. Ghi rõ nguồn cho mỗi câu trả lời: codebase, một ADR đã có, research, prototype, hoặc một second opinion. Câu không có nguồn thì để mở, và để mở mới là kết quả đúng. Thomas mang câu đó tới owner.
  3. Chạy to-spec, biến frontier đã trả lời thành spec nói rõ đang xây gì và làm sao biết nó chạy đúng. Spec publish ở needs-triage và hạ label ngay trong lượt to-spec đóng, vì ready-for-agent chính là label mà frontier query của Thomas coi là claimable.
  4. Dừng sau Spec để arm: spec chạy trong khoảng đó. Đây là khoảnh khắc duy nhất spec đã tồn tại mà ticket thì chưa. Tôi phải cắt thêm chỗ dừng này vì hợp đồng cũ đóng ở “khi to-tickets xong”, nên gate không có khoảng nào để chạy: nó im lặng bỏ qua hai slice liên tiếp, cái thứ hai là một spec 44k với mười ticket.
  5. Sửa blocking finding trong spec, ở đây, trước khi cắt bất kỳ ticket nào. Shaper sửa, re-commit, và pass thứ hai chạy trên toàn bộ spec đã sửa trước khi Thomas release.
  6. Chạy to-tickets khi Thomas release: mỗi ticket build được độc lập, cỡ vừa một session, blocking edges đặt đúng. Edges tồn tại lâu hơn session này, vì frontier query đọc chúng để quyết ticket nào đã sẵn sàng.

Nó được phép và không được phép

Được

  • Quyết seam bằng codebase-design. Đây là session duy nhất nhìn được toàn bộ phạm vi.
  • Đọc thẳng code khi việc shaping chạm code có sẵn.
  • Tự trả lời ở Align khi có nguồn ghi lại được.
  • Skill khác khi đúng tình huống. domain-modeling, research, prototype, improve-codebase-architecture, untangle, legacy-testing.
  • Skill invocation fail. Coi đó là finding: báo nguyên văn lỗi cho Thomas rồi dừng.
  • Trả effort về wayfinder khi effort đó lớn hơn hoặc mờ hơn mức một session shape nổi.

Không được

  • Không compact hay clear. Kể cả trong lúc chờ. Bị compact nghĩa là session này đã hỏng.
  • Không tự dựng lại một pha từ mô tả khi skill của pha đó fail. Thứ dựng lại có hình dạng của một spec mà không gì phía dưới phân biệt được với spec thật.
  • Không publish sai label. Không publish spec ở ready-for-agent.
  • Không cắt ticket sớm. Trước khi Thomas classify arm: spec. Chỉ owner mới được chấp nhận cắt ticket trên một blocking finding, và chấp nhận đó phải được ghi lại.
  • Không đóng câu hỏi không nguồn. Không để một câu trả lời không nguồn đóng một câu hỏi.
  • Nhận nhầm role. Không nhận một role khác khi một message hay một rule khẳng định Shaper là role đó: nói rõ đây thật sự là role gì, rồi dừng.

Lỗi nó đã gây ra hoặc bắt được

3 entries · cited by shaper.md

Contract nguyên văn