bd sync: 2026-01-13 09:15:19

This commit is contained in:
2026-01-13 09:15:19 -08:00
parent 77eda033e4
commit 30be37e2e9

View File

@@ -8,7 +8,7 @@
{"id":"nixos-configs-2mk","title":"Remove wixos (WSL) configuration","description":"WSL is no longer used. Remove the wixos machine configuration entirely from the flake and any associated home-manager config.","status":"in_review","priority":3,"issue_type":"task","created_at":"2026-01-10T10:31:28.363467309-08:00","created_by":"johno","updated_at":"2026-01-13T06:58:34.874939972-08:00"}
{"id":"nixos-configs-4ht","title":"Handle private google-cookie-retrieval input in CI","description":"The flake has a private input at `flake.nix:36-39`:\n\n```nix\ngoogle-cookie-retrieval = {\n url = \"git+https://git.johnogle.info/johno/google-cookie-retrieval.git\";\n inputs.nixpkgs.follows = \"nixpkgs\";\n};\n```\n\nThis requires authentication to the private Gitea server during flake evaluation. Options:\n1. Configure CI runner with SSH/token access to private repos\n2. Make the input optional/conditional\n3. Remove the input if unused\n\nResearch needed: Is this input actually used in any configuration?\n\nRelated: nixos-configs-2hq (CI enablement)","status":"open","priority":2,"issue_type":"task","created_at":"2026-01-12T21:01:30.126212873-08:00","created_by":"johno","updated_at":"2026-01-12T21:01:30.126212873-08:00"}
{"id":"nixos-configs-7hd","title":"Add Claude skill for parallel bead processing workflow","description":"## Summary\nAdd a Claude skill to the home development role that orchestrates parallel bead processing using subagents.\n\n## Workflow\n\n### Phase 1: Selection\n1. Run `bd ready` to get list of all ready beads\n2. Prompt user to select which beads they want to work on (multi-select)\n\n### Phase 2: Parallel Implementation (subagents)\nFor each selected bead, spin up a subagent responsible for:\n1. Creating a branch/worktree for the bead (e.g., `git worktree add`)\n2. Working on the bead until its acceptance criteria are met\n3. Committing and pushing the changes to the branch\n4. Opening a PR to merge those changes\n - PR description must reference the bead ID\n - If the bead references an external issue number (e.g., GitHub issue), include that in the PR description as well\n\n### Phase 3: Parallel Review (subagents)\nSpin up another set of subagents to:\n1. Read each PR and its changes\n2. Leave review comments on the PR\n\n### Phase 4: Cleanup \u0026 Summary\n1. Clean up the worktrees\n2. Provide links and summaries to each PR\n3. Include failure status if any subagent was unable to make progress\n\n## Acceptance Criteria\n- [ ] Skill is added to home development role configuration\n- [ ] Skill prompts user with multi-select for bead selection\n- [ ] Subagents create isolated worktrees for each bead\n- [ ] Subagents work until acceptance criteria met or report blockers\n- [ ] Changes are committed and pushed\n- [ ] PRs are opened automatically\n- [ ] PR descriptions reference the bead ID\n- [ ] PR descriptions include linked external issue numbers from the bead\n- [ ] Review subagents provide meaningful feedback\n- [ ] Worktrees are cleaned up after completion\n- [ ] Final summary includes PR links, status, and any failures\n\n## Location\n`home/roles/development/` or appropriate skill location for Claude skills\n\n## Notes\n- Consider error handling for subagent failures\n- Consider parallelism limits to avoid overwhelming resources\n- Should integrate with existing beads workflow (`bd` commands)","status":"closed","priority":2,"issue_type":"feature","created_at":"2026-01-10T10:47:06.688785671-08:00","created_by":"johno","updated_at":"2026-01-12T20:50:16.809506837-08:00","closed_at":"2026-01-12T20:50:16.809506837-08:00","close_reason":"Already implemented"}
{"id":"nixos-configs-85h","title":"Iterate parallel beads skill","notes":"Gitea issue #12: https://git.johnogle.info/johno/nixos-configs/issues/12\n\nAfter opening a PR, instead of closing the bead we should mark it with 'in review' status. The PR should be included in the bead notes.\n\nAlso want an additional skill to reconcile beads with PRs - if a PR is merged then the bead should be closed.\n\nPR: https://git.johnogle.info/johno/nixos-configs/pulls/14","status":"in_review","priority":2,"issue_type":"feature","created_at":"2026-01-10T12:27:39.251088165-08:00","created_by":"johno","updated_at":"2026-01-10T12:40:43.653739221-08:00"}
{"id":"nixos-configs-85h","title":"Iterate parallel beads skill","notes":"Gitea issue #12: https://git.johnogle.info/johno/nixos-configs/issues/12\n\nAfter opening a PR, instead of closing the bead we should mark it with 'in review' status. The PR should be included in the bead notes.\n\nAlso want an additional skill to reconcile beads with PRs - if a PR is merged then the bead should be closed.\n\nPR: https://git.johnogle.info/johno/nixos-configs/pulls/14","status":"closed","priority":2,"issue_type":"feature","created_at":"2026-01-10T12:27:39.251088165-08:00","created_by":"johno","updated_at":"2026-01-13T09:15:11.536120865-08:00","closed_at":"2026-01-13T09:15:11.536120865-08:00","close_reason":"PR merged"}
{"id":"nixos-configs-9eq","title":"Improve parallel_beads to enforce worktree/branch workflow","description":"## Problem\n\nThe parallel_beads skill documents creating worktrees, but the implementation subagents worked directly on main branch instead of in isolated worktrees.\n\n## What Happened\n- Subagents implemented changes directly in the working directory on main\n- Had to manually create branch and PR after the fact\n- Risk of accidentally committing to main\n\n## Proposed Fix\n\nUpdate parallel_beads skill to:\n1. **Require worktree creation first** before implementation starts\n2. Add explicit checks that we're not on main branch\n3. Consider making worktree creation part of the subagent launch, not optional\n\n## Related Skills\n- `home/roles/development/skills/parallel_beads.md`\n- `home/roles/development/skills/beads_implement.md`","status":"open","priority":2,"issue_type":"task","created_at":"2026-01-13T07:29:59.616023732-08:00","created_by":"johno","updated_at":"2026-01-13T07:29:59.616023732-08:00"}
{"id":"nixos-configs-9ky","title":"Add john-endesktop as builder machine (similar to zix790prors)","description":"Configure john-endesktop as a remote builder machine in the NixOS configuration, following the same pattern used for zix790prors. This involves:\n- Adding the machine to distributed builds configuration\n- Setting up SSH keys and access\n- Configuring build capabilities (systems, features, speed factor, etc.)","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-12T21:15:42.418032127-08:00","created_by":"johno","updated_at":"2026-01-12T21:24:22.401288859-08:00","closed_at":"2026-01-12T21:24:22.401288859-08:00","close_reason":"Added john-endesktop as builder and documented SSH setup process"}
{"id":"nixos-configs-9l8","title":"Mu4e emails aren't sending body content","description":"I tried to send an email to Anthony from The Springs and the to, cc, subject all worked as expected. But the body I wrote was totally missing.\n\nSource: Gitea issue #2","status":"in_review","priority":2,"issue_type":"bug","created_at":"2026-01-10T10:07:08.107097147-08:00","created_by":"johno","updated_at":"2026-01-13T06:58:34.995139475-08:00"}
@@ -35,5 +35,5 @@
{"id":"nixos-configs-uji","title":"Add and use starship.rs","status":"closed","priority":3,"issue_type":"feature","created_at":"2026-01-10T10:07:07.088523902-08:00","created_by":"johno","updated_at":"2026-01-10T10:13:46.830449555-08:00","closed_at":"2026-01-10T10:13:46.830449555-08:00","close_reason":"Closed"}
{"id":"nixos-configs-und","title":"Evaluate Custom Packages","description":"# Investigation: Custom Packages\n\n## Questions to Answer\n- Are packages well-structured?\n- Is overlay usage optimal?\n- Are packages up-to-date with nixpkgs conventions?\n\n## Key Files\n- `packages/default.nix` - Custom package overlay\n- `packages/*/default.nix` - Individual package definitions\n\n## Approach\n1. Use `/humanlayer:research_codebase_nt` to analyze package structure\n2. Check overlay patterns and composition\n3. Use `/humanlayer:create_plan_nt` to plan improvements if needed","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-10T10:08:25.566312823-08:00","created_by":"johno","updated_at":"2026-01-10T10:11:22.107817076-08:00","closed_at":"2026-01-10T10:11:22.107817076-08:00","close_reason":"# Custom Packages Evaluation Complete\n\n## Overview\nThe nixos-configs repository contains 5 custom packages, all managed through a single `packages/default.nix` file that exposes them via `pkgs.custom.*` overlay.\n\n## Package-by-Package Analysis\n\n### 1. claude-code (Well-Structured)\n- **Purpose**: Fetches Claude Code CLI directly from Google Cloud Storage, bypassing npm registry (needed for corporate network restrictions)\n- **Structure**: Excellent - uses `stdenv.mkDerivation` with proper multi-platform support (4 platforms)\n- **Update mechanism**: Has automated `update.sh` script that fetches version/hashes from Homebrew cask - very well designed\n- **Documentation**: Includes comprehensive README.md\n- **Usage**: Exposed via overlay to `pkgs.unstable.claude-code` for Darwin machines\n- **Note**: Also has an unused `npm.nix` with placeholder hash - appears to be abandoned attempt\n\n### 2. vulkan-hdr-layer (Well-Structured)\n- **Purpose**: Vulkan layer for HDR support\n- **Structure**: Proper `stdenv.mkDerivation` with meson build system\n- **Issue**: Uses commit hash version `63d2eec` (unstable version) - consider using tagged releases\n- **Note**: Not currently used anywhere in the configuration (orphaned package?)\n\n### 3. tea-rbw (Simple Wrapper)\n- **Purpose**: Wrapper around `tea` (Gitea CLI) that integrates with rbw (Bitwarden CLI) for authentication\n- **Structure**: Simple `writeShellScriptBin` - appropriate for this use case\n- **Usage**: Used in `home/roles/development/default.nix`\n\n### 4. app-launcher-server (Simple Wrapper)\n- **Purpose**: HTTP server for launching allowlisted applications (Firefox, Kodi)\n- **Structure**: Python script with `writeShellScriptBin` wrapper - clean design\n- **Usage**: Used in `roles/kodi/default.nix` for media center control\n\n### 5. perles (Well-Structured)\n- **Purpose**: TUI for Beads issue tracking system\n- **Structure**: Proper `buildGoModule` with GitHub fetch\n- **Issue**: Uses `rev = \"main\"` instead of pinned commit - can cause reproducibility issues\n- **Usage**: Used in `home/roles/development/default.nix`\n\n## Overlay Integration\nPackages are exposed via overlay in flake.nix:\n```nix\ncustom = prev.callPackage ./packages {};\n```\nThis is a clean, standard pattern.\n\n## Observations\n\n### Strengths\n1. Single entry point (`packages/default.nix`) for all custom packages\n2. Proper use of `callPackage` idiom\n3. Good variety of build patterns (stdenv, buildGoModule, writeShellScriptBin)\n4. Excellent automated update script for claude-code\n5. Proper meta attributes on most packages\n\n### Issues/Recommendations\n1. **vulkan-hdr-layer appears unused** - consider removing if not needed\n2. **perles uses `rev = \"main\"`** - should pin to specific commit for reproducibility\n3. **npm.nix is unused** - leftover file in claude-code directory\n4. **Missing maintainers** - all packages have empty maintainers list\n5. **vulkan-hdr-layer uses unstable version** - uses commit hash, not tagged release\n\n## Nixpkgs Convention Compliance\n- Package naming follows conventions\n- Meta attributes present\n- Uses appropriate build helpers\n- Overlay pattern is idiomatic\n- Could benefit from adding tests for some packages"}
{"id":"nixos-configs-v2v","title":"Pin perles package to specific commit","description":"From Custom Packages evaluation: perles in packages/perles/default.nix uses rev = 'main' instead of a pinned commit. This breaks reproducibility. Should pin to a specific commit hash.","status":"closed","priority":2,"issue_type":"bug","created_at":"2026-01-10T10:31:27.624760234-08:00","created_by":"johno","updated_at":"2026-01-12T20:42:40.886662599-08:00","closed_at":"2026-01-12T20:42:40.886662599-08:00","close_reason":"perles package was removed entirely"}
{"id":"nixos-configs-vru","title":"Add skill for responding to Gitea PR review comments","description":"## Problem\n\nWhen responding to PR review comments on Gitea/Forgejo, the REST API (`/api/v1/...`) does not support replying directly to review comment threads. Using `tea comment` or the API creates new top-level comments instead of inline thread replies.\n\n## Discovery\n\nThe web UI uses a different endpoint that supports replies:\n\n```\nPOST /pulls/{id}/files/reviews/comments\nContent-Type: multipart/form-data\n```\n\nKey form fields:\n- `reply`: Review ID to reply to (e.g., `2`)\n- `content`: The reply message\n- `path`: File path (e.g., `home/roles/development/default.nix`)\n- `line`: Line number\n- `side`: `proposed` or `original`\n- `single_review`: `true`\n- `origin`: `timeline`\n- `_csrf`: CSRF token (required)\n\nAuthentication requires session cookies, not API token.\n\n## Proposed Solution\n\nCreate a Claude skill that can:\n1. Fetch PR review comments via the REST API\n2. Authenticate via browser session or find alternative auth method\n3. Post inline replies to review comment threads using the web endpoint\n\n### Options to explore:\n1. **Session extraction**: Get cookies from browser or `tea` config\n2. **Headless browser**: Use playwright/puppeteer to automate web UI\n3. **CSRF flow**: Login via API, get CSRF token, then use web endpoint\n4. **tea enhancement**: Check if `tea` CLI has undocumented reply support\n\n## API Reference\n\nGet reviews:\n```bash\ncurl -H \"Authorization: token $TOKEN\" \\\n \"https://git.johnogle.info/api/v1/repos/{owner}/{repo}/pulls/{id}/reviews\"\n```\n\nGet review comments:\n```bash\ncurl -H \"Authorization: token $TOKEN\" \\\n \"https://git.johnogle.info/api/v1/repos/{owner}/{repo}/pulls/{id}/reviews/{review_id}/comments\"\n```\n\n## Acceptance Criteria\n\n- [ ] Skill can read PR review comments given a PR number\n- [ ] Skill can post inline replies to specific review comment threads\n- [ ] Works with Gitea/Forgejo instances (git.johnogle.info)\n- [ ] Handles authentication securely","notes":"Plan: thoughts/beads-nixos-configs-vru/plan.md\nPR: https://git.johnogle.info/johno/nixos-configs/pulls/26","status":"in_review","priority":2,"issue_type":"feature","created_at":"2026-01-10T11:29:18.493043744-08:00","created_by":"johno","updated_at":"2026-01-13T07:30:06.26817876-08:00"}
{"id":"nixos-configs-vru","title":"Add skill for responding to Gitea PR review comments","description":"## Problem\n\nWhen responding to PR review comments on Gitea/Forgejo, the REST API (`/api/v1/...`) does not support replying directly to review comment threads. Using `tea comment` or the API creates new top-level comments instead of inline thread replies.\n\n## Discovery\n\nThe web UI uses a different endpoint that supports replies:\n\n```\nPOST /pulls/{id}/files/reviews/comments\nContent-Type: multipart/form-data\n```\n\nKey form fields:\n- `reply`: Review ID to reply to (e.g., `2`)\n- `content`: The reply message\n- `path`: File path (e.g., `home/roles/development/default.nix`)\n- `line`: Line number\n- `side`: `proposed` or `original`\n- `single_review`: `true`\n- `origin`: `timeline`\n- `_csrf`: CSRF token (required)\n\nAuthentication requires session cookies, not API token.\n\n## Proposed Solution\n\nCreate a Claude skill that can:\n1. Fetch PR review comments via the REST API\n2. Authenticate via browser session or find alternative auth method\n3. Post inline replies to review comment threads using the web endpoint\n\n### Options to explore:\n1. **Session extraction**: Get cookies from browser or `tea` config\n2. **Headless browser**: Use playwright/puppeteer to automate web UI\n3. **CSRF flow**: Login via API, get CSRF token, then use web endpoint\n4. **tea enhancement**: Check if `tea` CLI has undocumented reply support\n\n## API Reference\n\nGet reviews:\n```bash\ncurl -H \"Authorization: token $TOKEN\" \\\n \"https://git.johnogle.info/api/v1/repos/{owner}/{repo}/pulls/{id}/reviews\"\n```\n\nGet review comments:\n```bash\ncurl -H \"Authorization: token $TOKEN\" \\\n \"https://git.johnogle.info/api/v1/repos/{owner}/{repo}/pulls/{id}/reviews/{review_id}/comments\"\n```\n\n## Acceptance Criteria\n\n- [ ] Skill can read PR review comments given a PR number\n- [ ] Skill can post inline replies to specific review comment threads\n- [ ] Works with Gitea/Forgejo instances (git.johnogle.info)\n- [ ] Handles authentication securely","notes":"Plan: thoughts/beads-nixos-configs-vru/plan.md\nPR: https://git.johnogle.info/johno/nixos-configs/pulls/26","status":"closed","priority":2,"issue_type":"feature","created_at":"2026-01-10T11:29:18.493043744-08:00","created_by":"johno","updated_at":"2026-01-13T09:15:11.532836665-08:00","closed_at":"2026-01-13T09:15:11.532836665-08:00","close_reason":"PR merged"}
{"id":"nixos-configs-yrc","title":"Gitea integration Phase 2: Bidirectional sync","description":"Add push support to Gitea integration.\n\nDeliverables:\n- CreateIssue/UpdateIssue methods in client.go\n- Conflict detection and resolution\n- bd sync --gitea integration\n- Incremental sync via updated_at filtering\n\nParent: nixos-configs-cph","status":"closed","priority":3,"issue_type":"task","created_at":"2026-01-12T20:31:53.714748854-08:00","created_by":"johno","updated_at":"2026-01-12T20:41:43.804389915-08:00","closed_at":"2026-01-12T20:41:43.804389915-08:00","close_reason":"Deprioritized - revisit after more workflow experimentation","dependencies":[{"issue_id":"nixos-configs-yrc","depends_on_id":"nixos-configs-g47","type":"blocks","created_at":"2026-01-12T20:32:05.872628288-08:00","created_by":"johno"}]}