Background
During PR #641 Cycle-4 remediation, the architect surfaced that the dispatch text said "write HANDOFF for Task #56" but the convention per pact-completion-authority.md is HANDOFFs go on WORK tasks (Task B), not TEACHBACK tasks (Task A).
Architect followed the dispatch literal text and wrote the HANDOFF to the TEACHBACK task; lead's correction-message arrived after the architect had already written; architect copied the HANDOFF to the WORK task on next turn.
The miscommunication is structural — the dispatch templates in orchestrate.md, peer-review.md, and comPACT.md describe the Task A+B shape but the per-task description strings can ambiguously reference "Task #N" without specifying which task gets the HANDOFF.
Symptom
Architect's HANDOFF on PR #641 Task #56 (TEACHBACK) instead of #57 (WORK):
"Note: dispatch said 'write HANDOFF for Task #56' but the convention is HANDOFFs go to WORK tasks (Task #57). Worth tightening the dispatch template for future cycles to specify the WORK task explicitly." — architect open_questions, Task #57
Proposal
Tightening 1 — explicit task-letter convention in skill body
In pact-plugin/skills/orchestration/SKILL.md (or wherever Task A+B dispatch convention is documented), add explicit:
## Task A+B HANDOFF target
- **Task A** (TEACHBACK): metadata.teachback_submit. NEVER metadata.handoff.
- **Task B** (WORK): metadata.handoff. NEVER metadata.teachback_submit.
When dispatching, be explicit:
- "Submit teachback to Task A (#{A_id}) metadata.teachback_submit"
- "Write HANDOFF to Task B (#{B_id}) metadata.handoff"
Never say "write HANDOFF to Task #N" without specifying A or B.
Tightening 2 — dispatch template strings
Update orchestrate.md, peer-review.md, comPACT.md template-string examples to use explicit:
# Old (ambiguous):
B_description = "...Per dogfood directive: ... write metadata.handoff..."
# New (explicit):
B_description = "...Per dogfood directive: write metadata.handoff to THIS Task B "
f"(#{B_id}). NOT to Task A (#{A_id}). ..."
Tightening 3 — pact-teachback skill cross-ref
The pact-teachback skill describes the TEACHBACK metadata shape; add a cross-ref note: "TEACHBACK metadata goes on Task A. The companion Task B receives metadata.handoff after work completes — see [pact-handoff schema]."
Acceptance criteria
Cross-references
Background
During PR #641 Cycle-4 remediation, the architect surfaced that the dispatch text said "write HANDOFF for Task #56" but the convention per
pact-completion-authority.mdis HANDOFFs go on WORK tasks (Task B), not TEACHBACK tasks (Task A).Architect followed the dispatch literal text and wrote the HANDOFF to the TEACHBACK task; lead's correction-message arrived after the architect had already written; architect copied the HANDOFF to the WORK task on next turn.
The miscommunication is structural — the dispatch templates in
orchestrate.md,peer-review.md, andcomPACT.mddescribe the Task A+B shape but the per-taskdescriptionstrings can ambiguously reference "Task #N" without specifying which task gets the HANDOFF.Symptom
Architect's HANDOFF on PR #641 Task #56 (TEACHBACK) instead of #57 (WORK):
Proposal
Tightening 1 — explicit task-letter convention in skill body
In
pact-plugin/skills/orchestration/SKILL.md(or wherever Task A+B dispatch convention is documented), add explicit:Tightening 2 — dispatch template strings
Update
orchestrate.md,peer-review.md,comPACT.mdtemplate-string examples to use explicit:Tightening 3 —
pact-teachbackskill cross-refThe
pact-teachbackskill describes the TEACHBACK metadata shape; add a cross-ref note: "TEACHBACK metadata goes on Task A. The companion Task B receivesmetadata.handoffafter work completes — see [pact-handoff schema]."Acceptance criteria
orchestrationexplicitly documents Task A+B HANDOFF target convention.orchestrate.md,peer-review.md,comPACT.mddispatch templates use explicit "Task A (#{A_id})" / "Task B (#{B_id})" framing in their description strings.pact-teachbackskill cross-references the convention.Cross-references
pact-completion-authority.md— canonical Task A+B conventionpact-teachbackskill