···2424deciduous commands
2525```
26262727-**Branch-scoped context**: If working on a feature branch, filter nodes to see only decisions relevant to this branch. Main branch nodes are tagged with `[branch: main]`.
2727+**Branch-scoped context**: If working on a feature branch, filter nodes to see only decisions
2828+relevant to this branch. Main branch nodes are tagged with `[branch: main]`.
28292930## Step 1.5: Audit Graph Integrity
3031···115116deciduous sync # Do this frequently!
116117```
117118118118-**When to use `--prompt`:** On root goals (always) and when user gives new direction mid-stream. Downstream nodes inherit context via edges.
119119+**When to use `--prompt`:** On root goals (always) and when user gives new direction mid-stream.
120120+Downstream nodes inherit context via edges.
119121120122---
121123
+6-3
.claude/commands/decision.md
···60606161## CRITICAL: Capture VERBATIM User Prompts
62626363-**Prompts must be the EXACT user message, not a summary.** When a user request triggers new work, capture their full message word-for-word.
6363+**Prompts must be the EXACT user message, not a summary.** When a user request triggers new work,
6464+capture their full message word-for-word.
64656566**BAD - summaries are useless for context recovery:**
6667···102103103104## Branch-Based Grouping
104105105105-**Nodes are automatically tagged with the current git branch.** This enables filtering by feature/PR.
106106+**Nodes are automatically tagged with the current git branch.** This enables filtering by
107107+feature/PR.
106108107109### How It Works
108110···241243242244## Multi-User Sync
243245244244-**Problem**: Multiple users work on the same codebase, each with a local `.deciduous/deciduous.db` (gitignored). How to share decisions?
246246+**Problem**: Multiple users work on the same codebase, each with a local `.deciduous/deciduous.db`
247247+(gitignored). How to share decisions?
245248246249**Solution**: jj-inspired dual-ID model. Each node has:
247250
···11-import path from 'node:path';
21import { Database } from 'bun:sqlite';
22+import path from 'node:path';
3344import { defineRelations } from 'drizzle-orm';
55import { drizzle } from 'drizzle-orm/bun-sqlite';
+1-1
packages/danaus/src/actors/db/index.ts
···11-import path from 'node:path';
21import { Database } from 'bun:sqlite';
22+import path from 'node:path';
3344import { defineRelations } from 'drizzle-orm';
55import { drizzle } from 'drizzle-orm/bun-sqlite';
+1-1
packages/danaus/src/auth/web.ts
···11-import { createHmac, timingSafeEqual, type KeyObject } from 'node:crypto';
21import type { BunRequest, CookieInit } from 'bun';
22+import { createHmac, timingSafeEqual, type KeyObject } from 'node:crypto';
3344/**
55 * web session cookie name.
+1-1
packages/danaus/src/identity/db/index.ts
···11-import path from 'node:path';
21import { Database } from 'bun:sqlite';
22+import path from 'node:path';
3344import { drizzle } from 'drizzle-orm/bun-sqlite';
55import { migrate } from 'drizzle-orm/bun-sqlite/migrator';
+1-1
packages/danaus/src/sequencer/db/index.ts
···11-import path from 'node:path';
21import { Database } from 'bun:sqlite';
22+import path from 'node:path';
3344import { drizzle } from 'drizzle-orm/bun-sqlite';
55import { migrate } from 'drizzle-orm/bun-sqlite/migrator';
···33333434### with @atcute/lex-cli
35353636-when building your own lexicons that reference these types, configure lex-cli to import from this package:
3636+when building your own lexicons that reference these types, configure lex-cli to import from this
3737+package:
37383839```ts
3940// file: lex.config.js
···11import type {} from '@atcute/lexicons';
22-33-import * as v from '@atcute/lexicons/validations';
44-52import type {} from '@atcute/lexicons/ambient';
33+import * as v from '@atcute/lexicons/validations';
6475const _mainSchema = /*#__PURE__*/ v.procedure('local.danaus.account.createAccount', {
86 params: null,
···11import type {} from '@atcute/lexicons';
22-32import * as v from '@atcute/lexicons/validations';
4354const _repoBlobRefSchema = /*#__PURE__*/ v.object({
···11import type {} from '@atcute/lexicons';
22-33-import * as v from '@atcute/lexicons/validations';
44-52import type {} from '@atcute/lexicons/ambient';
33+import * as v from '@atcute/lexicons/validations';
6475const _accountStatsSchema = /*#__PURE__*/ v.object({
86 $type: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.literal('local.danaus.admin.getStats#accountStats')),
···11+import * as ComAtprotoRepoStrongRef from '@atcute/atproto/types/repo/strongRef';
12import type {} from '@atcute/lexicons';
22-33+import type {} from '@atcute/lexicons/ambient';
34import * as v from '@atcute/lexicons/validations';
44-55-import type {} from '@atcute/lexicons/ambient';
66-77-import * as ComAtprotoRepoStrongRef from '@atcute/atproto/types/repo/strongRef';
8596import * as LocalDanausAdminDefs from './defs.js';
107
···11+import * as ComAtprotoRepoStrongRef from '@atcute/atproto/types/repo/strongRef';
12import type {} from '@atcute/lexicons';
22-33+import type {} from '@atcute/lexicons/ambient';
34import * as v from '@atcute/lexicons/validations';
44-55-import type {} from '@atcute/lexicons/ambient';
66-77-import * as ComAtprotoRepoStrongRef from '@atcute/atproto/types/repo/strongRef';
8596import * as LocalDanausAdminDefs from './defs.js';
107