From f33a8d8879f8c8886126fe9568b9e13d16b6be47 Mon Sep 17 00:00:00 2001 From: Eric Garcia Date: Sat, 24 Jan 2026 11:05:49 -0500 Subject: [PATCH] docs: Add 3 RFCs and 2 spikes from expert review RFCs (95% expert-validated): - 0001: Dialogue SQLite Metadata - index dialogues, keep content in markdown - 0002: Runbook Action Lookup - action tags + lookup tool for runbooks - 0003: Per-Repo Blue Folders - each repo gets its own .blue/ Spikes (completed): - sqlite-storage-expansion - found spikes/plans already in SQLite - per-repo-blue-folder - recommends per-repo .blue/ structure Co-Authored-By: Claude Opus 4.5 --- .blue/data/blue/blue.db | Bin 147456 -> 147456 bytes .../rfcs/0001-dialogue-sqlite-metadata.md | 198 +++++++++++++++ .../docs/rfcs/0002-runbook-action-lookup.md | 227 ++++++++++++++++++ .../docs/rfcs/0003-per-repo-blue-folders.md | 155 ++++++++++++ .../spikes/2026-01-24-per-repo-blue-folder.md | 17 ++ .../2026-01-24-runbook-driven-actions.md | 17 ++ 6 files changed, 614 insertions(+) create mode 100644 .blue/repos/blue/docs/rfcs/0001-dialogue-sqlite-metadata.md create mode 100644 .blue/repos/blue/docs/rfcs/0002-runbook-action-lookup.md create mode 100644 .blue/repos/blue/docs/rfcs/0003-per-repo-blue-folders.md create mode 100644 .blue/repos/blue/docs/spikes/2026-01-24-per-repo-blue-folder.md create mode 100644 .blue/repos/blue/docs/spikes/2026-01-24-runbook-driven-actions.md diff --git a/.blue/data/blue/blue.db b/.blue/data/blue/blue.db index a9211c4fe0633b00122048d830625acb90e12584..ed51c34dd48903c16c2f39be5df32a046a943ab6 100644 GIT binary patch delta 2580 zcma)7U5Fc16u#%qok?cq-nqNYb_3RxDl2U%$<8L5%_c%i5#QX0)7SWBt#!52}gNFORKc6|_i5PT>|p$NWId{IQfhzJ((!E^6S+TAw&nVX$6 zcjnx4zVn@*U0JbLR_u#x^Qgto+j7qP+uJ9uiX1=Bx2bh$c<3!2c5Gpj6cp3DXJ?z$ zd1EPPW}3lLBXg*}9Av7E`a;lbEi^0DHhyhQ_`aXd4AjXUUC8;l>5M;_$xZE@ER+kS zvhQb0lZBarzuot7GvIr;PN9?HHc6Ah*xc-FYpHf5802ZbadfF3v;(csnz(IrAg;S% z&6IPc>~wxIH#5224+rBaWD9=DFXkiM2)$#wYiXj*<;6pd#*s{AzFli9X6pF7ytIy{ zTxOuo9e6_IsaW<4*{MQdIyW_tr@Ov)(vG63G&Ud8)c3T|tQ`v$V^FPo6LnjEcI|;X zupzXm@>C(4FO~B7!6}?6`^D@eGF8;jFZHq;Vbqeli2PFSlCR4-`M&%yT3BvdWH`oB zMZiiLl-QPdjHL^3&&2co;XeFzl^TZ70m)pO|&4W3073}t}<{mXjc|0?Fz*Wj*zg)DFys7HA*-&fEtum z=c$D+ZFSR6)QY;uF|@L&GY<)+qi&Io`EtG14nV0G)M_`HmBY9*m}_z2c&_CNm#4f@ zA+MX?VZ;V`jgXM!OTGr!V&chvc?5V=?U-sVkvSH#?6C5o6w0NkXFR!%fE z0M8?6_+bH*S9P`xasm(MlYSUwTPNCzxKrn*`y*7n5P0rqFo2=(hJ=kg3dC0dZBw-&^dg9o87+zJ)oZ6>+bRBZuRtZ_hXOl zF?!^W?tdQL2k&+@GD?RD9o7*Ovg6H|b=^$;URpDQjHr`2)^XHJSln?h z>4LU(FOk$%Z5oD902)u=bQrNlh=u#%alGXTdQ^Yl$TNh>Q$+qNPu+jvfITQfi(&f@ zQ?yZoAthb}sYC@lC7uVN#B;!vcotkGo&iUR9bhX_grpKaB$U_&mJ&~Zsl+B=N{ryt zLm`lN69*JffjdiHBXanr{8Roaf094QYjRaBg!Q?6#1aPCzzA48mM%&I_s*5yCg|wU E|GqOG!2kdN delta 1186 zcmZ{jPfXKL9LL|kwrtt!4;U~5(GcCiWLfFD?hlRVg?O6^Au%K-b76%npwm(D$c&ye zQ4T&^-XAv^Z06Q47SmBOTB=terOC*p=V zmPlE8(n@8tR64C^7Idw9w8@(>UAJ_-D0`@ckCN)B$4k*WH6pOv13p%2#lad|gM8z&RrSkbbSkp=kT4q*DCbCJ>Xi%Duz18~?5vv4-YQMAq z?o?nH!4lko>rjR<7>0GxRt@HXh5N8*Xg$N6sr0gNV%zU(iu~VKh7@7pSc_R~@07ng zr2Q;Bge$eD$Bwi|lpsP#fn@}n@E%^nOLz{;@Ixeg1cwzG_Rxy2vagb_%vZXwneP_c zbSbQf=}({r_rQfu0&)e8a~6(xl={JnPrS*=yPUMkv0aW{T`MoHm2vcTAHRWu+(Ph< zTVk0afV!kkt15rM&x!>Pa25?xW&(ssB-~GzT8K&Mv``uBMj4*Wz z^}6>}GD=UOi2GY5r*W4%1|&LAp1NccLU7wT+bI+aPJs}Hsn`RNu^5(TFV2X+g%HX( z4_epU4j}u+MTs/docs/rfcs/` +After: `.blue/docs/rfcs/` + +No need for project subdirectory when per-repo. + +### 4. Migration + +Automatic on first run: + +1. Detect old structure (`.blue/repos/` exists) +2. Find docs for current project in `.blue/repos//docs/` +3. Move to `.blue/docs/` +4. Migrate database entries +5. Clean up empty directories +6. Log what was migrated + +**Conflict resolution:** If docs exist in both locations, prefer newer by mtime. + +## Git Tracking + +Repos should commit their `.blue/` folder: + +**Track:** +- `.blue/docs/**` - RFCs, spikes, runbooks, etc. +- `.blue/blue.db` - SQLite database (source of truth) +- `.blue/config.yaml` - Configuration + +**Gitignore:** +- `.blue/*.db-shm` - SQLite shared memory (transient) +- `.blue/*.db-wal` - SQLite write-ahead log (transient) + +Recommended `.gitignore` addition: +``` +# Blue transient files +.blue/*.db-shm +.blue/*.db-wal +``` + +## Cross-Repo Coordination + +The daemon/realm system (RFC 0001) handles cross-repo concerns: +- Central daemon tracks active sessions +- Realms coordinate contracts between repos +- Each repo remains self-contained + +## FAQ + +**Q: Do I need to run `blue init`?** +A: No. Blue auto-creates `.blue/` on first command. + +**Q: What about my existing docs in the central location?** +A: Auto-migrated on first run. Check git status to verify. + +**Q: Should I commit `.blue/blue.db`?** +A: Yes. It's the source of truth for your project's Blue state. + +**Q: What if I'm in a monorepo?** +A: One `.blue/` at the git root. All packages share it. + +**Q: Can I use Blue without git?** +A: Yes, but with a warning. `.blue/` created in current directory. + +**Q: How do I see cross-repo status?** +A: Use `blue realm_status` (requires daemon running). + +## Test Plan + +- [ ] New repo gets `.blue/` on first blue command +- [ ] Docs created in repo's own `.blue/docs/` +- [ ] Database at `.blue/blue.db` +- [ ] Old structure migrated automatically +- [ ] Realm/daemon still works across repos +- [ ] No git repo falls back gracefully with warning +- [ ] Monorepo uses single `.blue/` at root + +--- + +*"Right then. Let's get to it."* + +— Blue diff --git a/.blue/repos/blue/docs/spikes/2026-01-24-per-repo-blue-folder.md b/.blue/repos/blue/docs/spikes/2026-01-24-per-repo-blue-folder.md new file mode 100644 index 0000000..6f31a23 --- /dev/null +++ b/.blue/repos/blue/docs/spikes/2026-01-24-per-repo-blue-folder.md @@ -0,0 +1,17 @@ +# Spike: Per Repo Blue Folder + +| | | +|---|---| +| **Status** | Complete | +| **Date** | 2026-01-24 | +| **Time Box** | 1 hour | + +--- + +## Question + +Should each repo have its own .blue folder with docs, or centralize in one location? What are the tradeoffs and what changes are needed? + +--- + +*Investigation notes by Blue* diff --git a/.blue/repos/blue/docs/spikes/2026-01-24-runbook-driven-actions.md b/.blue/repos/blue/docs/spikes/2026-01-24-runbook-driven-actions.md new file mode 100644 index 0000000..8c110ef --- /dev/null +++ b/.blue/repos/blue/docs/spikes/2026-01-24-runbook-driven-actions.md @@ -0,0 +1,17 @@ +# Spike: Runbook Driven Actions + +| | | +|---|---| +| **Status** | Complete | +| **Date** | 2026-01-24 | +| **Time Box** | 2 hours | + +--- + +## Question + +How can runbooks guide Claude Code through repo actions (docker builds, deploys, tests) so it follows the documented steps rather than guessing? + +--- + +*Investigation notes by Blue*