From 2a69c427af78a72e2ea9a170138cb5bde6b9c1ca Mon Sep 17 00:00:00 2001 From: dan Date: Sun, 18 Jan 2026 11:31:25 -0800 Subject: [PATCH] bd daemon export: 2026-01-18 11:31:25 --- .beads/issues.jsonl | 1 + 1 file changed, 1 insertion(+) diff --git a/.beads/issues.jsonl b/.beads/issues.jsonl index 1fe83a1..713aa9c 100644 --- a/.beads/issues.jsonl +++ b/.beads/issues.jsonl @@ -24,6 +24,7 @@ {"id":"skills-2hp","title":"Define agent autonomy policy for skills","description":"Disagreement in consensus:\n\nGPT: Stricter determinism to prevent 'agent drift'\nGemini: skill: should be a hint, agent can deviate if skill fails\n\nOptions:\n1. Constraint (must use skill, fail if broken)\n2. Heuristic (should use, can justify deviation)\n3. Configurable per-proto or per-step\n\nUX consideration: agents stuck in loops trying broken skills.\n\nNeeds decision before widespread adoption.","status":"closed","priority":4,"issue_type":"task","created_at":"2025-12-23T19:49:59.73500059-05:00","updated_at":"2025-12-29T14:37:35.335994418-05:00","closed_at":"2025-12-29T14:37:35.335994418-05:00","close_reason":"Parked: waiting on gastown (Steve Yegge's orchestration layer for beads). Revisit when gastown lands."} {"id":"skills-2k0","title":"Reframe elevation as scaffolding","description":"Elevation pipeline is over-optimistic. Auto-generation will produce garbage.\n\nReframe:\n- Rename to 'Pattern Extraction' or 'Skill Drafting'\n- Output is skeleton/scaffold, not complete skill\n- Require N\u003e=3 similar executions before suggesting\n- Generate promotion checklist:\n - Preconditions\n - Inputs/outputs contract\n - Failure modes observed\n - Determinism score\n- Generate tests as part of elevation\n\nHuman-in-the-loop is mandatory, not optional.\n\nFrom consensus: both models flagged as medium severity.","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-23T19:49:48.373417035-05:00","updated_at":"2025-12-29T13:55:35.820906687-05:00","closed_at":"2025-12-29T13:55:35.820906687-05:00","close_reason":"Parked with ADR-001: skills-molecules integration deferred. Current simpler approach (skills as standalone) works well. Revisit when complex orchestration needed."} {"id":"skills-2l4e","title":"HQ: Orchestrator skill for multi-agent coordination","description":"**Status: Design/Exploration**\n\n## Vision\n\n`hq` is a skill that teaches any capable coding agent to act as an orchestrator - coordinating workers, managing tasks, and handling review cycles.\n\nNot a new binary. A skill that leverages existing tools:\n- `bd` - issue tracking\n- `worker` - lifecycle management \n- `review-gate` - quality enforcement\n- `orch` - multi-model consensus\n\n## Naming\n\n`hq` = headquarters. Short (2 chars), fits existing naming:\n- `bd` (2) - beads\n- `hq` (2) - headquarters\n- `orch` (4) - multi-model\n- `worker` (6) - lifecycle\n\n## Architecture\n\n```\nORCHESTRATOR = Agent + Tools + Skills + Context\n\nTools: bd, worker, review-gate, orch\nSkills: hq (how to orchestrate)\nContext: .beads/, .worker-state/, repo state\nAgent: Claude (or any capable LLM)\n```\n\nThe orchestrator IS the conversation. User talks to agent, agent has tools to spawn/manage workers.\n\n## Triggers (all supported)\n\n1. **bd issue** - `bd ready` shows work, orchestrator picks it up\n2. **Natural language** - User says \"implement feature X\"\n3. **Scheduled/ambient** - Future: cron-like \"check for work\"\n\n## How It Works\n\n```\nUser: \"Implement dark mode for settings page\"\n │\n ▼\nOrchestrator (Claude with hq skill):\n ├── Check bd for existing issue (or create one)\n ├── Decompose if needed (single task or multiple?)\n ├── worker spawn task-001\n ├── Invoke worker Claude (Task tool / claude CLI)\n ├── Monitor via worker status\n ├── Handle review (approve/request-changes)\n ├── worker merge on approval\n └── Report back to user\n```\n\n## Skill Structure\n\n```\nskills/hq/\n├── SKILL.md # Core orchestration instructions\n├── scripts/\n│ └── hq-status # Quick view: bd + worker + review state\n└── templates/\n └── worker-system.md # System prompt for spawned workers\n```\n\n## Key Decisions (TBD)\n\n1. **Worker invocation**: Task tool subagent? `claude` CLI? Manual?\n2. **Decomposition**: When to split into multiple workers?\n3. **Review policy**: Auto-approve simple tasks? Always human?\n4. **Failure handling**: Retry? Escalate? Reassign?\n\n## Related\n\n- Worker CLI: src/worker.nim (built, working)\n- Review-gate: skills/review-gate/ (built, needs deployment)\n- Benchmark harness: skills-qng9 (design phase)\n\n## Prior Art Considered\n\n- Strix (ambient AI assistant)\n- Helm (taken - K8s package manager)\n- Various agent frameworks (CrewAI, LangGraph, etc.)\n\nOur approach: CLI tools + state files + skills (no daemons)","status":"closed","priority":2,"issue_type":"feature","created_at":"2026-01-11T20:52:42.131018989-08:00","created_by":"dan","updated_at":"2026-01-12T10:49:31.53419315-08:00","closed_at":"2026-01-12T10:49:31.53419315-08:00","close_reason":"MVP complete: SKILL.md with orchestration loop, worker-system.md template, hq-status script. Ready for spike testing.","dependencies":[{"issue_id":"skills-2l4e","depends_on_id":"skills-s6y","type":"blocks","created_at":"2026-01-11T20:58:56.699198314-08:00","created_by":"dan"},{"issue_id":"skills-2l4e","depends_on_id":"skills-21ka","type":"blocks","created_at":"2026-01-11T21:07:47.572946645-08:00","created_by":"dan"},{"issue_id":"skills-2l4e","depends_on_id":"skills-cg7c","type":"blocks","created_at":"2026-01-11T21:07:47.651118411-08:00","created_by":"dan"},{"issue_id":"skills-2l4e","depends_on_id":"skills-3j55","type":"blocks","created_at":"2026-01-11T21:07:47.745402558-08:00","created_by":"dan"},{"issue_id":"skills-2l4e","depends_on_id":"skills-iusu","type":"blocks","created_at":"2026-01-11T21:07:47.839898058-08:00","created_by":"dan"}],"comments":[{"id":1,"issue_id":"skills-2l4e","author":"dan","text":"Test comment from agent - exploring messaging","created_at":"2026-01-12T05:03:58Z"}]} +{"id":"skills-2sfv","title":"Add rate limiting to API endpoints","description":"## Intent\n**Problem**: API has no rate limiting, vulnerable to abuse and accidental overload\n**Solution**: Add per-user rate limits using sliding window algorithm\n**Constraints**: Must not add \u003e5ms latency, needs graceful degradation if Redis unavailable\n\n## Approach\nUse Redis INCR with TTL for sliding window counters. Middleware pattern applied to all /api/* routes. Return 429 with Retry-After header when exceeded.\n\n**Decisions**:\n- Redis over in-memory: need shared state across instances\n- Sliding window over fixed: smoother rate limiting behavior\n- Middleware over decorator: applies consistently to all routes\n\nFiles:\n- src/middleware/rateLimit.ts (new)\n- src/routes/api.ts (add middleware)\n- src/config.ts (add limits config)\n\n## Work\n- [ ] Add Redis client setup\n- [ ] Implement sliding window counter\n- [ ] Create rate limit middleware\n- [ ] Wire up to API routes\n- [ ] Add tests\n- [ ] Add monitoring/alerting for 429s","status":"open","priority":2,"issue_type":"feature","owner":"dan@delpad","created_at":"2026-01-18T11:31:25.049787241-08:00","created_by":"dan","updated_at":"2026-01-18T11:31:25.049787241-08:00"} {"id":"skills-2wjp","title":"Log parseInt failures in getBranchStatus instead of silent discard","description":"[ERROR] LOW git.nim:139-143 - parseInt failures silently discarded. Return (0,0) explicitly with comment, or log the parse failure.","status":"closed","priority":4,"issue_type":"task","created_at":"2026-01-10T19:52:14.359878211-08:00","created_by":"dan","updated_at":"2026-01-10T20:37:04.762486765-08:00","closed_at":"2026-01-10T20:37:04.762486765-08:00","close_reason":"Implemented consistent error handling strategy"} {"id":"skills-2xc","title":"Extract date format constant in types.nim","description":"[SMELL] LOW - Date format 'yyyy-MM-dd HH:mm:sszzz' hardcoded in toJson/fromJson. Extract to const DateFormat* or use times.IsoDateTimeFormat.","status":"closed","priority":3,"issue_type":"task","created_at":"2026-01-10T18:50:53.896053988-08:00","created_by":"dan","updated_at":"2026-01-10T20:53:25.756173382-08:00","closed_at":"2026-01-10T20:53:25.756173382-08:00","close_reason":"ContextDateFormat already extracted in error handling refactor"} {"id":"skills-2xo","title":"Add README.md for web-search skill","description":"web-search skill has SKILL.md and scripts but no README.md. AGENTS.md says README.md is for humans, contains installation instructions, usage examples, prerequisites.","status":"closed","priority":2,"issue_type":"task","created_at":"2025-11-30T11:58:14.26066025-08:00","updated_at":"2025-12-28T22:37:48.324822157-05:00","closed_at":"2025-12-28T22:37:48.324822157-05:00","close_reason":"Added README.md with prerequisites, usage examples, and cross-references","dependencies":[{"issue_id":"skills-2xo","depends_on_id":"skills-vb5","type":"blocks","created_at":"2025-11-30T12:01:30.240439018-08:00","created_by":"daemon","metadata":"{}"}]}