node_modules/
.wrangler/
dist/
# wasm：預設排除（build 中間產物，如 registry/components/*.wasm）
*.wasm
# 例外：放行 .component-builds 的部署物 wasm — self-host 用戶 / acr init 從 repo 直接拿這份部署
# （推翻 rule 05 原「wasm 不 commit」慣例，見 .agents/specs/arcrun/sdk-and-website/self-hosted-init.md §6）
!.component-builds/**/component.wasm
# 例外：code 零件（自足 Worker）的 vendored quickjs.wasm 同屬部署物 —— acr init/update 從
# repo archive 直接部署（同上 .component-builds 放行邏輯）。來源＝npm 套件
# @jitl/quickjs-wasmfile-release-sync 的 emscripten-module.wasm，由 postinstall vendor-wasm.mjs
# 產出、跟套件版本走（升版時重跑 npm install 再 commit 覆蓋）。約 491KB。
!registry/components/code/vendor/quickjs.wasm
# 但「錯做成零件」的再次排除（後出現的規則勝出）：claude_api / km_writer / kbdb_upsert_block
# 不是 endpoint 薄殼，是把工作流硬塞進零件（違反 DECISIONS §1）→ 要降級成工作流/recipe，
# 不該進 repo 部署來源。commit 二進位進歷史無法乾淨移除 → 一開始就不放行。見 BACKLOG 降級待辦。
.component-builds/claude_api/component.wasm
.component-builds/km_writer/component.wasm
.component-builds/kbdb_upsert_block/component.wasm
credentials.yaml
~/.arcrun/
.env
.env.*
# 範本（無值，需進 repo 給 self-host 用戶 cp 成 .env）——必須放行
!.env.example
# 任何測試/真實憑證一律不進 repo（2026-06-03：曾誤 commit GCP SA 金鑰被 GitHub push protection 擋）
docs/test_credentials/
*.sa.json
*-service-account*.json

# ── 開發痕跡進 repo（D22 翻案 2026-07-03，InkStoneCo 頂層決策）──
# 舊規則（2026-06-03「開發痕跡不對外」）立於 GitHub 終將公開的前提。
# 現 repo 真身在自有 Gitea private，clone 者是雲端工人：docs/SDD、wiki、
# CLAUDE.md、.claude/、.agents/ 都必須進 repo（缺＝雲端斷糧，T1.5 卡點實證）。
# 未來上 GitHub 公開＝一次性發佈篩選，不在日常 gitignore 綁死。
# 例外仍不推：機敏值（本檔各處既有規則照舊）＋ .github/（防 Actions 復燃，D20 同源）
.github/

# macOS
.DS_Store

# Local AI tooling artifacts (Claude Code swarm + ruvector)
.swarm/
ruvector.db
**/.swarm/
**/ruvector.db
scripts/__pycache__/
# D1 備份/匯出（wrangler d1 export 產物，含整庫全量資料=機敏，絕不 commit）
*.sql
backup-*.sql
