clikit-plugin 0.3.11 → 0.3.13

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.
@@ -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