From 52fe241734abba5c45dbc6f8cb56b9cdc3d71498 Mon Sep 17 00:00:00 2001 From: dan Date: Fri, 9 Jan 2026 19:01:55 -0800 Subject: [PATCH] bd sync: 2026-01-09 19:01:55 --- .beads/issues.jsonl | 5 ++++- .beads/last-touched | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.beads/issues.jsonl b/.beads/issues.jsonl index fc3eb08..9360b55 100644 --- a/.beads/issues.jsonl +++ b/.beads/issues.jsonl @@ -1,6 +1,7 @@ {"id":"skills-0f1","title":"Per-repo LSP profiles in Nix flakes","description":"Define language servers, versions, and settings pinned per repo in flake.nix.\n\nBenefits:\n- Claude Code LSP becomes deterministic across machines/CI\n- CI can run headless LSP diagnostics as first-class check\n- Ephemeral LS sandboxes for experimental refactors\n\nExample: pin rust-analyzer version per project to avoid skill breakage.","status":"open","priority":3,"issue_type":"task","created_at":"2025-12-24T02:29:57.353003052-05:00","updated_at":"2025-12-24T02:29:57.353003052-05:00","dependencies":[{"issue_id":"skills-0f1","depends_on_id":"skills-gga","type":"blocks","created_at":"2025-12-24T02:30:06.696967182-05:00","created_by":"daemon"}]} {"id":"skills-0nl","title":"Update orch skill to match CLI v0.1.0","description":"The orch skill (in ~/.claude/skills/orch/) is out of sync with the orch CLI.\n\nNeeded updates:\n- Fix model aliases: gpt-5 → gpt-5.2, claude-opus-4.1 → claude-opus-4.5\n- Add new aliases: deepseek, r1, qwen, qwen-fast, glm, sonar, sonar-pro\n- Document --synthesize flag for response aggregation\n- Document stdin piping support\n- Document orch models command\n- Document orch sessions command\n- Add --websearch, --serial, --allow-expensive options\n\nReference: ~/proj/orch/README.md and src/orch/models_registry.py","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-23T21:11:46.294285184-05:00","updated_at":"2025-12-24T01:29:54.408882125-05:00","closed_at":"2025-12-24T01:29:54.408882125-05:00","close_reason":"Updated skill with current CLI features and model aliases"} {"id":"skills-0og","title":"spec-review: Define output capture and audit trail","description":"Reviews happen in terminal then disappear. No audit trail, no diffable history.\n\nAdd:\n- Guidance to tee output to review file (e.g., specs/{branch}/review.md)\n- Standard location for gate check results\n- Template for recording decisions and rationale","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-15T00:23:23.705164812-08:00","updated_at":"2025-12-15T13:02:32.313084337-08:00","closed_at":"2025-12-15T13:02:32.313084337-08:00"} +{"id":"skills-0tk","title":"Evaluate: jwz for transient agent state","description":"Evaluate jwz as complement to beads for agent coordination.\n\n## Current Understanding\n- beads: persistent issues (multi-session, dependencies)\n- jwz: transient messages (session coordination, async)\n\n## Questions to Answer\n1. Does jwz add value beyond what beads provides?\n2. Is the Zig dependency acceptable?\n3. Can we achieve same with simpler file-based approach?\n4. How does jwz handle multi-repo coordination?\n\n## Evaluation Criteria\n- Complexity vs benefit\n- Cross-agent compatibility\n- Git integration quality\n- Maintenance burden\n\n## Deliverable\nRecommendation: adopt jwz, build alternative, or extend beads","status":"open","priority":3,"issue_type":"task","created_at":"2026-01-09T19:01:44.672000734-08:00","created_by":"dan","updated_at":"2026-01-09T19:01:44.672000734-08:00"} {"id":"skills-17f","title":"Ensure git access to both local Forgejo and ops-jrz1 Forgejo","description":"Need reliable access to both git servers for plugin development and deployment:\n\n**Local Forgejo (home):**\n- URL: http://192.168.1.108:3000\n- Currently down/unreachable at times\n- Used for skills repo remote\n\n**ops-jrz1 Forgejo (VPS):**\n- URL: https://git.clarun.xyz\n- Production server\n- Target for emes plugin deployment\n\n**Tasks:**\n- Verify local Forgejo is running (systemctl status)\n- Add ops-jrz1 as additional remote for skills repo\n- Consider mirroring skills repo to both\n- Document which forge is source of truth","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-09T11:14:52.639492685-08:00","created_by":"dan","updated_at":"2026-01-09T16:57:16.417563927-08:00","closed_at":"2026-01-09T16:57:16.417563927-08:00","close_reason":"Multi-push configured: origin pushes to both local and clarun Forgejos"} {"id":"skills-1ig","title":"Brainstorm agent-friendly doc conventions","description":"# Agent-Friendly Doc Conventions - Hybrid Architecture\n\n## FINAL ARCHITECTURE: Vale + LLM Hybrid\n\n### Insight\n\u003e \"Good old deterministic testing (dumb robots) is the best way to keep in check LLMs (smart robots) at volume.\"\n\n### Split by Tool\n\n| Category | Rubrics | Tool |\n|----------|---------|------|\n| Vale-only | Format Integrity, Deterministic Instructions, Terminology Strictness, Token Efficiency | Fast, deterministic, CI-friendly |\n| Vale + LLM | Semantic Headings, Configuration Precision, Security Boundaries | Vale flags, LLM suggests fixes |\n| LLM-only | Contextual Independence, Code Executability, Execution Verification | Semantic understanding required |\n\n### Pipeline\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│ Stage 1: Vale (deterministic, fast, free) │\n│ - Runs in CI on every commit │\n│ - Catches 40% of issues instantly │\n│ - No LLM cost for clean docs │\n└─────────────────────┬───────────────────────────────────────┘\n │ only if Vale passes\n ▼\n┌─────────────────────────────────────────────────────────────┐\n│ Stage 2: LLM Triage (cheap model) │\n│ - Evaluates 3 semantic rubrics │\n│ - Identifies which need patches │\n└─────────────────────┬───────────────────────────────────────┘\n │ only if issues found\n ▼\n┌─────────────────────────────────────────────────────────────┐\n│ Stage 3: LLM Specialists (capable model) │\n│ - One agent per failed rubric │\n│ - Generates patches │\n└─────────────────────────────────────────────────────────────┘\n```\n\n### Why This Works\n- Vale is battle-tested, fast, CI-native\n- LLM only fires when needed (adaptive cost)\n- Deterministic rules catch predictable issues\n- LLM handles semantic/contextual issues\n\n---\n\n## Vale Rules Needed\n\n### Format Integrity\n- Existence: code blocks without language tags\n- Regex for unclosed fences\n\n### Deterministic Instructions \n- Existence: hedging words (\"might\", \"may want to\", \"consider\", \"you could\")\n\n### Terminology Strictness\n- Consistency: flag term variations\n\n### Token Efficiency\n- Existence: filler phrases (\"In this section we will...\", \"As you may know...\")\n\n### Semantic Headings (partial)\n- Existence: banned headings (\"Overview\", \"Introduction\", \"Getting Started\")\n\n### Configuration Precision (partial)\n- Existence: vague versions (\"Python 3.x\", \"recent version\")\n\n### Security Boundaries (partial)\n- Existence: hardcoded API key patterns\n\n---\n\n## NEXT STEPS\n\n1. Create Vale style for doc-review rubrics\n2. Test Vale on sample docs\n3. Design LLM prompts for semantic rubrics only\n4. Wire into orch or standalone","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-04T14:02:04.898026177-08:00","updated_at":"2025-12-04T16:43:53.0608948-08:00","closed_at":"2025-12-04T16:43:53.0608948-08:00"} {"id":"skills-1ks","title":"Dual-publish pattern: Convert remaining skills","description":"Convert skills to dual-publish pattern (Nix + Claude plugin):\n\n**Pattern established with orch:**\n- Keep SKILL.md at root (Nix deployment)\n- Add .claude-plugin/plugin.json (Claude marketplace)\n- Copy to skills/\u003cname\u003e.md (Claude auto-discovery)\n\n**Skills to convert:**\n- [ ] worklog\n- [ ] code-review (has lenses dependency)\n- [ ] ops-review (has lenses dependency)\n- [ ] playwright-visit\n- [ ] screenshot-latest\n- [ ] niri-window-capture\n- [ ] web-search\n- [ ] web-research\n\n**Why dual-publish:**\n- Cross-agent support (Gemini, OpenCode can't use Claude plugins)\n- Nix provides system-level deployment\n- Claude plugin system provides hooks, marketplace discovery\n- See skills-bo8 for Gemini path restriction issue","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-09T11:20:47.271151803-08:00","created_by":"dan","updated_at":"2026-01-09T16:19:13.995523596-08:00","closed_at":"2026-01-09T16:19:13.995523596-08:00","close_reason":"All 16 skills converted to dual-publish pattern"} @@ -95,7 +96,7 @@ {"id":"skills-gq9","title":"Define structured skill reference schema","description":"Replace simple skill: string with structured object.\n\nCurrent (too weak):\n skill: worklog\n\nProposed:\n skill:\n id: worklog\n ref: \"git+file://...#worklog@abc123\"\n inputs:\n session: \"{{session}}\"\n expects:\n files: [\"docs/worklogs/{{session}}.org\"]\n\nFrom orch consensus: both GPT and Gemini flagged this as critical gap.\nNo mechanism to pass args from molecule to skill.","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-23T19:49:30.529899123-05:00","updated_at":"2025-12-28T22:46:28.371352259-05:00","closed_at":"2025-12-28T22:46:28.371352259-05:00","close_reason":"Deferred: structured schema was for molecule→skill integration. Current approach (agent reads SKILL.md directly) works well. Skills as entrypoints are simpler than protos. Revisit if programmatic workflows become active.","dependencies":[{"issue_id":"skills-gq9","depends_on_id":"skills-oes","type":"blocks","created_at":"2025-12-23T19:50:10.337111856-05:00","created_by":"daemon"},{"issue_id":"skills-gq9","depends_on_id":"skills-8y6","type":"blocks","created_at":"2025-12-23T19:50:10.388301727-05:00","created_by":"daemon"}]} {"id":"skills-gvj","title":"Orch-in-the-Middle: LSP proxy for multi-model refactors","description":"Write an LSP proxy (Go/Rust) that:\n- Intercepts rename/code-action requests from editor\n- Sends to Orch for multi-model proposals\n- Validates proposals against real headless LSP\n- Returns winning WorkspaceEdit to editor\n\nGet consensus refactoring inside VS Code/Neovim by configuring LSP server path in home-manager.","status":"closed","priority":4,"issue_type":"feature","created_at":"2025-12-24T02:29:56.623189042-05:00","updated_at":"2025-12-29T14:37:35.360129462-05:00","closed_at":"2025-12-29T14:37:35.360129462-05:00","close_reason":"Parked: waiting on gastown (Steve Yegge's orchestration layer for beads). Revisit when gastown lands."} {"id":"skills-h9f","title":"spec-review: Balance negativity bias in prompts","description":"'Be critical' and 'devil's advocate' can bias toward over-flagging without acknowledging what's good.\n\nAdd:\n- 'List top 3 strongest parts of the document'\n- 'Call out where document is sufficiently clear/testable'\n- Categorize :against concerns as confirmed/plausible/rejected","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-15T00:23:26.418087998-08:00","updated_at":"2025-12-15T14:07:39.520818417-08:00","closed_at":"2025-12-15T14:07:39.520818417-08:00"} -{"id":"skills-hf1","title":"Cross-agent skill portability and quality gates","description":"Design and implement patterns for skills that work across multiple AI agents (Claude, Gemini, OpenCode).\n\n## Problem Statement\n\nWe want skills and quality enforcement to work regardless of which agent is:\n- The primary orchestrator\n- The worker agent\n- The reviewer agent\n\nCurrent blockers:\n- Claude Code hooks (Stop, etc.) don't exist in other agents\n- Path restrictions differ (Gemini can't read ~/.claude/skills/)\n- Subagent spawning differs across agents\n- alice/idle quality gate is Claude-specific\n\n## Goals\n\n1. **Portable skills** - Same skill works in Claude, Gemini, OpenCode\n2. **Portable quality gates** - Adversarial review pattern across agents\n3. **Flexible orchestration** - Any agent can orchestrate, any can be worker/reviewer\n\n## Key Research Areas\n\n- Dual-publish pattern (done: ADR-005)\n- Cross-agent quality gate mechanisms\n- State management (jwz vs beads vs other)\n- Protocol vs mechanical enforcement trade-offs\n- Orchestrator pattern design\n\n## Related Work\n\n- emes ecosystem (alice, jwz, tissue)\n- Our dual-publish implementation\n- orch multi-model consensus","status":"open","priority":2,"issue_type":"epic","created_at":"2026-01-09T17:13:48.116438862-08:00","created_by":"dan","updated_at":"2026-01-09T17:13:54.006968189-08:00","dependencies":[{"issue_id":"skills-hf1","depends_on_id":"skills-3gk","type":"blocks","created_at":"2026-01-09T17:14:26.901205948-08:00","created_by":"dan"},{"issue_id":"skills-hf1","depends_on_id":"skills-fqu","type":"blocks","created_at":"2026-01-09T17:14:26.940496671-08:00","created_by":"dan"},{"issue_id":"skills-hf1","depends_on_id":"skills-3ja","type":"blocks","created_at":"2026-01-09T17:14:26.97832902-08:00","created_by":"dan"},{"issue_id":"skills-hf1","depends_on_id":"skills-mjf","type":"blocks","created_at":"2026-01-09T17:14:27.011077849-08:00","created_by":"dan"},{"issue_id":"skills-hf1","depends_on_id":"skills-6fu","type":"blocks","created_at":"2026-01-09T17:14:27.045750539-08:00","created_by":"dan"},{"issue_id":"skills-hf1","depends_on_id":"skills-bo8","type":"blocks","created_at":"2026-01-09T17:14:27.150392041-08:00","created_by":"dan"},{"issue_id":"skills-hf1","depends_on_id":"skills-5kv","type":"blocks","created_at":"2026-01-09T17:14:27.192813254-08:00","created_by":"dan"},{"issue_id":"skills-hf1","depends_on_id":"skills-ut4","type":"blocks","created_at":"2026-01-09T17:32:23.828114543-08:00","created_by":"dan"}]} +{"id":"skills-hf1","title":"Cross-agent skill portability and quality gates","description":"Design and implement patterns for skills that work across multiple AI agents (Claude, Gemini, OpenCode).\n\n## Problem Statement\n\nWe want skills and quality enforcement to work regardless of which agent is:\n- The primary orchestrator\n- The worker agent\n- The reviewer agent\n\nCurrent blockers:\n- Claude Code hooks (Stop, etc.) don't exist in other agents\n- Path restrictions differ (Gemini can't read ~/.claude/skills/)\n- Subagent spawning differs across agents\n- alice/idle quality gate is Claude-specific\n\n## Goals\n\n1. **Portable skills** - Same skill works in Claude, Gemini, OpenCode\n2. **Portable quality gates** - Adversarial review pattern across agents\n3. **Flexible orchestration** - Any agent can orchestrate, any can be worker/reviewer\n\n## Key Research Areas\n\n- Dual-publish pattern (done: ADR-005)\n- Cross-agent quality gate mechanisms\n- State management (jwz vs beads vs other)\n- Protocol vs mechanical enforcement trade-offs\n- Orchestrator pattern design\n\n## Related Work\n\n- emes ecosystem (alice, jwz, tissue)\n- Our dual-publish implementation\n- orch multi-model consensus","status":"open","priority":2,"issue_type":"epic","created_at":"2026-01-09T17:13:48.116438862-08:00","created_by":"dan","updated_at":"2026-01-09T17:13:54.006968189-08:00","dependencies":[{"issue_id":"skills-hf1","depends_on_id":"skills-3gk","type":"blocks","created_at":"2026-01-09T17:14:26.901205948-08:00","created_by":"dan"},{"issue_id":"skills-hf1","depends_on_id":"skills-fqu","type":"blocks","created_at":"2026-01-09T17:14:26.940496671-08:00","created_by":"dan"},{"issue_id":"skills-hf1","depends_on_id":"skills-3ja","type":"blocks","created_at":"2026-01-09T17:14:26.97832902-08:00","created_by":"dan"},{"issue_id":"skills-hf1","depends_on_id":"skills-mjf","type":"blocks","created_at":"2026-01-09T17:14:27.011077849-08:00","created_by":"dan"},{"issue_id":"skills-hf1","depends_on_id":"skills-6fu","type":"blocks","created_at":"2026-01-09T17:14:27.045750539-08:00","created_by":"dan"},{"issue_id":"skills-hf1","depends_on_id":"skills-bo8","type":"blocks","created_at":"2026-01-09T17:14:27.150392041-08:00","created_by":"dan"},{"issue_id":"skills-hf1","depends_on_id":"skills-5kv","type":"blocks","created_at":"2026-01-09T17:14:27.192813254-08:00","created_by":"dan"},{"issue_id":"skills-hf1","depends_on_id":"skills-ut4","type":"blocks","created_at":"2026-01-09T17:32:23.828114543-08:00","created_by":"dan"},{"issue_id":"skills-hf1","depends_on_id":"skills-thk","type":"blocks","created_at":"2026-01-09T19:01:50.07496376-08:00","created_by":"dan"},{"issue_id":"skills-hf1","depends_on_id":"skills-tta","type":"blocks","created_at":"2026-01-09T19:01:50.103539768-08:00","created_by":"dan"},{"issue_id":"skills-hf1","depends_on_id":"skills-0tk","type":"blocks","created_at":"2026-01-09T19:01:50.132254456-08:00","created_by":"dan"}]} {"id":"skills-hgm","title":"Add tests for agent file update logic","description":"File: .specify/scripts/bash/update-agent-context.sh (lines 360-499)\n\nCritical logic with NO test coverage:\n- Malformed agent files (missing sections)\n- Multiple section headers on same line\n- Empty file handling\n- Timestamp update verification\n- State machine correctness\n\nRisk: HIGH - corrupts agent context files on failure\n\nFix:\n- Create test fixtures for various file states\n- Test each state transition\n- Verify idempotency\n\nSeverity: HIGH","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-24T02:51:00.793493549-05:00","updated_at":"2026-01-02T02:12:09.368531967-05:00","closed_at":"2026-01-02T02:12:09.368531967-05:00","close_reason":"33 tests added covering all major code paths. Also fixed bug where Recent Changes section was skipped when preceded by Active Technologies."} {"id":"skills-hh2","title":"skill: rename_symbol with LSP + validation","description":"Skill that performs safe renames:\n1. Uses LSP textDocument/rename\n2. Runs formatters\n3. Checks LSP diagnostics post-rename\n4. Opens bead if errors remain\n5. Updates doc references using hover/signatureHelp\n\nInput: new name, scope. Output: clean rename or bead with issues.","status":"open","priority":3,"issue_type":"task","created_at":"2025-12-24T02:29:56.87156069-05:00","updated_at":"2025-12-24T02:29:56.87156069-05:00","dependencies":[{"issue_id":"skills-hh2","depends_on_id":"skills-gga","type":"blocks","created_at":"2025-12-24T02:30:06.583813579-05:00","created_by":"daemon"}]} {"id":"skills-hhz","title":"Add doc-review skill","description":"Create skill for doc-review CLI tool (~/proj/doc-review). Tool lints markdown docs for AI agent consumption using Vale + LLM hybrid architecture. Needs: 1) flake.nix in doc-review project, 2) skill SKILL.md, 3) register in availableSkills","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-30T11:24:41.321478346-05:00","created_by":"dan","updated_at":"2025-12-31T00:00:30.74314365-05:00","closed_at":"2025-12-31T00:00:30.74314365-05:00","close_reason":"doc-review skill created in skills/doc-review/SKILL.md"} @@ -125,6 +126,8 @@ {"id":"skills-rex","title":"Test integration on worklog skill","description":"Use worklog skill as first real test case:\n- Create wisp for worklog execution\n- Capture execution trace\n- Test squash → digest\n- Validate trace format captures enough info for replay\n\nMigrated from dotfiles-drs.","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-23T19:21:18.75525644-05:00","updated_at":"2025-12-29T13:55:35.814174815-05:00","closed_at":"2025-12-29T13:55:35.814174815-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.","dependencies":[{"issue_id":"skills-rex","depends_on_id":"skills-3em","type":"blocks","created_at":"2025-12-23T19:22:00.34922734-05:00","created_by":"dan"}]} {"id":"skills-rpf","title":"Implement playwright-visit skill for browser automation","description":"## Overview\nBrowser automation skill using Playwright to visit web pages, take screenshots, and extract content.\n\n## Key Findings (from dotfiles investigation)\n\n### Working Setup\n- Use `python312Packages.playwright` from nixpkgs (handles Node driver binary patching for NixOS)\n- Use `executable_path='/run/current-system/sw/bin/chromium'` to use system chromium\n- No `playwright install` needed - no browser binary downloads\n\n### Profile Behavior\n- Fresh/blank profile every launch by default\n- No cookies, history, or logins from user's browser\n- Can persist state with `storage_state` parameter if needed\n\n### Example Code\n```python\nfrom playwright.sync_api import sync_playwright\n\nwith sync_playwright() as p:\n browser = p.chromium.launch(\n executable_path='/run/current-system/sw/bin/chromium',\n headless=True\n )\n page = browser.new_page()\n page.goto('https://example.com')\n print(page.title())\n browser.close()\n```\n\n### Why Not uv/pip?\n- Playwright pip package bundles a Node.js driver binary\n- NixOS can't run dynamically linked executables without patching\n- nixpkgs playwright handles this properly\n\n## Implementation Plan\n1. Create `skills/playwright-visit/` directory\n2. Add flake.nix with devShell providing playwright\n3. Create CLI script with subcommands:\n - `screenshot \u003curl\u003e \u003coutput.png\u003e` - capture page\n - `text \u003curl\u003e` - extract text content \n - `html \u003curl\u003e` - get rendered HTML\n - `pdf \u003curl\u003e \u003coutput.pdf\u003e` - save as PDF\n4. Create skill definition for Claude Code integration\n5. Document usage in skill README\n\n## Dependencies\n- nixpkgs python312Packages.playwright\n- System chromium (already in dotfiles)\n\n## Related\n- dotfiles issue dotfiles-m09 (playwright skill request)","status":"closed","priority":2,"issue_type":"feature","created_at":"2025-12-16T16:02:28.577381007-08:00","updated_at":"2025-12-29T00:09:50.681141882-05:00","closed_at":"2025-12-29T00:09:50.681141882-05:00","close_reason":"Implemented: SKILL.md, visit.py CLI (screenshot/text/html/pdf), flake.nix devShell, README. Network down so couldn't test devShell build, but code complete."} {"id":"skills-s92","title":"Add tests for config injection (deploy-skill.sh)","description":"File: bin/deploy-skill.sh (lines 112-137)\n\nCritical logic with NO test coverage:\n- Idempotency (running twice should be safe)\n- Correct brace matching in Nix\n- Syntax validity of injected config\n- Rollback on failure\n\nRisk: MEDIUM-HIGH - can break dotfiles Nix config\n\nFix:\n- Test idempotent injection\n- Validate Nix syntax after injection\n- Test with malformed input\n\nSeverity: MEDIUM","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-24T02:51:01.314513824-05:00","updated_at":"2026-01-06T16:29:18.728097676-08:00","closed_at":"2026-01-06T16:29:18.728097676-08:00","close_reason":"21 tests added covering idempotency, brace preservation, inject_home_file wrapper, edge cases"} +{"id":"skills-thk","title":"Design: Hybrid hook + gate architecture","description":"Design enforcement that uses hooks where available, orchestrator gates elsewhere.\n\n## Hook-Capable Agents (Claude, Gemini)\n- Stop hook checks beads for review status\n- Mechanical enforcement - agent can't bypass\n\n## Non-Hook Agents (OpenCode, Codex) \n- Orchestrator pattern enforces gate\n- Orchestrator checks beads before declaring done\n- Worker can't bypass because doesn't control session\n\n## Shared Components\n- beads: persistent state (issues, review status)\n- jwz: transient state (session messages, async handoffs)\n- review-gate CLI: checks state, returns exit code\n\n## Deliverable\nArchitecture doc showing:\n1. Hook configuration for Claude/Gemini\n2. Orchestrator flow for OpenCode/Codex\n3. State schema in beads\n4. review-gate CLI design","status":"open","priority":2,"issue_type":"task","created_at":"2026-01-09T19:01:24.270855877-08:00","created_by":"dan","updated_at":"2026-01-09T19:01:24.270855877-08:00"} +{"id":"skills-tta","title":"Design: Circuit breaker patterns","description":"Design circuit breakers to prevent agent infinite loops.\n\n## Patterns to Implement\n\n### Semantic Drift Detection\n- Embed last N agent thoughts\n- If \u003e95% similar, inject \"try different approach\"\n- Use cheap embedding model\n\n### Three-Strike Tool Rule \n- Track tool call signatures (tool + args + error)\n- 3 identical failures → force strategy shift\n- Implement in PostToolUse hook\n\n### Budget-Based Interrupts\n- Allocate token budget per sub-task\n- Pause if \u003e50% budget used with \u003c30% progress\n- Request plan refinement\n\n### Time-Based Breaker\n- Timeout per task type\n- Escalate to review if exceeded\n\n## Implementation Options\n- Hook-based (Claude/Gemini)\n- Wrapper-based (all agents)\n- Orchestrator-enforced (all agents)\n\n## Deliverable\n- Circuit breaker design doc\n- Prototype implementation for one pattern","status":"open","priority":2,"issue_type":"task","created_at":"2026-01-09T19:01:44.536499408-08:00","created_by":"dan","updated_at":"2026-01-09T19:01:44.536499408-08:00"} {"id":"skills-ty7","title":"Define trace levels (audit vs debug)","description":"Two trace levels to manage noise vs utility:\n\n1. Audit trace (minimal, safe, always on):\n - skill id/ref, start/end\n - high-level checkpoints\n - artifact hashes/paths\n - exit status\n\n2. Debug trace (opt-in, verbose):\n - tool calls with args\n - stdout/stderr snippets\n - expanded inputs\n - timing details\n\nConsider OpenTelemetry span model as reference.\nGPT proposed this; Gemini focused on rotation/caps instead.","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-23T19:49:48.514684945-05:00","updated_at":"2025-12-29T13:55:35.838961236-05:00","closed_at":"2025-12-29T13:55:35.838961236-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-u3d","title":"Define skill trigger conditions","description":"How does an agent know WHEN to apply a skill/checklist?\n\nOptions:\n- frontmatter triggers: field with patterns\n- File-based detection\n- Agent judgment from description\n- Beads hooks on state transitions\n- LLM-based pattern detection","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-23T17:59:09.69468767-05:00","updated_at":"2025-12-28T22:25:38.579989006-05:00","closed_at":"2025-12-28T22:25:38.579989006-05:00","close_reason":"Resolved: agent judgment from description is the standard. Good descriptions + 'When to Use' sections are sufficient. No new trigger mechanism needed - would add complexity without clear benefit."} {"id":"skills-uan","title":"worklog: merge Guidelines and Remember sections","description":"Guidelines (8 points) and Remember (6 points) sections overlap significantly - both emphasize comprehensiveness, future context, semantic compression. Consolidate into single principles list. Found by bloat lens review.","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-25T02:03:16.148596791-05:00","updated_at":"2025-12-27T10:05:51.527595332-05:00","closed_at":"2025-12-27T10:05:51.527595332-05:00","close_reason":"Closed"} diff --git a/.beads/last-touched b/.beads/last-touched index da7a137..af6017d 100644 --- a/.beads/last-touched +++ b/.beads/last-touched @@ -1 +1 @@ -skills-ut4 +skills-hf1