Claude Code / Codex の環境そのもの(skill・command・agents・rule・グローバル共通憲法・調査資産・環境整備の聖典)を複数端末で同期する個人 dotfiles。GitHub が真実の源(罠DBは v0.15+ で Caveat 自身が dotagents 外で管理)。
- 趣旨・原則・残件: PLAN.md(憲章=聖典 v4。プランは docs/ に作る。目的・判断理由・受入条件と工程正本への導線を持つ)
- AI 向けの掟(全エージェント共通): AGENTS.md(Claude は CLAUDE.md が
@AGENTS.mdで取り込む)。URL を渡された AI のオンボーディング入口も AGENTS.md(「AI オンボーディング」節)
dotagents/
├── PLAN.md … 開発工場の憲章(趣旨・原則・定常運用・残件)
├── AGENTS.md … 全 AI 共通のプロジェクト正典+AI オンボーディング入口
├── CLAUDE.md … Claude 用の薄いラッパ(@AGENTS.md + ベル固有)
├── install.sh … symlink 配置(冪等・実ファイルは SKIP・失敗は停止)
├── docs/ … 00_overview.md(地図)・02_models.md(役割→モデル対応表)・01_project-layout.md・進行中プラン/archive/(役目を終えた文書)
├── rag/ … 調査・研究の再利用棚(INDEX.md+topic/raw/ 一次ソース)
├── shared/
│ └── constitution.md … Claude/Codex/Grok共通憲法の唯一の手編集正本
├── claude/
│ ├── CLAUDE.delta.md … Claude固有差分の正本
│ ├── CLAUDE.md … 共通+deltaの生成物(→ ~/.claude/CLAUDE.md)
│ ├── skills/ … → ~/.claude/skills/<name>
│ ├── commands/ … → ~/.claude/commands/<name>.md
│ └── agents/ … → ~/.claude/agents/<name>.md
├── codex/
│ ├── AGENTS.delta.md … Codex固有差分の正本
│ ├── AGENTS.md … 共通+deltaの生成物(→ ~/.codex/AGENTS.md)
│ ├── agents/ … → ~/.codex/agents/<name>.toml
│ ├── skills/ … → $HOME/.agents/skills/<name>(既定。legacy は明示指定)
│ └── rules/ … → ~/.codex/rules/<file>
├── grok/
│ ├── AGENTS.delta.md … Grok固有差分の正本
│ ├── AGENTS.md … 共通+deltaの生成物(→ ~/.grok/rules/AGENTS.md)
│ ├── skills/ … → ~/.grok/skills/<name>
│ └── agents/ … → ~/.grok/agents/<name>.md
└── bin/ … → ~/.local/bin/<name>(.sh / .mjs は外れる。実行言語は shebang)
flowchart LR
subgraph repo["dotagents (このリポジトリ)"]
common["shared/constitution.md"]
cdelta["claude/CLAUDE.delta.md"]
xdelta["codex/AGENTS.delta.md"]
gdelta["grok/AGENTS.delta.md"]
gcm["claude/CLAUDE.md (generated)"]
cs["claude/skills/<name>/"]
cc["claude/commands/<name>.md"]
ca["claude/agents/<name>.md"]
xam["codex/AGENTS.md (generated)"]
xca["codex/agents/<name>.toml"]
xs["codex/skills/<name>/"]
xr["codex/rules/<file>"]
gam["grok/AGENTS.md (generated)"]
bin["bin/<name>.sh"]
end
subgraph home["$HOME (各端末)"]
hgcm["~/.claude/CLAUDE.md"]
hcs["~/.claude/skills/<name>"]
hcc["~/.claude/commands/<name>.md"]
hca["~/.claude/agents/<name>.md"]
hxam["~/.codex/AGENTS.md"]
hxca["~/.codex/agents/<name>.toml"]
hxs["$HOME/.agents/skills/<name> (official)"]
hxsl["~/.codex/skills/<name> (legacy)"]
hxr["~/.codex/rules/<file>"]
hgam["~/.grok/rules/AGENTS.md"]
hbin["~/.local/bin/<name>"]
end
common --> gcm
cdelta --> gcm
common --> xam
xdelta --> xam
common --> gam
gdelta --> gam
gcm -. "install.sh が symlink" .-> hgcm
cs -. symlink .-> hcs
cc -. symlink .-> hcc
ca -. symlink .-> hca
xam -. symlink .-> hxam
xca -. symlink .-> hxca
xs -. "--profile official (既定)" .-> hxs
xs -. "--profile legacy (明示時のみ)" .-> hxsl
xr -. symlink .-> hxr
gam -. symlink .-> hgam
bin -. "symlink (.sh は外れる)" .-> hbin
Codex skill は同一端末・同一入口で official / legacy の一方だけに置く。既定は公式 user skill 面
$HOME/.agents/skills。古い入口の互換検証だけ ./install.sh --profile legacy を明示し、
verify-install --profile legacy を通す。installer は反対面を勝手に削除しない。
| 種類 | 名前 | 用途 |
|---|---|---|
| Claude skill | orchestrate |
共有Control lifecycle/委譲契約を読み、Claude固有status projectionとWorkflow appendixを使う入口 |
| Codex skill | orchestrate |
共有Control lifecycle/委譲契約を読み、native・外部実行・相談レーンを裁定する製品固有入口 |
| 共有契約 | shared/orchestrate/{contract,delegation-contract}.md |
両skillのuse-not-use、Control lifecycle、製品中立のDelegation Packet/Worker Reportの唯一の正本 |
| Claude skill | auto-deploy-on-push |
push 契機の SSH + docker compose 自動デプロイ構築 |
| Codex skill | auto-deploy-on-push |
read-only調査とH承認を先行するpush起点デプロイ構築 |
| Claude agent | implementer |
委譲契約焼き込み済みの実装者(安価枠。対応表は docs/02_models.md) |
| Claude agent | refuter |
敵対的検証者(読み取り専用) |
| Claude command | auto-deploy-on-push / polish-github |
各スキルの入口 |
| Codex skill | polish-github |
GitHub presentation 整備(正本は Claude 版・Codex 版は薄いポインタ=一本化済み) |
| Codex rule | default.rules |
Codex 常時適用ルール |
| 共通憲法 | shared/constitution.md |
Claude/Codex/Grokへ生成する人格・応対・安全・調査・計画・git・報告の唯一の共通正本 |
| Claudeグローバル規範 | claude/CLAUDE.delta.md → claude/CLAUDE.md |
共通憲法+Claude固有deltaから合成する配布生成物 |
| Codexグローバル規範 | codex/AGENTS.delta.md → codex/AGENTS.md |
共通憲法+Codex固有deltaから合成する配布生成物。配置・配線の正典はdocs/02・docs/05 |
| Grokグローバル規範 | grok/AGENTS.delta.md → grok/AGENTS.md |
共通憲法+Grok固有deltaから合成する配布生成物。配置先は~/.grok/rules/AGENTS.md |
| Grok skill | orchestrate / auto-deploy-on-push / gpt-connector / polish-github |
共通契約+Grok appendix。~/.grok/skillsが同名のCodex/Claude面に勝つ |
| Grok agent | implementer / refuter |
~/.grok/agents。bundled explore/planは置換えない |
| bin | render-global-constitution.mjs |
共通憲法+host deltaから3 runtime向け完全指示を冪等生成し、driftを検査 |
| bin | apply-grok-config |
Grok の compat.claude.agents=false / hooks=false と工場MCP 6を dry-run / backup / 冪等適用する(--apply は端末承認後。正典はdocs/07) |
| Codex サブエージェント | codex/agents/{implementer,refuter,sorter}.toml |
ネイティブ委譲のrole定義(役割→model×effortの正は docs/02_models.md) |
| bin | agents-update.sh |
deployment contractのhost別CLI/SDK集合を@latestへ更新し、post-update gateとreportを実行 |
| bin | setup-macos-factory.sh / setup-linux-factory.sh / setup-wsl-factory.sh / setup-windows-native-factory.ps1 |
host別の工場一撃展開。共通配備契約を消費し、各OS固有の配線と全製品smokeを行う |
| bin | bughub-external-probe.mjs |
server profileからloopback /readyzとdeploy revision manifestを照合し、安全な固定checkへ投影 |
| bin | factory-reporter.mjs |
明示opt-inされた工場reportを検証・outbox保存・BugHubへ冪等送信 |
| bin | factory-external-event.mjs |
Pi5等の外部監視結果をmain-serverの所有者限定stateへ固定ServerManager eventとしてappend-only記録し、BugHub受理後だけack |
| bin | verify-codex-agent-routing.sh |
Control配下の書込みWorkerのspawn後、role/model/effort/developer instructionsを検証し、親継承のsandbox実効値を観測表示 |
| bin | apply-codex-config.sh / apply-claude-config.sh |
Codex routing / hook と、Claudeの正本化・callout・advisory・Lattice Gantt・Git破壊操作hookを dry-run / backup / 冪等適用する(--apply は端末承認後) |
| データ | ~/.caveat/own(dotagents 外) |
外部仕様の罠DB(caveat MCP が参照)。v0.15+ で Caveat 自身が管理——~/.caveat/own は独立 git repo で remote は private の Caveat-Private(全端末同期)。public 部分集合は caveat publish で Caveat-Public にミラー。dotagents は所有しない |
| 自作コア10製品 | Caveat/Throughline/Spotter/Lattice/gpt-connector/aiterm-mcp/codex-sidecar/AIShell/ServerManager/peertable(いずれもdotagents 外) | 罠知識、セッション継続、未使用ツール監査、工程graphとコード構造理解、ChatGPT接続、PTYと外部モデル枠、隔離Codex実行、macOS native開発面、中央運用管理、対等マルチエージェント円卓を担う。AIShellはmacOS arm64専用。Observerは2026-08-16に工場コアから撤去。peertableはnpm配布のskill同梱製品で、0.3.6公開とwire v7 enroll済み。全4現役hostのcutoverも2026-08-10に完了済み |
| 第三者管理製品 | MarkItDown | 自作コアではなく、公開CLIだけをblack-box管理する資料変換器。fork・内部patchは行わない |
| 基盤toolchain | Claude Code CLI/Codex CLI/Grok Build | コア製品とは別区分。Oracleはv1互換・rollback専用。Mac自前 Desktop と main-server 自前 AFK は overlay で、正典は docs/factory-grok-build-community-overlay.md |
| 中央管理コア | ServerManager(dotagents 外) | 自作コア11製品に含まれる中央運用管理製品。内部のBugHubをversion・bug・compatibility結果の統括に使い、BugHubを独立製品へ分離しない |
| コード構造・工程graph | Lattice(dotagents外) | 自作コア11製品の1つ。Codegraphを完全吸収した正式後継で、lattice-mcpと同梱sensorを所有する。独立Codegraphはretired/not_applicable履歴だけを保持。導入完了記録 |
| 知識 | rag/ |
調査の一次ソース+結論(第二の脳。人間用の窓は Obsidian) |
| 設定 | .codex-sidecar.yml |
codex-sidecar 委譲のプロジェクト既定(model/effort・readonly。正典 docs/05_codex-fragments.md) |
Claude command の Codex 正規入口は slash command の模造ではなく、対応 skill の明示 invocation とする。
| Claude command | Codex 入口 |
|---|---|
/auto-deploy-on-push |
$auto-deploy-on-push |
/polish-github |
$polish-github |
工場管理対象12製品の追加・削除・第三者化・所有移管は、PRODUCT_IDSや表の1行だけを変えて終わりにしない。変更前に対象repo、所有者、自作コア/第三者管理区分、version入口、正規diagnostics、state/schema/migration、runtime error、host/connector期待、修正先repoを 有限契約台帳 へ記録する。
- 追加は、製品側の正規入口(第三者は公開CLI/APIだけ)を確定し、host matrix、更新経路、adapter、BugHubの固定product集合と期待matrix、privacy fixture、install/verifyを同じ独立waveで追加する。自作製品はnative diagnosticsを先に作り、dotagentsが内部DBを推測しない。
- 削除は、
rg -aとLattice sensorでconsumerを確認し、scheduler/outbox/runtime cursorを停止・drainしてから行う。BugHubの履歴を物理削除せず、移行中の旧clientは対象をnot_applicableで報告し、server期待matrixから外す時期とclient/server双方が旧reportを扱う期間を明示する。 - 第三者化は、製品repoへのinstrumentation・内部state解釈・fork/patchを撤去し、version範囲付きblack-box adapterへ切り替える。追従不能な状態は
unsupportedまたはunverifiedであり、greenへ丸めない。 - 所有移管は、source/state/schemaの所有者、release/update経路、修正先repo、credential責務を更新する。dotagentsが持つのは統合契約であり、製品のsourceやstateを無断で移動しない。基準path・repo移動はこの変更とは別にオーナーの明示承認を取る。
- wire schema majorを変える時は factory reporterランブック のserver-first・別endpoint・dual-run手順を使う。全repoを独立commit/rollback可能にし、各full gateとcanary後にだけ旧majorをretireする。
- 自作コア製品はdotagents統括AIの管理対象であり、必要な製品側修正、version更新、release準備、publish、公開後smokeまで担当する。公開前に対象version、変更範囲、互換性、影響、rollbackを提示してH承認を取り、各repoのfull gate→pack/install smoke→独立commit/push/tag→registry publish→
latest/実CLI確認の順に進める。公開後の不具合は既存versionを黙って上書き・unpublishせず、dist-tag退避または修正版patch releaseで戻す。
「全対応」はファイル数の左右対称ではなく能力対称で判定する。合格条件・進捗・各面の状態は Codex全対応の工程状態はLattice storeが正本で、現役4 host・5入口の確定済み台帳は アーカイブ済み計画を参照する(本 README には複製しない)。
| 面 | dotagents の正規入口 |
|---|---|
| AGENTS_MD | codex/AGENTS.md+リポごとの AGENTS.md |
| CONFIG / MCP_SERVER_CONFIG | docs/05_codex-fragments.md+apply-codex-config+verify-install |
| SKILLS | codex/skills/ → user skill 面(公式面が既定) |
| PLUGINS | — 非採用(個人git+symlink配布と二重化するため) |
| SUBAGENTS | codex/agents/*.toml+verify-codex-agent-routing |
| HOOKS | bin/codex-callout-hook.sh+docs/05_codex-fragments.md |
| COMMANDS | Claude command に対応する Codex skill |
| SESSIONS | Throughline+Codex handoff smoke |
- git: 鍵設定済み・
gh auth statusOK・identity 設定(未設定だと hostname 由来の偽メールで履歴が汚れる):git config --global user.name "kitepon-rgb" git config --global user.email "kitepon-rgb@users.noreply.github.com" git config --global init.defaultBranch main # 新規リポが master で生まれるのを防ぐ(2026-07-04 実被弾) printf '.DS_Store\n' > ~/.gitignore_global && git config --global core.excludesfile ~/.gitignore_global # macOS ノイズを全リポで抑止
- WSL2 の場合: WSL2 内の Claude/Codex を対象とする(Windows 側とは別環境)。
install.shは WSL の$HOMEに symlink を張り、Windowsの既存~/.ssh/id_ed25519.pubを WSLへ登録して、Windows~/.ssh/configにdotagents管理のfox-wsl(localhost:2222)を冪等生成する。同時にWSLの~/.codex/hooks.jsonをWindows Codex Desktopの~/.codex/hooks.jsonへ投影し、DesktopのWSL実行がWindows commandを/bin/bashへ渡す事故を防ぐ。Windows Codex DesktopではWindows側projectを流用せず、このSSH host上の/home/kite/Developer/dotagentsを開く。cron の起動は下の「自動アップデート」節参照 - ランタイム: node>=22+corepack・docker・python3(
command -v node dockerで存在確認、node --versionが v22+、docker infoが通ること。python3 だけは実行判定python3 -c "print(1)"で確認——Windows のストア偽エイリアスは存在チェックを通り、黙って exit 0 を返す〔罠DBwindows-python3-store-exit-0〕) - CLI(必須): 管理11製品はCaveat/Throughline/Spotter/Lattice/MarkItDown/gpt-connector/aiterm-mcp/codex-sidecar/AIShell/ServerManager/peertable。共通requiredは基礎8+
peertable-client、macOS 15+ Apple SiliconではAIShell、main-serverではServerManagerの公開readiness/revisionだけを検証する。他hostのServerManagerはnot_applicable、AIShellは非macOSでunsupportedである。Observerは工場コアから撤去済み。基盤toolchainのClaude Code・Codex CLIは別管理。独立CodegraphはPATHに存在してはならない。MarkItDownの正規更新面はuv tool。 - CLI(任意): Grok Build=要
grok login(H)。未認証だとgrok agentが使えず、delegate grokは明示エラーで停止する。一撃展開は未loginでも止まらない(toolchain optional)。login済みの工場MCP適用(apply-grok-config --apply)はH。工場の4席(Mac / Windows native / WSL2 / Linux)は全部本線。Windows nativeのGrok親配線はsetup-windows-native-factoryが書く。4席の新規session受入は2026-08-16に閉じた。 - MCP 用 CLI を先に入れる(下の登録が参照する。
agents-updateが入れる各packageと同源):aiterm-mcp・caveat・codex-sidecar-mcp・gpt-connector-mcp・lattice-mcpがPATHにあること。独立Codegraphは登録しない。Codex親もnative枠外の実行用にaitermとcodex-sidecarを登録する。登録・loginは端末configを変えるH操作。 - MCP(ユーザースコープ登録。上の CLI 導入後):
Grok親の工場MCP 6はClaude/Codexへ手挿しせず、
claude mcp add --scope user aiterm -- aiterm-mcp claude mcp add --scope user caveat -- caveat mcp-server claude mcp add --scope user lattice -- lattice-mcp claude mcp add --scope user codex-sidecar -- codex-sidecar-mcp claude mcp add --scope user gpt_connector -- gpt-connector-mcp claude mcp add --scope user aishell --env AISHELL_CAPABILITY_SET=expanded-v1 -- aishell-mcp codex mcp add aiterm -- aiterm-mcp codex mcp add codex-sidecar -- codex-sidecar-mcp codex mcp add gpt_connector -- gpt-connector-mcp codex mcp add lattice -- lattice-mcp codex mcp add aishell --env AISHELL_CAPABILITY_SET=expanded-v1 -- aishell-mcp
~/.grok/config.tomlが所有する。適用はapply-grok-config(login済み--applyはH)。個人MCPはClaude jsonに残してよい。compat.claude.mcpsは切らない - 人間用の窓(任意だが標準): Obsidian(
brew install --cask obsidian。無料・md 直読み。vault 設定.obsidian/は端末ローカル=gitignore 済み) - home-server ssh:
kite@192.168.1.2直IP(固定IP・エイリアスは作らない)
gh repo clone kitepon/dotagents ~/Developer/dotagents # gh 認証を使う(SSH 鍵の有無に依存しない)
cd ~/Developer/dotagentsmkdir -p ~/Archives してから:
tar czf ~/Archives/claude-pre-dotagents-$(date +%Y%m%d).tar.gz -C "$HOME" .claude/CLAUDE.md .claude/skills .claude/agents .claude/commands .codex/AGENTS.md .grok/rules/AGENTS.md 2>/dev/null || true
# グローバル CLAUDE.md / Codex AGENTS.md / Grok rules の実ファイルが残っていると正本化が静かに不成立になる
[ -f ~/.claude/CLAUDE.md ] && [ ! -L ~/.claude/CLAUDE.md ] && rm ~/.claude/CLAUDE.md
# ~/.codex/AGENTS.md が実ファイルなら先に中身を確認——価値ある行を共通正本/Codex deltaへ振り分け、生成物を更新してから退避・削除する
[ -f ~/.codex/AGENTS.md ] && [ ! -L ~/.codex/AGENTS.md ] && rm ~/.codex/AGENTS.md
[ -f ~/.grok/rules/AGENTS.md ] && [ ! -L ~/.grok/rules/AGENTS.md ] && rm ~/.grok/rules/AGENTS.mdcaveat の own は Caveat 自身が同期する(v0.15+。dotagents は所有しない): 新端末では caveat sync --init --repo https://github.com/kitepon-rgb/Caveat-Private.git で ~/.caveat/own に Caveat-Private を clone → 以降 caveat sync で往復。既存端末に端末ローカルの罠が残っていたら、caveat sync の前に中身を ~/.caveat/own/entries/<category>/ へマージしてから同期する(同名衝突は中身を見て統合)。verify-install は own が Caveat-Private を remote に持つか確認する。
席への手作業の展開(SSHで1箇所から他席を回す場合を含む)は次だけとする。その席のdotagents作業ディレクトリへ移り、そこで親AI(Grok/Claude/Codex)を起動し、その親に下表の正規入口を実行させる。失敗はその席で原因を直してから閉じる。スクリプトをSSH先で無人実行して成功扱いにしない。verify-installやsetupのexit 0を親session受入の代用にしない。定期更新のcron/Taskはこの節の対象外。
初回導入と再適用の正規入口はhost別の一撃展開スクリプトである。4入口は同じ
lib/factory/deployment-contract.mjsを消費し、既存のWindows native/WSL2固有配線を共有実装へ
押し込まない。いずれも公式skill面、現役製品、MCP、Lattice/Spotter hook、定期更新、
verify-install、fresh wire v7 reportとBugHub delivery receiptまでを一括検証する。
Grok親の配布面(~/.grok/rules / runbooks / skills / agents / hooks)はinstall.shがsymlinkする。
工場MCPとcompat.claude.agents/hooks切断はlogin済みならapply-grok-configが書く。未loginではスキップし、一撃展開は止まらない。Windows nativeもGrok親の対象。setup-windows-native-factoryはlogin済みならそれを呼ぶ。
実行前にfactory reporter runbook §1〜4に従い、そのhost専用のconfigとcredentialを配置して wire v7 reportingを有効にする。MCP login、GitHub認証、Docker稼働など「0. 前提」の外部状態は スクリプトが捏造せず、欠けていれば名指しで停止する。
工場の4席(Mac / Windows native / WSL2 / Linux)は全部本線で、各席に独立した正規入口を持つ。
| host | 正規入口 | 定期更新 |
|---|---|---|
| macOS | ./bin/setup-macos-factory.sh |
LaunchAgent、毎週月曜04:00 |
| Linux | ./bin/setup-linux-factory.sh |
cron、毎日02:00。native Linuxのserver profile専用 |
| WSL2 | ./bin/setup-wsl-factory.sh |
cron、毎日02:00。systemdと非対話sudoが必要 |
| Windows native | powershell -ExecutionPolicy Bypass -File .\bin\setup-windows-native-factory.ps1 |
Task Scheduler、毎日02:00。初回はUAC昇格 |
macOSではAIShell(Apple Silicon/macOS 15+)も配備する。WSL2とWindows nativeは別hostであり、
config、hook、credential、scheduler、delivery receiptを共有しない。Windows Codex DesktopからWSL2を使う時は、
上記WSL2入口が作るfox-wsl SSH hostでWSL側projectを開く。
個別に適用・切り分ける場合は、以下の正規入口を順に使う。
./install.sh --profile official
./bin/apply-codex-config.sh --dry-run
./bin/apply-claude-config.sh --dry-run
./bin/apply-grok-config.sh --dry-run既定は公式 user skill 面 $HOME/.agents/skills。--dry-run は一切書き込まず、routing の必須2キー、
callout hook 4イベント、SessionStartのorchestrate-advisory-hook 1件、codex-lattice-gantt-hookのSessionStart / UserPromptSubmit entryを各1件だけの差分を出す。Grok側はcompat.claude.agents=false / hooks=false と工場MCP 6の差分だけを出す。対象端末への適用を承認した後だけ、次を実行する。
./bin/apply-codex-config.sh --apply
./bin/apply-claude-config.sh --apply
./bin/apply-grok-config.sh --apply # login済みだけ。未loginならスキップ(H)
lattice hooks install --host claude
lattice hooks install --host codex
spotter install -y
./bin/verify-install.sh --profile official両方の --apply は ~/Archives/ に backup を作り、途中失敗時は rollbackする。apply-claude-config は本書のjq断片が正とするdotagents hookだけを追加し、model / effort / permissions / OAuth / trust / 他ツールのhookは変更しない。apply-grok-config は [models] / permission / login と個人MCPを触らず、compat.claude.skills と compat.claude.mcps は切らない。legacyを選ぶのは旧入口の検証時だけで、--profile legacyをinstall / verifyの両方へ付ける。
Grok親の所有面は次だけである。Claude面を吸うことを完成形にしない。
| 面 | Grok所有 | Claude面 |
|---|---|---|
| 憲法 | ~/.grok/rules/AGENTS.md(grok/AGENTS.md) |
compat.claude.agents=false |
| runbook | ~/.grok/runbooks |
吸わない |
| skill / agent | ~/.grok/skills / ~/.grok/agents |
compat.claude.skillsは切らない(Wave 2: ~/.grok/skillsが同名に勝つ) |
| 工場MCP | ~/.grok/config.toml |
compat.claude.mcpsは切らない。同名はtomlが勝つ |
| 工場hook | ~/.grok/hooks/factory.json |
compat.claude.hooks=false。工場hookに製品hookは載せない。Throughline製品hookは ~/.grok/hooks/throughline.json(throughline install)。Spotter / Caveat 製品hookはGrokで起動しない |
| Lattice工程表 | grok-lattice-gantt-hook(dotagents所有の案内) |
lattice hooks install --host にGrokを足さない |
spotter install -y はSpotterの正規project-scoped入口である。dotagentsの .claude/settings.json と .spotter/(どちらも端末ローカル・gitignore)を作り、user-level Codex hook 3本をcanonical化し、Claude/Codex別catalogをseedする。PATH上のThroughlineを絶対実行パスへ解決できる時はauditor contextが既定ONになる。Spotter自身のCLI以外でmarkerやhookを複製・手書きしない。
lattice hooks install --host claude|codex はLattice 0.40.0+の製品管理入口である。sensor気づかせ導線はLattice自身に管理させ、Claude/Codex設定へ手挿ししない。Codex未導入端末では--host codexを省略する。Grok hostは増やさない。
./bin/verify-install.sh --profile officialが OK を返すこと(省略不可)——stale実ファイル・反対skill面の同名重複・共有orchestrate契約の欠落・routing / hook契約不足に加え、対応hostで必要な工場管理製品CLI、Lattice製品管理hookのwired状態、Spotter marker v2、Throughline context、Claude 5 hook、Codex 3 hook、Grok面(~/.grok/rules/runbooks/skills/agents/hooks)と工場hook JSON、host別catalogをFAIL行で名指しする。Grokconfig.tomlがある時だけcompat.claude.agents/hooksの切断を見る。未loginでtomlが無いことはFAILにしない。Oracle wrapperは旧wire互換・明示rollback用の検査として残す。~/.local/binをPATHに通していれば以後はverify-install --profile officialでも可- hook の配線: Claude側はdocs/03_settings-fragments.mdが正本であり、
apply-claude-configがsettings.jsonの正本化gate・呼びかけ・advisory・Lattice Gantt・Git破壊操作hookを冪等追加する。Codex側のX1-X5はdocs/05_codex-fragments.mdに従い、apply-codex-configが4イベントを限定して冪等正規化する。Grok側はdocs/07_grok-fragments.mdが正本で、~/.grok/hooks/factory.jsonが工場hookを所有する。両方ともtrust承認は別途必要。 - 新しい Claude Code セッションで(対話確認): グローバル CLAUDE.md がロードされる/
orchestrateが skill 一覧に出る/implementer・refuterが agent 一覧に出る/pty(aiterm)と caveat が/mcpで connected/SpotterのUserPromptSubmit・Stop eventが記録される/極小タスクを implementer に委譲して契約どおりの報告が返る - 新しい Codex セッションで(対話確認): skill 一覧に
orchestrateが出る/spawn_agentschema にagent_typeがある/通常のnative audit・refuter・sorterは事前smokeなしで実行できる/Control配下の書込みWorkerだけはagent_type=<role>とfork_turns="none"でrouting smokeを起動し、verify-codex-agent-routing <role> <agent-path>がgreenになってからfollow-upする/Spotter 3 hookを対話Codex CLIの/hooksでreviewし、対象入口の新規sessionでspotter.hook_event.v1が記録される - 新しい Grok セッションで(対話確認・H): user rulesが
~/.grok/rules/AGENTS.mdだけから乗る(Claude delta固有条文が無い)/工場skillが~/.grok/skillsから列挙される/工場MCP 6のhandshakeがsupportedかtyped失敗のまま残る/Claudesettings.jsonhookが現れない。既存sessionの見た目は受入に数えない
orchestrate references の bulk-curation 手順で(各端末のメモリはその端末でしか整理できない。リポ操作でないため P2 掃引より先で OK)。
~/.local/bin/agents-update はdeployment contractが返すOS/arch別の完全なnpm package集合を @latest へ更新する(Darwin arm64はAIShell、全対応hostはpeertable)。MarkItDownはuv tool list成功時だけ、不在ならuv tool install markitdown、存在すればuv tool upgrade markitdownを実行し、list失敗はfail-closedにする。失敗は製品名付きで記録し、更新後のfactory contract scan/reportも継続する。更新処理とreporterの成否は別々に記録し、どちらか一方でも失敗ならjobを非0終了する。詳細は factory reporterランブック を参照。
常設schedulerの生成・旧schedulerの整理・読み戻しは、上記host別一撃展開スクリプトだけが所有する。 手書きのplist/crontab/Task XMLを第二の正本にしない。
| host | 登録される入口 | 読み戻し・受入 |
|---|---|---|
| macOS | LaunchAgent com.kite.agents-update → ~/.local/bin/agents-update |
plist構文、登録状態、初回一撃展開中のfresh v7 delivery |
| Linux | cron # dotagents-agents-update-linux → setup-linux-factory --scheduled-update |
server profile、完全一致行、14製品、fresh delivery receipt |
| WSL2 | cron # dotagents-agents-update-wsl → setup-wsl-factory --scheduled-update |
完全一致行、batch token、全14製品、fresh delivery receipt |
| Windows native | Task dotagents-agents-update → setup-windows-native-factory.ps1 -ScheduledRun |
SID/02:00/action、実Task起動、終了code、全14製品、fresh delivery receipt |
旧自動更新を手動で調査する場合だけ、次を使う。一撃展開は自管理entryを冪等に置換し、既知の旧
agents-update/update-npm-globals entryを整理する。
crontab -l 2>/dev/null | grep -i npm # 旧 cron 行
ls ~/Library/LaunchAgents/ 2>/dev/null | grep -i -E "npm|update" # 旧 LaunchAgent(例: com.kite.update-npm-globals = tools-manager 製)
# 居たら: plist を tar でバックアップ → launchctl bootout gui/$UID/<label> → plist 削除/crontab 行削除実走行の切り分けは次を使う。通常の初回検証は一撃展開内で完了する。
launchctl kickstart gui/$UID/com.kite.agents-update # macOS
setup-linux-factory --scheduled-update # Linux
setup-wsl-factory --scheduled-update # WSL2
tail -5 ~/.local/state/agents-update/agents-update.log # "agents-update end" 行が出ること(実ログの完了行。旧記載 "Finished" は実装と不一致だった)Windows nativeの状態確認とrollbackはPowerShellから
node .\bin\agents-update-scheduler.mjs status --apply/
node .\bin\agents-update-scheduler.mjs uninstall --applyを使う。解除はTaskと管理artifactだけを外し、
report/outbox/credentialを削除しない。
対象packageを変える時はlib/factory/deployment-contract.mjsのOS/arch別集合と対応fixtureを同時に更新する。
bin/agents-update.shへ別の固定一覧を作らない。npm link / npm install -g .中のpackageは、registry版で
上書きされる前に更新集合から外す。
作業前に必ず git fetch → origin/main と照合(複数端末リポの掟。詳細は CLAUDE.md)。スキル / コマンドは ~/.claude/... 経由でもリポ実体の直接編集でも同じファイル(symlink)。編集後は git add -p && git commit && git push で真実を返す。他端末は git pull のみで反映(新規エントリ追加時のみ ./install.sh 再実行)。
~/.claude/skills/learned/— 自動学習で増減するため端末ローカル~/.claude/{settings.json,plugins,projects,sessions}— 端末固有 / 認証情報(端末メモリ含む。設定の推奨断片は docs/03_settings-fragments.md)~/.codex/{config.toml,auth.json,sessions,*.sqlite}— 同上~/.codex/skills/.system/— Codex CLI バンドルのシステム skill— 2026-07 にリポ正本化(~/.codex/AGENTS.mdshared/constitution.md+codex/AGENTS.delta.mdから作るcodex/AGENTS.mdをsymlink配布)。端末ローカルの緊急上書きは~/.codex/AGENTS.override.md(非コミット・bin/verify-install.shが非空を FAIL 名指し)- 罠DB(旧
caveat/)は v0.15+ で dotagents の外へ移管済み。~/.caveat/ownを Caveat 自身が private の Caveat-Private へ同期する(public/private とも)。第三者共有はcaveat publishが public のみ Caveat-Public へ抽出。旧*.private.mdgitignore ガードは死に文だったため撤廃 - リポ直下の
.claude/.vscode/.obsidian/— 端末固有状態(gitignore 済み)
- 旧clone path
~/projects/dotagentsは廃止済み。古いsymlinkが残る端末は./install.shを再実行して~/Developer/dotagentsへ貼り直す。 - Codex skill面は
$HOME/.agents/skillsと~/.codex/skillsを同居させない。通常はofficial profile、旧入口だけlegacyを明示し、重複FAILを解消してから新規sessionを開く。 - Throughlineが端末側で実体管理する
sc-detail、tl、tl-trimと~/.codex/skills/throughlineはrepoへ再収録しない。