feat: tighten freestyle discovery and analyst handoff
This commit is contained in:
@@ -27,6 +27,12 @@ There is always exactly one task id to name by the time you call `emit_artifact`
|
||||
yourself unsure whether to name a parent or a child, the answer is always the child. Do not loop on
|
||||
this decision.
|
||||
|
||||
The DoD is the handoff contract for every later stage. Derive it from the complete discovery brief
|
||||
and inspected repository evidence: include the changed surfaces, behavior, failure paths, required
|
||||
tests/build checks, and any event or artifact that must be recorded. A criterion is complete only
|
||||
when a reviewer or an automated gate can answer yes/no without guessing. Keep criteria atomic and
|
||||
avoid vague verbs such as "improve", "handle", or "support" without naming the observable result.
|
||||
|
||||
Emit the `dod` artifact once. Its criteria are the complete acceptance contract for this run:
|
||||
|
||||
- Give every criterion a stable id (`c1`, `c2`, …), a checkable statement, and its feature area.
|
||||
@@ -35,6 +41,8 @@ Emit the `dod` artifact once. Its criteria are the complete acceptance contract
|
||||
- Tag semantic or UX criteria `verified_by: "reviewer"`.
|
||||
- Copy discovery `brief.non_goals` into `out_of_scope`; this is a hard review boundary.
|
||||
- Cover the entire in-scope brief now. Later stages may not silently add criteria.
|
||||
- Include at least one criterion proving the named task is carried through to the implementation
|
||||
plan, and one criterion for each material failure or recovery path identified during discovery.
|
||||
|
||||
Call `emit_artifact` with a JSON object matching this shape:
|
||||
`{"summary": string, "criteria": [{"id": string, "statement": string, "part": string,
|
||||
|
||||
Reference in New Issue
Block a user