コンテンツにスキップ

Task brief テンプレート

このページは、記入用テンプレートを誤ってサイトのメタデータとして解釈しないよう、原文をコードとして表示しています。

原本をダウンロード

---
schema: codex-delivery/task@1
document_id: "TASK-<<required: change slug>>"
change_id: "CHG-<<required: YYYYMMDD-slug>>"
risk_tier: "<<required: R0 | R1 | R2 | R3>>"
document_status: draft
decision_state: UNKNOWN
owner: "<<required: one accountable person>>"
evidence_as_of: UNKNOWN
commit_sha: N/A — implementation not started
supersedes: N/A — first version
refs: []
---
# Task brief: <<required: outcome, not implementation>>
## Lifecycle
- Task state: `draft | ready | in_progress | in_review | done | paused | cancelled`
- Current state: `<<required>>`
- Created / last changed: `<<required: ISO 8601>>`
- Target decision date: `<<required>>`
- Request/source evidence: `<<required: customer, incident, experiment, support, metric, or explicit owner request>>`
`done` は、全 required acceptance criterion が同じ implementation fingerprint の証拠へ結ばれた状態だけに使う。merge、release、顧客価値の確認とは別である。
## Outcome
- Customer or operational job: `<<required>>`
- Current behavior and concrete evidence: `<<required>>`
- Expected behavior: `<<required>>`
- Why now: `<<required>>`
- Smallest valuable/reversible outcome: `<<required>>`
- Expected value range or information gained: `<<required: range, assumptions, or N/A with reason>>`
- Founder time / variable-cost budget: `<<required>>`
## Scope
### In scope
- `<<required>>`
### Non-goals
- `<<required: explicitly unchanged behavior>>`
### Allowed files/systems
- `<<required>>`
### Do not change
- `<<required: compatibility surface, user data, unrelated code, production state, etc.>>`
## Constraints and invariants
| ID | Constraint/invariant | Source | Waivable? | Verification |
|---|---|---|---|---|
| INV-01 | <<required>> | <<required: contract/AGENTS/ADR/law/provider>> | no | <<required>> |
## Acceptance criteria
Write observable Given/When/Then or an equally testable contract. Freeze high-impact expected outcomes before implementation.
| AC ID | Given / When / Then | Failure or counterexample | Verification type | Required evidence ID | Status |
|---|---|---|---|---|---|
| AC-01 | <<required>> | <<required>> | unit / integration / E2E / eval / manual | EVID-<<required>> | UNKNOWN |
### Manual evidence contract
For any manual check, define the environment, steps, expected result, artifact/screenshot/log reference, reviewer, and expiry. “Looked good” is not evidence.
## Impact map
| Surface | none / changed / unknown | Description | Required evidence |
|---|---|---|---|
| Customer promise / UI | <<required>> | <<required>> | <<required>> |
| API / event / compatibility | <<required>> | <<required>> | <<required>> |
| Data / schema / retention | <<required>> | <<required>> | <<required>> |
| Auth / tenant / permission | <<required>> | <<required>> | <<required>> |
| Billing / money / tax | <<required>> | <<required>> | <<required>> |
| Privacy / secret / legal | <<required>> | <<required>> | <<required>> |
| Dependency / build / supply chain | <<required>> | <<required>> | <<required>> |
| Runtime identity / IAM / DB role-RLS / credential scope / egress | <<required>> | <<required>> | <<required>> |
| AI model / prompt / retrieval / tool | <<required>> | <<required>> | <<required>> |
| Cost / latency / capacity | <<required>> | <<required>> | <<required>> |
| Observability / support / rollback | <<required>> | <<required>> | <<required>> |
## Risk and required artifacts
- Risk tier: `R0 | R1 | R2 | R3`
- Semantic trigger scan ID/hash: `<<required: diff/path plus state/schema/event consumer/reference/dataflow graph and release manifest; not author assertion alone>>`
- Semantic trigger classification: `complete | UNKNOWN`
- Derived minimum tier / triggered surfaces: `<<required>>`
- Requested tier differs from derived tier: `no | higher | lower only after trigger false-positive proof or triggering-scope removal — evidence, rerun scan, approver, time`
- Maximum credible loss/impact: `<<required: people, data, money, operation, legal, founder recovery time>>`
- Reversibility: `easy | bounded | difficult | irreversible`
- Detection: `immediate | delayed | customer-reported | unknown`
- Risk owner: `<<required>>`
| Artifact | Required? | Trigger/reason | ID/path | Owner |
|---|---:|---|---|---|
| ADR | yes / no | <<required>> | <<required or N/A with reason>> | <<required>> |
| Threat delta | yes / no | <<required>> | <<required or N/A with reason>> | <<required>> |
| Eval plan | yes / no | <<required>> | <<required or N/A with reason>> | <<required>> |
| Migration/reconciliation | yes / no | <<required>> | <<required or N/A with reason>> | <<required>> |
| Release record | yes / no | <<required>> | <<required or N/A with reason>> | <<required>> |
| External/professional review | yes / no | <<required>> | <<required or N/A with reason>> | <<required>> |
auth、tenant、billing、personal data、migration、privileged CI、重要 dependency、AI tool write/send/pay/delete、rollback/monitor 弱体化の trigger は最低 R2 とする。R3 の professional review は `no/N/A` にできない。applicable trigger の minimum tier/evidence は waiver 不可。下げるには false positive の肯定証拠、または triggering scope の除去と scan 再実行が必要で、approver の署名だけでは下げられない。trigger scan が未完なら classification を `UNKNOWN`、provisional risk tier を最低 R2 とし、R0/R1 と `SHIP` を選ばない。
## Evidence plan
| Evidence ID | Claim proven | Command/method | Environment | Exact fingerprint required | Owner | Expiry/maturity |
|---|---|---|---|---|---|---|
| EVID-01 | <<required>> | <<required>> | <<required>> | commit / artifact / config | <<required>> | <<required>> |
- Result source of truth: `<<required: immutable EVID run manifest ID/path/hash; results are not recopied into downstream documents>>`
- Manifest contract: `plan/case hash + code/config + environment + command/runner + time + exit/skip/unknown + raw artifact hash`
## Rollout and recovery intent
- Feature flag / cohort / authority limit: `<<required or N/A with reason>>`
- Stop trigger: `<<required>>`
- Last-known-good state: `<<required>>`
- Rollback classes needed: `code | config/flag | model/prompt | data | external-effect compensation | N/A`
- Owner and target recovery time: `<<required>>`
- Post-release observation time(s): `<<required or N/A with reason>>`
## Unknowns, assumptions, and blockers
| ID | Type | Statement | If wrong, impact | Owner | Due | Resolution evidence | State |
|---|---|---|---|---|---|---|---|
| UNK-01 | unknown / assumption / blocker | <<required>> | <<required>> | <<required>> | <<required>> | <<required>> | UNKNOWN |
An assumption may proceed only when the maximum loss is bounded and the reason is explicit. Required unknowns keep the task/release at `UNKNOWN`; known blockers use `PAUSE`.
## Stop conditions
- `<<required: condition that cancels or narrows this change>>`
- `<<required: critical invariant/eval/security failure>>`
## Scope-change log
Append; do not silently rewrite accepted scope.
| Time | Version | Change | Reason/evidence | Reapproved by | Effect on prior evidence |
|---|---:|---|---|---|---|
| <<required>> | 1 | Initial | <<required>> | <<required>> | N/A |
## Current decision
- Derived state: `STOP | PAUSE | UNKNOWN | SHIP | N/A`
- Decided at / by: `<<required or UNKNOWN>>`
- Reason and evidence IDs: `<<required>>`
- Next action / owner / due: `<<required>>`
`Derived state` は自由入力で昇格しない。non-waivable failure は `STOP`、既知 blocker は `PAUSE`、required evidence/trigger scan の欠損・stale は `UNKNOWN`、全 required evidence が current で上位 veto がない場合だけ `SHIP` とする。