Skip to content

Design: should review-* / fix-* tasks be subject to universal teachback schema enforcement? #480

@michael-wojcik

Description

@michael-wojcik

Context

Tracked from PR #477 (#401 teachback gate) peer review. Finding F4 from review-backend-coder + user design question.

Three-concept scoping in the shipped teachback gate

The shipped teachback gate has three distinct concepts all loosely called "teachback":

  1. SendMessage teachback ritual — APPLIED UNIVERSALLY. Every teammate (reviewers, fixers, specialists, secretary, auditor) sends SendMessage teachback before work. This is the universal ritual.
  2. task_schema_validator._AGENT_PREFIXES — scoped to 10 PACT phase specialists (preparer, architect, backend-coder, frontend-coder, database-engineer, devops-engineer, n8n, test-engineer, security-engineer, qa-engineer). TaskCreated hook rejects these if variety.total missing.
  3. teachback_gate.is_exempt_agent — exempts only secretary + auditor from PreToolUse teachback_gate checks. review-* / fix-* teammates are NOT exempt, but their review tasks have no variety score → teachback_mode_for_score returns advisory → no blocking.

The design question

Should review-* and fix-* task subjects be added to task_schema_validator._AGENT_PREFIXES so they also get schema enforcement at TaskCreate time?

Arguments for

Arguments against

  • Review/fix tasks don't have natural variety dimensions (novelty/scope/uncertainty/risk don't map cleanly to "review this PR" or "apply this fix")
  • Variety concept would need extension (inherit parent PR's variety? derived scoring?)
  • Adds TaskCreate-time ceremony to peer-review workflow

Possible resolutions

  1. Extend _AGENT_PREFIXES to include review-* and fix-* prefixes + extend variety concept to meta-tasks (likely: review/fix tasks inherit variety from parent feature task).
  2. Keep current scoping + document in TERMINOLOGY-LOCK.md §Exempt agents that review/fix are workflow-internal meta-tasks.
  3. Alternative enforcement: different schema validator for review/fix tasks (e.g., reference to parent PR ID required, reviewer-type required).

Why deferred from PR #477

Real design question that deserves consultation, not a drive-by scope expansion during peer-review synthesis. Relates to the broader "what is a PACT task?" question — is it a unit of work-being-done, or any actor-to-actor dispatch?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions