chore: initialize beadboard baseline
This commit is contained in:
commit
292a72f861
30 changed files with 2983 additions and 0 deletions
226
docs/plans/2026-02-12-parallel-agent-dispatch.md
Normal file
226
docs/plans/2026-02-12-parallel-agent-dispatch.md
Normal file
|
|
@ -0,0 +1,226 @@
|
|||
# BeadBoard Parallel Agent Dispatch Plan
|
||||
|
||||
> **For Claude:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task.
|
||||
|
||||
**Goal:** Run the next BeadBoard implementation phase in parallel with low merge risk, while preserving strict read/write boundaries (`issues.jsonl` read-only, writes only through `bd.exe`).
|
||||
|
||||
**Architecture:** Split work by subsystem with clear file ownership: registry persistence + API, scanner, and Kanban UI baseline. Keep each agent on dependency-safe beads and synchronize through an integration lead at checkpoints.
|
||||
|
||||
**Tech Stack:** Next.js 15, React 19, TypeScript strict, Node `fs`, Windows path utilities, React Query, Zustand.
|
||||
|
||||
---
|
||||
|
||||
## Parallelization Model
|
||||
|
||||
### Agent Roles
|
||||
|
||||
1. **Agent A (Registry/API Track)**
|
||||
- Primary beads: `bb-6aj.1`, then `bb-6aj.2`
|
||||
- Scope: profile-scoped project registry + API endpoints for add/remove/list
|
||||
- Files expected:
|
||||
- `src/lib/registry.ts`
|
||||
- `src/app/api/projects/route.ts`
|
||||
- tests under `tests/lib/` and `tests/api/`
|
||||
|
||||
2. **Agent B (Kanban UI Track)**
|
||||
- Primary beads: `bb-trz.1`, then `bb-trz.2`, then `bb-trz.3`, then `bb-trz.4`
|
||||
- Scope: tracer bullet 1 Kanban baseline (demo-inspired UI with production typing)
|
||||
- Files expected:
|
||||
- `src/app/page.tsx`
|
||||
- `src/components/kanban/*`
|
||||
- `src/components/shared/*`
|
||||
- UI tests under `tests/`
|
||||
|
||||
3. **Agent C (Scanner Track)**
|
||||
- Primary beads: `bb-6aj.3`, then `bb-6aj.3.1` (optional if time remains)
|
||||
- Scope: bounded scanner rooted at `%USERPROFILE%` with explicit full-drive opt-in mode
|
||||
- Files expected:
|
||||
- `src/lib/scanner.ts`
|
||||
- `src/app/api/scan/route.ts` (if created in this phase)
|
||||
- tests under `tests/lib/`
|
||||
|
||||
4. **Lead Agent (Integrator/Verifier)**
|
||||
- No primary feature bead; owns integration + verification
|
||||
- Scope: merges, resolves small conflicts, runs checks, updates bead states
|
||||
|
||||
---
|
||||
|
||||
## Dependency Rules (Do Not Break)
|
||||
|
||||
1. `bb-6aj.2` must start only after `bb-6aj.1` is complete (hard dependency).
|
||||
2. `bb-6aj.3` depends on `bb-6aj.1` (hard dependency).
|
||||
3. `bb-trz.2` depends on `bb-trz.1`.
|
||||
4. `bb-trz.3` and `bb-trz.4` depend on `bb-trz.2`.
|
||||
5. No direct writes to `.beads/issues.jsonl` under any condition.
|
||||
|
||||
---
|
||||
|
||||
## Checkpoint Sequence
|
||||
|
||||
### Checkpoint 0: Branch Preparation
|
||||
1. Create feature branches from current baseline:
|
||||
- `feat/registry-api`
|
||||
- `feat/kanban-baseline`
|
||||
- `feat/scanner`
|
||||
2. Each agent works only in its branch.
|
||||
|
||||
### Checkpoint 1: Foundation Delivery
|
||||
1. Agent A finishes `bb-6aj.1`.
|
||||
2. Agent B finishes `bb-trz.1`.
|
||||
3. Agent C remains blocked until `bb-6aj.1` closes, then starts `bb-6aj.3`.
|
||||
4. Lead verifies:
|
||||
- `npm run typecheck`
|
||||
- `npm run test`
|
||||
|
||||
### Checkpoint 2: Mid-Phase Delivery
|
||||
1. Agent A completes `bb-6aj.2`.
|
||||
2. Agent B completes `bb-trz.2`.
|
||||
3. Agent C completes `bb-6aj.3`.
|
||||
4. Lead rebases/merges and reruns:
|
||||
- `npm run typecheck`
|
||||
- `npm run test`
|
||||
- `npm run dev` (startup sanity)
|
||||
|
||||
### Checkpoint 3: Tracer-1 Completion
|
||||
1. Agent B completes `bb-trz.3` and `bb-trz.4`.
|
||||
2. Lead runs manual UI smoke for Kanban baseline.
|
||||
3. Lead optionally uses browser automation for verification once app is up.
|
||||
|
||||
---
|
||||
|
||||
## Agent Prompt Pack
|
||||
|
||||
### Prompt: Agent A (Registry/API)
|
||||
|
||||
```text
|
||||
You are Agent A on BeadBoard.
|
||||
|
||||
Mission:
|
||||
1) Complete bb-6aj.1
|
||||
2) Complete bb-6aj.2
|
||||
|
||||
Constraints:
|
||||
- Windows-native paths only
|
||||
- Persist registry at %USERPROFILE%\.beadboard\projects.json
|
||||
- Normalize paths safely (no Unix assumptions)
|
||||
- No direct writes to .beads/issues.jsonl
|
||||
- Maintain strict TS types and add tests
|
||||
|
||||
Deliverables:
|
||||
- src/lib/registry.ts (or equivalent)
|
||||
- src/app/api/projects/route.ts with add/remove/list
|
||||
- tests covering malformed paths, duplicate normalization, lazy file creation
|
||||
- bead updates with concise implementation notes
|
||||
|
||||
Verification before close:
|
||||
- npm run typecheck
|
||||
- npm run test
|
||||
```
|
||||
|
||||
### Prompt: Agent B (Kanban Baseline)
|
||||
|
||||
```text
|
||||
You are Agent B on BeadBoard.
|
||||
|
||||
Mission:
|
||||
1) Complete bb-trz.1
|
||||
2) Complete bb-trz.2
|
||||
3) Complete bb-trz.3
|
||||
4) Complete bb-trz.4
|
||||
|
||||
Constraints:
|
||||
- Rebuild demo style as production Next.js/TS components
|
||||
- Use real parser data path, no sample-data-only architecture
|
||||
- Preserve status ordering: open, in_progress, blocked, deferred, closed
|
||||
- Read boundary only; all writes are future bd bridge work
|
||||
- Keep components modular and typed
|
||||
|
||||
Deliverables:
|
||||
- Kanban columns
|
||||
- Card component with id/priority/type/labels/assignee/dep count
|
||||
- Detail panel with timestamps/dependencies
|
||||
- Search/filter/stats controls
|
||||
- tests for rendering and filtering behavior
|
||||
|
||||
Verification before close:
|
||||
- npm run typecheck
|
||||
- npm run test
|
||||
- npm run dev (manual check of kanban page)
|
||||
```
|
||||
|
||||
### Prompt: Agent C (Scanner)
|
||||
|
||||
```text
|
||||
You are Agent C on BeadBoard.
|
||||
|
||||
Mission:
|
||||
1) Complete bb-6aj.3
|
||||
2) Optionally complete bb-6aj.3.1 if time permits
|
||||
|
||||
Constraints:
|
||||
- Default scan root is %USERPROFILE%, not full-drive crawl
|
||||
- Implement bounded recursion and ignore patterns
|
||||
- Explicit full-drive scan must be opt-in only
|
||||
- Windows-safe path normalization throughout
|
||||
- No shell-specific assumptions
|
||||
|
||||
Deliverables:
|
||||
- src/lib/scanner.ts
|
||||
- optional scan API route if needed for invoking scanner
|
||||
- tests for depth limit, ignore behavior, and root selection
|
||||
|
||||
Verification before close:
|
||||
- npm run typecheck
|
||||
- npm run test
|
||||
```
|
||||
|
||||
### Prompt: Lead Agent (Integration)
|
||||
|
||||
```text
|
||||
You are Lead Agent for BeadBoard integration.
|
||||
|
||||
Mission:
|
||||
1) Integrate outputs from Agent A/B/C at checkpoints
|
||||
2) Keep bead statuses accurate
|
||||
3) Run verification and capture failures with file-level notes
|
||||
|
||||
Rules:
|
||||
- Do not mask failing tests
|
||||
- Resolve merge conflicts without changing boundary contracts
|
||||
- Ensure no direct writes to .beads/issues.jsonl
|
||||
|
||||
Verification gates:
|
||||
- npm run typecheck
|
||||
- npm run test
|
||||
- npm run dev startup check
|
||||
|
||||
Completion condition:
|
||||
- Tracer bullet 1 Kanban baseline visible and functional
|
||||
- Registry + scanner foundations merged and passing checks
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## First Task to Start Now
|
||||
|
||||
1. Start **Agent A** on `bb-6aj.1` (unblocks both `bb-6aj.2` and `bb-6aj.3`).
|
||||
2. In parallel, start **Agent B** on `bb-trz.1`.
|
||||
3. Start **Agent C** only after `bb-6aj.1` is closed.
|
||||
|
||||
---
|
||||
|
||||
## Run Commands (Lead)
|
||||
|
||||
```powershell
|
||||
# show ready tasks
|
||||
bd ready
|
||||
|
||||
# claim task
|
||||
bd update bb-6aj.1 --claim
|
||||
|
||||
# run verification
|
||||
npm run typecheck
|
||||
npm run test
|
||||
npm run dev
|
||||
```
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue