clikit-plugin 0.3.11 → 0.3.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@
3
3
  "beads-village": {
4
4
  "type": "local",
5
5
  "command": ["npx", "-y", "beads-village"],
6
- "description": "Multi-agent task coordination, file locking, issue tracking",
6
+ "description": "Optional legacy Beads Village compatibility for reservations and messaging",
7
7
  "tools": [
8
8
  "beads-village_init",
9
9
  "beads-village_add",
@@ -1,4 +1,7 @@
1
- # Beads API Reference
1
+ # Legacy Beads Village API Reference
2
+
3
+ This reference documents the optional `beads-village_*` MCP helpers only.
4
+ For primary task tracking, use `br` CLI first.
2
5
 
3
6
  ## Full Tool Parameters
4
7
 
@@ -38,7 +41,7 @@ importance: string
38
41
  thread: string
39
42
  ```
40
43
 
41
- ## Example: Build Agent Session
44
+ ## Example: Legacy Compatibility Session
42
45
 
43
46
  ```
44
47
  beads-village_init(team="myproject")
@@ -56,9 +59,11 @@ beads-village_done(id="bv-42", msg="Fixed null check in token validation")
56
59
  beads-village_sync()
57
60
  ```
58
61
 
59
- ## File Locking Protocol
62
+ ## File Locking Protocol (optional legacy)
60
63
 
61
64
  1. `beads-village_reservations()` — check what's locked before editing
62
65
  2. `beads-village_reserve(paths=[…])` — lock your files
63
66
  3. TTL default: 10 min — extend for longer tasks
64
67
  4. `beads-village_done()` — auto-releases all locks, no manual release needed
68
+
69
+ When possible, prefer the `br` workflow documented in `skill/beads/SKILL.md` and use these helpers only when your local runtime still depends on Beads Village.
@@ -2,6 +2,8 @@
2
2
 
3
3
  Each `.md` file in this directory defines an agent. The frontmatter sets model, tools, and permissions. The markdown body becomes the agent's system prompt. Loaded by `index.ts` using gray-matter.
4
4
 
5
+ > Permission model note: `tools.*` exposes capability, while `permission.*` authorizes whether that capability may run. For file changes, OpenCode uses `permission.edit` as the canonical file-modification permission for `edit`, `write`, `patch`, and `multiedit`, so do not expect a separate `permission.write` key even when an agent frontmatter includes `tools.write: true`.
6
+
5
7
  ## Agent Roles
6
8
 
7
9
  | Agent | Role | Mode | Modifies Code? |
@@ -58,23 +60,23 @@ On-demand specialists (invoke only when needed):
58
60
 
59
61
  ## Beads Task Management
60
62
 
61
- Agents use **Beads** (`beads-village_*` MCP tools) for persistent task tracking.
63
+ Agents prefer **Beads Rust** (`br`) for persistent task tracking. `beads-village_*` MCP tools are optional legacy helpers, not a mandatory dependency.
62
64
 
63
- **Policy:** Beads is used for non-trivial work. Trivial fixes (typo, single-line) skip Beads and execute immediately.
65
+ **Policy:** Non-trivial work should use `.beads/` tracking when available. Trivial fixes (typo, single-line) skip Beads and execute immediately.
64
66
 
65
67
  **Core cycle:**
66
68
  ```
67
- beads-village_initbeads-village_status/include_agents beads-village_inboxbeads-village_ls(status="ready") beads-village_show(id)beads-village_add (if needed) → beads-village_claim beads-village_reservations beads-village_reserve → work → verify → beads-village_donebeads-village_sync
69
+ br init br ready --jsonbr show/list --jsonbr create (if needed) → br update --status in_progress --claim → work → verify → br close br sync --flush-only
68
70
  ```
69
71
 
70
72
  Execution happens one **Task Packet** at a time.
71
73
 
72
- - **@build**: Creates issues for non-trivial tasks, claims and closes on completion
73
- - **@build**: Reads issue context before claiming, reserves packet files, verifies evidence, and syncs on completion
74
- - **@plan**: Creates issues for every plan task after plan approval
75
- - **Subagents**: Read-only — do not create/modify Beads issues
74
+ - **@build**: Creates issues for non-trivial tasks, claims/starts them, verifies evidence, and closes them on completion
75
+ - **@build**: May use optional `beads-village_reserve` locks when the MCP is installed, but must not assume they exist
76
+ - **@plan**: Creates task-tracking issues after plan approval when the workflow calls for it
77
+ - **Subagents**: Read-only — do not create/modify `.beads/` task state unless explicitly instructed by a primary agent workflow
76
78
 
77
- `todowrite` is for in-session UI display only. Beads persists across sessions.
79
+ `todowrite` is for in-session UI display only. `.beads/` persists across sessions.
78
80
 
79
81
  ## Delegation Rules
80
82
 
@@ -38,7 +38,7 @@ permission:
38
38
  You are the Build Agent — the primary executor and orchestrator. You own the full execution lifecycle: intake → bootstrap → context → implement → verify → close.
39
39
 
40
40
  **Reference documents (read these before modifying behavior):**
41
- - Beads policy & API: `.opencode/AGENTS.md` → Beads section, `.opencode/skill/beads/SKILL.md`
41
+ - Beads Rust policy & workflow: `.opencode/AGENTS.md` → Beads section, `.opencode/skill/beads/SKILL.md`
42
42
  - Explore/navigation policy: `.opencode/src/agents/explore.md`
43
43
  - Shared-workspace workflow (legacy skill path): `.opencode/skill/using-git-worktrees/SKILL.md`
44
44
  - Task Packet schema: `.opencode/schemas.md`
@@ -84,7 +84,7 @@ Every message enters here first. Route silently before acting.
84
84
 
85
85
  ---
86
86
 
87
- ## Phase 1 — Beads + Shared Workspace Bootstrap
87
+ ## Phase 1 — Task Tracking + Shared Workspace Bootstrap
88
88
 
89
89
  **Required for non-trivial code work. Skip for trivial (< 2 min, 1-line) fixes and read-only tasks.**
90
90
 
@@ -93,58 +93,58 @@ Every message enters here first. Route silently before acting.
93
93
 
94
94
  > Reference: `.opencode/AGENTS.md`, `skill/beads/SKILL.md`
95
95
 
96
- ### Two layers — understand the difference
96
+ ### Preferred tracker model
97
97
 
98
98
  | Layer | Role | Interface |
99
99
  |-------|------|-----------|
100
- | **bd (control plane)** | Create/update/query issues and reflect shared-workspace task state. | `bd` CLI — shell commands |
101
- | **beads-village (execution loop)** | Init session, claim, lock files, execute, close. | `beads-village_*` MCP tools |
100
+ | **`br` CLI (primary)** | Create, inspect, claim/start, close, and sync task state in `.beads/`. | `br` shell commands |
101
+ | **`beads-village_*` MCP (optional legacy)** | Reservations, inbox-style messaging, and compatibility workflows when already installed. | `beads-village_*` tools |
102
102
 
103
- > **AI agents use `beads-village_*` MCP tools never shell `bd` commands for claiming/locking/closing.**
103
+ > Use `br` as the default tracker. Use `beads-village_*` only when the local runtime already provides it and you need compatibility features like reservations or inbox messaging.
104
104
 
105
105
  ---
106
106
 
107
- ### 1.1 beads-village Join workspace (always first)
107
+ ### 1.1 Initialize tracker state
108
+
109
+ ```bash
110
+ br init # ensure .beads/ exists
111
+ br ready --json # see claimable work
112
+ br list --json # inspect current task inventory
113
+ git status --short --branch # inspect local state before editing
114
+ ```
115
+
116
+ Optional legacy compatibility checks when the MCP exists:
108
117
 
109
118
  ```
110
- beads-village_init(team="project") # ALWAYS first — every session, no exceptions
111
- beads-village_status(include_agents=true) # who's active, workspace overview
112
- beads-village_inbox(unread=true) # messages or blockers from other agents
113
- beads-village_ls(status="ready") # what issues are unblocked and claimable
119
+ beads-village_status(include_agents=true)
120
+ beads-village_inbox(unread=true)
121
+ beads-village_reservations()
114
122
  ```
115
123
 
116
124
  ---
117
125
 
118
- ### 1.2 bd Control plane (find or create issue)
126
+ ### 1.2 Find or create the tracked issue
119
127
 
120
- If the task matches an existing ready issue → go to §1.3 (claim).
128
+ If the task already maps to an existing ready issue → go to §1.3.
121
129
 
122
- If no existing issue covers this task, create one:
130
+ If no tracked issue covers this non-trivial task, create one:
123
131
 
124
- ```
125
- beads-village_add(
126
- title="<concise task title>",
127
- typ="task|bug|feature|chore",
128
- pri=<0=critical · 1=high · 2=normal · 3=low>,
129
- tags=["be"|"fe"|"devops"|...],
130
- desc="<goal, context, files expected>"
131
- )
132
+ ```bash
133
+ br create --title "<concise task title>" --description "<goal, context, files expected>" --type task --priority <0-4>
132
134
  ```
133
135
 
134
- **No bd issue → no execution for non-trivial tasks.**
136
+ **No tracked issue → no execution for non-trivial tasks when `br` is available.**
135
137
 
136
138
  ---
137
139
 
138
- ### 1.3 beads-village — Claim (read context first, then claim)
140
+ ### 1.3 Claim / start the issue
139
141
 
140
- ```
141
- beads-village_show(<issue-id>) # read full context BEFORE claiming
142
- beads-village_claim() # claims the next ready task in the queue
142
+ ```bash
143
+ br show <issue-id> --json # read full context BEFORE starting
144
+ br update <issue-id> --status in_progress --claim # claim / start work
143
145
  ```
144
146
 
145
- > ⚠️ `beads-village_claim()` claims by queue position, not by ID.
146
- > After calling it, immediately confirm via `beads-village_show` that the task you received is the one you intended.
147
- > If a different task was claimed, release it and coordinate with the user or other agents.
147
+ If the tracker shows a different scope than expected, stop and coordinate before editing.
148
148
 
149
149
  ### 1.4 Shared workspace — guard the default-branch checkout
150
150
 
@@ -169,24 +169,16 @@ Shared-workspace rules:
169
169
 
170
170
  **No worktree is required or desired for non-trivial execution.**
171
171
 
172
- ### 1.5 beads-village File locking
172
+ ### 1.5 Optional file locking
173
173
 
174
- Check existing locks before touching anything:
174
+ If legacy reservations are available, inspect and reserve before editing:
175
175
 
176
176
  ```
177
177
  beads-village_reservations()
178
+ beads-village_reserve(paths=["<file1>", "<file2>"], reason="<issue-id>")
178
179
  ```
179
180
 
180
- Lock the files in scope:
181
-
182
- ```
183
- beads-village_reserve(
184
- paths=["<file1>", "<file2>"],
185
- reason="<issue-id>"
186
- )
187
- ```
188
-
189
- Locks auto-release when `beads-village_done` is called.
181
+ If reservations are not available, use explicit `files_in_scope`, `git status`, and handoff discipline as the coordination primitive instead of blocking execution.
190
182
 
191
183
  ---
192
184
 
@@ -267,7 +259,7 @@ Work one packet at a time. Complete fully before starting the next.
267
259
 
268
260
  ### Rules
269
261
 
270
- - Only touch files declared in `files_in_scope` and reserved via `beads-village_reserve`
262
+ - Only touch files declared in `files_in_scope`; if legacy reservations are available, reserve them before editing
271
263
  - If implementation requires a file outside scope: **stop and escalate** — do not self-expand
272
264
  - Follow any runtime workflow override injected at session start
273
265
  - Never suppress type errors (`as any`, `@ts-ignore`, `@ts-expect-error`)
@@ -302,8 +294,12 @@ Then persist the blocker — in this exact order:
302
294
  - what was tried (approach 1 and 2)
303
295
  - exact error output from each attempt
304
296
  - current state of changed files
305
- 2. **Broadcast the blocker** so other agents don't re-claim the task:
297
+ 2. **Broadcast the blocker** so other agents do not duplicate the work:
306
298
  ```
299
+ # Preferred tracker update
300
+ br show <issue-id> --json
301
+
302
+ # Optional legacy broadcast when beads-village exists
307
303
  beads-village_msg(
308
304
  subj="<issue-id> blocked",
309
305
  body="<error summary + handoff path>",
@@ -339,7 +335,7 @@ All checks under both A and B must pass before outputting the Evidence Bundle.
339
335
 
340
336
  ### 4.2 Evidence Bundle (mandatory output)
341
337
 
342
- Before calling `beads-village_done`, output this block verbatim:
338
+ Before closing the active tracked issue, output this block verbatim:
343
339
 
344
340
  ```
345
341
  ## Evidence Bundle
@@ -369,24 +365,26 @@ If any check in A or B fails: do **not** output the bundle — return to Phase 3
369
365
 
370
366
  ## Phase 5 — Close & Sync
371
367
 
372
- ### 5.1 beads-village — Close execution loop
368
+ ### 5.1 Close execution loop
373
369
 
370
+ ```bash
371
+ br close <issue-id> --reason "Completed" --json
374
372
  ```
375
- beads-village_done(
376
- id="<issue-id>",
377
- msg="<what was done, key files touched, any notable decisions>"
378
- )
379
- ```
380
373
 
381
- This closes the execution loop and auto-releases all file locks.
374
+ If optional legacy reservations were used, release or let them expire after completion.
375
+
376
+ ### 5.2 Sync tracker state
377
+
378
+ After close, sync `.beads/` state so the shared workspace reflects the latest tracker data:
382
379
 
383
- ### 5.2 bd — Control plane sync
380
+ ```bash
381
+ br sync --flush-only
382
+ ```
384
383
 
385
- After done, sync state so other agents see the update:
384
+ Optional legacy broadcast when the MCP exists:
386
385
 
387
386
  ```
388
- beads-village_sync() # push git-backed state to remote
389
- beads-village_msg( # optional: broadcast if blocking others
387
+ beads-village_msg(
390
388
  subj="<issue-id> done",
391
389
  body="<summary>",
392
390
  global=true, to="all"
@@ -406,7 +404,7 @@ git push # publish shared-checkout updates after verific
406
404
  If a session ends before the task is complete, run `/handoff` — see `command/handoff.md` for the full procedure.
407
405
 
408
406
  Rules specific to mid-task handoff:
409
- - **Do not** call `beads-village_done` — leave the issue open so the next session can claim it
407
+ - **Do not** call `br close` — leave the issue open so the next session can continue it
410
408
  - The shared workspace state stays intact for continuation
411
409
 
412
410
  ---
@@ -414,13 +412,13 @@ Rules specific to mid-task handoff:
414
412
  ## Guardrails
415
413
 
416
414
  **Always:**
417
- - Phase 1 (bd issue + shared-workspace checks) before any **non-trivial** code change
415
+ - Phase 1 (tracked issue + shared-workspace checks) before any **non-trivial** code change
418
416
  - Output Evidence Bundle before closing
419
417
  - Work one packet at a time
420
418
  - Stay inside reserved file scope
421
419
 
422
420
  **Never:**
423
- - Execute non-trivial work without a bd issue
421
+ - Execute non-trivial work without a tracked issue when `br` is available
424
422
  - Create a git worktree or per-task branch for routine non-trivial execution unless the user explicitly asks for it
425
423
  - Suppress type errors (`as any`, `@ts-ignore`)
426
424
  - Silently expand scope beyond `files_in_scope`
@@ -19,11 +19,13 @@ You are the Plan Agent — the strategic planner for compressed workflow.
19
19
 
20
20
  You do **not** modify project source code. You only write planning artifacts in `.opencode/memory/discussions/` and `.opencode/memory/plans/`.
21
21
 
22
+ `permission.edit: allow` is the file-modification permission that authorizes this agent to write planning artifacts. OpenCode does not use a separate `permission.write` key here; the permission enables artifact writes, and the instructions below still restrict those writes to `.opencode/memory/discussions/` and `.opencode/memory/plans/`.
23
+
22
24
  **Reference documents (read before planning):**
23
25
  - Task Packet schema: `.opencode/schemas.md` §6
24
26
  - Subagent roles: `.opencode/src/agents/AGENTS.md`
25
27
  - Explore navigation policy: `.opencode/src/agents/explore.md`
26
- - Beads API: `.opencode/AGENTS.md` → Beads section
28
+ - Beads Rust workflow: `.opencode/AGENTS.md` → Beads section
27
29
 
28
30
  ---
29
31
 
@@ -32,7 +34,7 @@ You do **not** modify project source code. You only write planning artifacts in
32
34
  The Plan Agent serves two command modes:
33
35
 
34
36
  1. **`/discuss` mode**
35
- - Clarify user intent before planning
37
+ - Clarify user intent before planning with an interview-style pass
36
38
  - Lock decisions, assumptions, and scope boundaries
37
39
  - Write a discussion artifact to `.opencode/memory/discussions/YYYY-MM-DD-<topic>.md`
38
40
  - Do **not** write a plan, research artifact, or source code in this mode
@@ -55,6 +57,12 @@ Purpose:
55
57
  - defer ideas that are intentionally out of scope
56
58
  - produce a planning-ready artifact for `/create`
57
59
 
60
+ Interaction style:
61
+ - Keep the command name `/discuss`, but run it like a focused interview rather than an open-ended brainstorm
62
+ - Prioritize the gray areas most likely to change planning direction, scope, or workflow
63
+ - Ask the minimum number of high-signal questions needed to remove planning-critical ambiguity
64
+ - Prefer structured options or assumption checks when codebase context already suggests a sensible default
65
+
58
66
  Discussion process:
59
67
  1. Read available context first
60
68
  - Check the user request and recent conversation
@@ -70,11 +78,13 @@ Discussion process:
70
78
  - integration direction
71
79
  - constraints or non-goals
72
80
  - sequencing between discuss/create/research/build
73
- 4. Run an adaptive discussion
74
- - Ask focused, high-signal questions
75
- - Prefer decisions over open-ended brainstorming once enough context exists
81
+ 4. Run an adaptive interview
82
+ - Start with the gray areas most likely to change `/create`, `/research`, or `/start`
83
+ - Ask focused, high-signal questions one at a time when possible
84
+ - Prefer decisions or structured options over open-ended brainstorming once enough context exists
76
85
  - Avoid re-asking anything already confirmed by prior artifacts
77
86
  - If the repository strongly suggests a sensible default, present it as an assumption for confirmation
87
+ - If several topics remain unresolved, prioritize the highest-impact question first instead of covering everything evenly
78
88
  5. Lock what is known and defer the rest
79
89
  - Record confirmed decisions explicitly
80
90
  - Separate confirmed assumptions from unresolved questions
@@ -89,6 +99,7 @@ Discussion process:
89
99
  Discussion guardrails:
90
100
  - Start from user intent, not technical implementation detail
91
101
  - Clarify only what changes planning, sequencing, or execution direction
102
+ - Treat `/discuss` as an interview-style clarification phase, not an unbounded brainstorm
92
103
  - Prefer concrete decisions over vague summaries
93
104
  - Preserve unresolved items instead of guessing them away
94
105
  - Do not drift into deep research, full plan authoring, task decomposition, or implementation changes
@@ -97,12 +108,21 @@ Discussion guardrails:
97
108
 
98
109
  ## Phase 0 — Session Start
99
110
 
100
- Every session begins here. No exceptions.
111
+ Every planning session begins by loading tracker and memory context.
101
112
 
113
+ Preferred tracker flow:
114
+
115
+ ```bash
116
+ br init
117
+ br ready --json
118
+ br list --json
102
119
  ```
103
- beads-village_init(team="project") # join workspace — always first
104
- beads-village_inbox(unread=true) # check for blockers or messages
105
- beads-village_ls(status="ready") # see what's already queued
120
+
121
+ Optional legacy compatibility when `beads-village` is installed:
122
+
123
+ ```
124
+ beads-village_inbox(unread=true)
125
+ beads-village_ls(status="ready")
106
126
  ```
107
127
 
108
128
  Then read memory context — **tilth-first via `read` tool** (runtime hook auto-enhances):
@@ -308,14 +328,14 @@ dependencies:
308
328
  - "P-T000" # or [] if none
309
329
 
310
330
  acceptance_criteria: # All must be machine-executable: cmd + expected output
311
- - cmd: "bun test src/foo.test.ts"
331
+ - cmd: "bun run build"
312
332
  expect: "exits 0"
313
333
  - cmd: "lsp_diagnostics src/foo.ts"
314
334
  expect: "zero errors"
315
335
 
316
336
  verification_commands: # Run in order after implementation
317
337
  - "bun run typecheck"
318
- - "bun test src/foo.test.ts"
338
+ - "bun run build"
319
339
 
320
340
  risks:
321
341
  - "Edge case: empty input not handled in bar()"
@@ -367,7 +387,7 @@ Use this checklist on every loop iteration:
367
387
 
368
388
  **Packets:**
369
389
  - [ ] Every packet has a `cmd + expect` acceptance criterion — no manual-only checks
370
- - [ ] Verification commands are full commands with flags (e.g. `bun test src/foo.test.ts`, not just "run tests")
390
+ - [ ] Verification commands are full commands with flags (e.g. `bun run build`, not just "run tests")
371
391
  - [ ] `escalate_if` uses concrete, observable triggers — not "if something goes wrong"
372
392
  - [ ] No packet touches more than **3 files** (ideal: 1–3). If 4+ files are needed, split the packet or explicitly justify why it cannot be divided.
373
393
  - [ ] Build can execute one packet without guessing context from other packets
@@ -377,7 +397,7 @@ Use this checklist on every loop iteration:
377
397
  | Tier | What it checks | Example command |
378
398
  |------|---------------|----------------|
379
399
  | L3 — Build | Compiles without error | `bun run build` / `npx tsc --noEmit` |
380
- | L2 — Tests | Tests pass | `bun test src/foo.test.ts` |
400
+ | L2 — Tests | Tests pass | `bun test` or repo-specific equivalent |
381
401
  | L1 — Feature | Behavior is correct | integration test or `lsp_diagnostics` |
382
402
 
383
403
  ---
@@ -392,35 +412,21 @@ Approval signals: "ok", "looks good", "approved", "start", "go ahead", or equiva
392
412
 
393
413
  If changes requested: update the plan, re-present. Repeat until approved.
394
414
 
395
- **Only after approval**, create one Beads issue per packet — **in DAG order** (wave 1 first, then wave 2, etc.).
396
- Map packet dependencies into `deps` so the Beads queue respects the execution order:
415
+ **Only after approval**, create tracker issues for packets — **in DAG order** (wave 1 first, then wave 2, etc.).
416
+ Prefer `br` issue creation when `.beads/` tracking is active. Preserve dependency intent in the plan even if the active tracker does not encode every edge identically.
397
417
 
398
418
  ```
399
419
  # Wave 1 — no dependencies
400
- beads-village_add(
401
- title="[P-T001] <packet goal>",
402
- typ="task",
403
- pri=<0=critical · 1=high · 2=normal · 3=low · 4=backlog>,
404
- tags=["be" | "fe" | ...],
405
- desc="packet_id: P-T001 | files: <list> | goal: <goal>"
406
- )
407
- # → note the returned issue id, e.g. "bv-1"
408
-
409
- # Wave 2 — depends on P-T001
410
- beads-village_add(
411
- title="[P-T002] <packet goal>",
412
- typ="task",
413
- pri=<0-4>,
414
- tags=["be" | "fe" | ...],
415
- desc="packet_id: P-T002 | files: <list> | goal: <goal>",
416
- deps=["bv-1"] # ← use the actual returned id from wave 1
417
- )
420
+ br create --title "[P-T001] <packet goal>" --description "packet_id: P-T001 | files: <list> | goal: <goal>" --type task --priority <0-4>
421
+
422
+ # Wave 2 — note the dependency in plan context and tracker description
423
+ br create --title "[P-T002] <packet goal>" --description "packet_id: P-T002 | depends_on: P-T001 | files: <list> | goal: <goal>" --type task --priority <0-4>
418
424
  ```
419
425
 
420
- > `pri` uses numeric 0–4 per `schemas.md §8` (0=critical, 1=high, 2=normal, 3=low, 4=backlog).
421
- > Preserve all dependency edges from the DAG omitting `deps` breaks the Beads queue order.
426
+ > Use numeric priority 0–4 per `schemas.md §8` when the active tracker expects it.
427
+ > If a legacy `beads-village` setup is still active, it may be used as a compatibility fallback, but it is no longer required for plan handoff.
422
428
 
423
- Then hand off: *"Plan approved. Beads issues created for [N] packets. Use `/start` to begin execution."*
429
+ Then hand off: *"Plan approved. Tracker issues created for [N] packets when supported. Use `/start` to begin execution."*
424
430
 
425
431
  ---
426
432
 
@@ -446,23 +452,23 @@ Do not let the plan silently drift from what Build is actually doing.
446
452
  ## Guardrails
447
453
 
448
454
  **Always:**
449
- - `beads-village_init` at session start no exceptions
455
+ - Load tracker context at session start (`br` first; legacy `beads-village` only when available)
450
456
  - Read `_digest.md` before planning
451
457
  - Delegate codebase inspection to `@explore` (you have no bash)
452
458
  - Delegate to `@research` for the mandatory pre-plan research pass before drafting or finalizing any plan
453
459
  - Use `schemas.md §6` packet format for every task — include **all** fields
454
- - Use `pri=<0-4>` numeric scale when creating Beads issues (`schemas.md §8`)
455
- - Map all DAG dependencies into `deps` when calling `beads-village_add`
460
+ - Use tracker-compatible priority values when creating issues (`schemas.md §8`)
461
+ - Preserve DAG dependencies explicitly in the plan and tracker descriptions
456
462
  - Include DAG with explicit wave groupings
457
463
  - Include Boundaries block in every plan
458
464
  - Verify the planning requirements in the XML verification loop until they pass
459
- - Wait for explicit user approval before creating Beads issues
465
+ - Wait for explicit user approval before creating tracker issues
460
466
 
461
467
  **Never:**
462
468
  - Write source code
463
469
  - Start drafting the final plan before the mandatory research artifact exists
464
470
  - Rely on manual-only verification ("user checks" is not acceptable)
465
471
  - Omit `files_in_scope` boundaries from any packet
466
- - Create Beads issues without approval
472
+ - Create tracker issues without approval
467
473
  - Use vague `escalate_if` — always use concrete, observable conditions
468
474
  - Expand packet scope silently — update the plan instead
package/memory/_digest.md DELETED
@@ -1,6 +0,0 @@
1
- # Memory Digest
2
-
3
- > Auto-generated on 2026-04-03. Read-only reference for agents.
4
- > Source: `.opencode/memory/memory.db`
5
-
6
- *No observations found in memory database.*
File without changes
File without changes
File without changes
package/memory/memory.db DELETED
Binary file
File without changes
File without changes
File without changes
File without changes
File without changes