---
title: Shared-Contextパック
description: architect:implement-backlogが構築する共有知識パックの構成
seo:
  image: /ogp.png
---

`architect:implement-backlog`は、実装を始める前にこの共有知識パックを最初に作ります。実装中は、毎回このパックを参照します。
`reports/backlog/shared-context/`に、次のファイルが入っています。

| ファイル | 内容 | 生成元 |
|---|---|---|
| `architecture-guardrails.md` | パッケージ境界・トランザクション境界・技術選定の禁止事項など | `architecture.md`, `tech-stack-fitness.md` |
| `coding-standards.md` | 命名規則・例外処理パターン・テスト方針 | 言語/フレームワーク決定 |
| `ubiquitous-language.md` | ドメイン語彙の日英対応表 | `ubiquitous-language.md`(product/architect両方にある) |
| `data-contracts.md` | テーブル定義・アグリゲート境界・enum変換ルール | `data-model.md` |
| `nfr-budgets.md` | NFR/SLA目標値のクイックリファレンス | `nfr.md`, `sla.md` |
| `decisions.md` | 横断的決定のADR-liteログ(**追記のみ**) | 実装中に蓄積 |
| `review-knowledge.md` | レビューで見つかった教訓の蒸留カタログ(**追記のみ**、`review-issue`が書く) | レビューラウンドの繰り返し |

生成元のドキュメントから、どのshared-contextファイルが作られるかを図にすると次のようになります。

```mermaid
flowchart LR
  subgraph SRC["生成元"]
    A1[architecture.md]
    A2[tech-stack-fitness.md]
    A3["言語/フレームワーク決定"]
    A4["ubiquitous-language.md<br/>(product/architect)"]
    A5[data-model.md]
    A6[nfr.md]
    A7[sla.md]
    A8["実装中の蓄積"]
    A9["review-issueのレビューラウンド"]
  end
  subgraph SC["shared-context/"]
    B1[architecture-guardrails.md]
    B2[coding-standards.md]
    B3[ubiquitous-language.md]
    B4[data-contracts.md]
    B5[nfr-budgets.md]
    B6["decisions.md(append-only)"]
    B7["review-knowledge.md(append-only)"]
  end
  A1 --> B1
  A2 --> B1
  A3 --> B2
  A4 --> B3
  A5 --> B4
  A6 --> B5
  A7 --> B5
  A8 --> B6
  A9 --> B7
```

:::note[append-onlyログの仕組み]
`decisions.md`と`review-knowledge.md`は、ほかのファイルとは扱いが違います。この2つは**append-onlyログ**(あとから追記していくだけで、書いた内容は消したり書き換えたりしないログ)です。ほかのファイルのように再構築(regenerate)されることはありません。
特に`review-knowledge.md`は、**同じ問題を二度実装しないための仕組み**として働きます。レビューで見つかった教訓を、消さずに積み重ねていきます。
実際にまとめられたルールの例は[review-issueのページ](/skills/backlog/review)で紹介しています。
:::
