triad-task-intake
目的
タスク種別を強制宣言し、Permit なしの実装を構造的に防ぐ。
Output format (required)
markdown
# Task Intake: <title>
- Date:
- Type: {DesignDraft / Observation / Implementation / DocsOnly}
- Approver: Human (message link / timestamp)
- Owner: Opus
## Type 判定チェック(必須・全て埋める)
- [ ] 設計相談か? → DesignDraft(コード禁止)
- [ ] 観測だけか? → Observation(許可パスのみ)
- [ ] 文書だけか? → DocsOnly(Permit 不要)
- [ ] それ以外 → Implementation(Permit 必須)
## Type 別ルール
### DesignDraft
- 成果物: docs/*.md のみ
- コード変更: 禁止
- 構造体を書きたくなったら → STOP
- → 次: design-draft-boundary
### Observation
- コード変更: **許可パスのみ**
- ✅ 許可パス:
- `out/`(成果物出力)
- `docs/`
- `run.log`
- `meta.json` 項目追加
- `src/test_harness.rs`(観測追加のみ)
- ❌ 禁止:
- `src/` の上記以外
- 新規 mod 追加
- 新規 Store/Model/構造体
- 既存挙動(意味)が変わる変更
- 見た目変更・ロジック変更 → Implementation
- 逸脱しそうなら → Type=DesignDraft or Implementation
### DocsOnly
- docs/ と .agent/skills/ のみ
- Permit 不要
- → 次: triad-handoff
**mdBook 変更の L0/L1/L2 分類**(docs-book/src を触る場合)
| レベル | 内容 | 許可 Type |
|------|------|----------|
| **L0: Link/typo** | 誤字、リンク修正、目次登録 | DocsOnly 可 |
| **L1: Clarify** | 意味を変えない追記(説明の補足、例、図の追記) | DesignDraft 推奨 |
| **L2: Semantics** | 設計判断が変わる・定義が変わる・境界が変わる | Implementation(Permit 必須) |
### L0/L1/L2 Decision Test (quick)
> **Does this change introduce or alter a definition, constraint, or required behavior?**
- Yes → **L2 (Semantics)** → Implementation (Permit required)
- No → continue
- Pure typo/link/TOC only → **L0**
- Clarifying prose / illustrative example / diagram only → **L1**
### Examples
| Level | Examples |
|-------|----------|
| **L0** | typo fix, link fix, SUMMARY.md TOC entry, formatting |
| **L1** | add an *illustrative* diagram (labeled non-normative); clarify wording without adding constraints |
| **L2** | add/change invariants, redefine terms, change guards/state transitions, change canon definitions, add required behavior |
> **重要**: mdBook は **Design Canon**(設計正本)。L2 変更はレビュー必須。
> Operations Canon(運用正本)は Skills + STATUS にある。
> L1 の追記は "non-normative / illustrative" と明記すること。
>
> **L1 判断の補足(日本語)**:
> - L1 は「新しい制約・定義・必須条件を増やさない説明のみ」
> - 迷ったら L2(Permit)へ倒す
### Implementation
- Permit 必須(下記を埋める)
- リファクタ(意味不変のつもり)も Implementation
- → 次: codex-review-request → human-approval-gate
## Permit(Implementation のみ)
- 目的:
- Non-goals:
- Allowlist:
- STOP:
- 検証:
- Approved at: (message link / timestamp)
## STOP 条件
- 正本を増やす可能性がある → STOP
- 推測値を置く必要がある → STOP
- Allowlist 外に触りたい → STOP
## 質問(最大3問 A/B/C)
1) ...
2) ...
3) ...
STOP 出力テンプレ
markdown
## STOP ### Reason(1行) (例:src/ 変更が必要だが Observation では禁止) ### What I tried - ... ### What I need from Human(最大3問 A/B/C) A) ... B) ... ### Next action - [ ] Type を変更(Implementation へ移行) - [ ] Permit 取得後に継続
判断基準
| 状況 | Type |
|---|---|
| GPT から Q&A が来た | DesignDraft |
| meta.json に項目を足すだけ | Observation |
| 新しい mod.rs を作りたい | Implementation |
| SKILL.md を書くだけ | DocsOnly |
| リファクタ(意味不変のつもり) | Implementation |
| UI 見た目変更 | Implementation |
| mdBook 誤字/リンク修正 (L0) | DocsOnly |
| mdBook 説明補足 (L1) | DesignDraft |
| mdBook 設計変更 (L2) | Implementation |
Skill 連携
| Type | 次に使う Skill |
|---|---|
| DesignDraft | design-draft-boundary → codex-review-request |
| Observation | (必要なら) codex-review-request |
| DocsOnly | triad-handoff |
| Implementation | codex-review-request → human-approval-gate → verify → triad-handoff |