Skip to content

The task spec

Scoping a task means filling four fields. Not a template with twelve sections nobody reads — four questions a human can answer in minutes, each one load-bearing:

Field The question it answers Why the gate needs it
Goal What does this do? The claim the review judges the diff against
Non-goals What must this not do? The tripwire — scope creep is visible the moment it happens
Affected zones Which zones does it touch? Becomes the grant: these zones open, nothing else does
Acceptance criteria How do I know it worked? What the quality gate checks before Done

The vocabulary is deliberately borrowed, not invented: Goal / Non-goals from the design-doc tradition, acceptance criteria from agile, affected zones from change management’s “impacted areas”. If you have written a design doc, you have written this spec.

Moving a task from Todo to In Progress mints a grant for exactly the zones in Affected zones, bound to a branch. A write outside them is denied with the reason and the way forward — not because the agent is untrusted, but because the task never claimed that territory. If the territory turns out to be needed, that’s an access request, not a workaround.

At close, the closing gate runs the check in reverse: diff ⊆ declared zones, plus the evidence the quality gate asks for.

This documentation scaffold went through the gate as CC-75. Its actual spec, verbatim from the board:

Goal — Stand up the documentation site at /docs inside apps/web on Astro Starlight, themed to the CC design system, with the sidebar mirroring the 12-task IA and honest starter content.

Non-goals — Not the 12 content tasks themselves — they stay in Triage as the writing backlog. Not a second Astro app or a second Worker. No new UI library.

Affected zones — none: apps/web/** is unprotected, which is the correct default for a surface that shares nothing with the enforcement core.

Acceptance criteria — build passes with /docs and the landing coexisting; themed in light and dark; stubs name the board task that fills them; existing routes untouched and verified.

The page you are reading is that task’s output — and the spec above is what its review will be judged against.