Commit Graph

509 Commits

Author SHA1 Message Date
johno-square d0cb16391f update gt and/or beads 2026-01-26 11:51:06 -08:00
johno-square d872293f19 fix(gastown): add ldflags for BuiltProperly check
CI / check (push) Successful in 3m57s
The gastown build now requires BuiltProperly=1 to be set via ldflags,
otherwise gt errors with "This binary was built with 'go build' directly".

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 08:20:20 -08:00
renovate-bot 07182cfdcf chore(deps): lock file maintenance
CI / check (push) Successful in 3m48s
CI / check (pull_request) Failing after 3m59s
2026-01-26 08:04:22 +00:00
hermione 65e91c20f7 fix(emacs): set org-caldav delete to never to prevent mass deletion
CI / check (push) Successful in 4m5s
Sync state confusion was causing org-caldav to want to delete all
calendar entries. Setting to 'never' prevents accidental data loss.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 14:35:24 -08:00
hermione 01e376eac4 fix(emacs): correct org-caldav-todo-percent-states format
CI / check (push) Successful in 3m35s
Format is (PERCENT "KEYWORD") not ("KEYWORD" . PERCENT).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 14:27:17 -08:00
hermione 9c5be2e27a fix(emacs): add KILL state to org-caldav-todo-percent-states
CI / check (push) Has been cancelled
org-caldav needs percent mappings for all todo states. Added mappings
for TODO, IN-PROGRESS, WAIT, DONE, and KILL to prevent sync errors.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 14:26:08 -08:00
hermione d9ffb14db5 refactor(emacs): remove DEADLINE logic, keep only CALDAV_UNTIL property
CI / check (push) Has been cancelled
DEADLINE doesn't limit recurring event display - agenda skip function
handles that now. Simplified advice to only store CALDAV_UNTIL property.

Also made debug logging unconditional to diagnose why some events
don't get the property.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 14:23:55 -08:00
hermione 07ea05afab feat(emacs): filter recurring events past CALDAV_UNTIL in agenda
CI / check (push) Has been cancelled
DEADLINE doesn't actually limit recurring event display in org-agenda.
Instead, use org-agenda-skip-function-global to filter entries where
today's date is past the CALDAV_UNTIL property.

The skip function:
- Checks for CALDAV_UNTIL property (set by caldav sync advice)
- Parses YYYYMMDD format
- Skips entry if today > UNTIL date

This properly hides expired recurring events from the agenda.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 14:20:44 -08:00
hermione 4f5108c9d9 fix(emacs): allow org-caldav export with broken links
CI / check (push) Successful in 3m55s
mu4e message links in todo.org can't be resolved during iCalendar export,
causing sync to abort. Setting org-export-with-broken-links to 'mark'
allows export to continue (broken links get marked in output).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 13:16:53 -08:00
johno 9243341ed7 fix comment
CI / check (push) Successful in 4m2s
2026-01-25 12:58:10 -08:00
hermione b729ee8c7a fix(emacs): use assoc instead of assq for UNTIL lookup in org-caldav advice
CI / check (push) Successful in 3m48s
assq uses eq for key comparison, which can fail if the key symbols aren't
identical objects. assoc uses equal, which is what org-caldav itself uses
for rrule-props lookups (e.g., INTERVAL, FREQ).

This fixes DEADLINEs not being added to recurring events with UNTIL dates.

Also adds debug logging to help diagnose any remaining issues - will be
removed once verified working.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 12:46:11 -08:00
nixos_configs/crew/hermione ebc28cebd4 fix(emacs): improve rbw password error handling
Show clear error message when rbw entry not found instead of
embedding error text in URLs/credentials.
2026-01-25 12:46:11 -08:00
johno c82358d586 gastown and beads: switch to git+https
CI / check (push) Successful in 6m19s
2026-01-25 12:07:59 -08:00
johno 74388e8c24 [remote-build] use full dns names 2026-01-25 12:07:39 -08:00
nixos_configs/crew/hermione a98ccddab1 feat(emacs): add org-caldav UNTIL advice for recurring event end dates
CI / check (push) Failing after 2m34s
Implements advice around org-caldav-insert-org-event-or-todo that:
- Extracts UNTIL from rrule-props
- Adds DEADLINE without repeater (Org 9.7+ treats as recurrence end)
- Stores :CALDAV_UNTIL: property for reference

Also fixes sync command to work before org is opened by requiring
org explicitly in the sync wrapper.

Closes: x-uv5f.1
2026-01-25 09:51:48 -08:00
johno 18570628a5 update beads and gastown
CI / check (push) Failing after 4m43s
2026-01-24 18:06:20 -08:00
hermione 0c484b6601 fix(emacs): embed credentials in URL for org-caldav auth
CI / check (push) Failing after 4m14s
url-http-basic-auth-storage approach wasn't working.
Now dynamically sets org-caldav-url with user:pass embedded.
2026-01-24 17:52:02 -08:00
hermione 4853a18474 fix(emacs): correct url-http-basic-auth-storage format
CI / check (push) Has been cancelled
Auth storage needs base64-encoded 'user:pass' string, not raw password.
2026-01-24 17:47:28 -08:00
hermione 8b8453a37a fix(emacs): move org-caldav sync function before use-package
CI / check (push) Has been cancelled
Function must be defined before keybinding to avoid commandp error.
Added (require 'org-caldav) inside function for autoloading.
2026-01-24 17:46:02 -08:00
hermione 2b6e289b9a fix(emacs): limit org-caldav to 30 days of past events
CI / check (push) Has been cancelled
Prevents downloading years of historical calendar entries.
2026-01-24 17:39:48 -08:00
hermione 70d364544f fix(emacs): change org-caldav keybinding to avoid conflict
CI / check (push) Has been cancelled
Changed from SPC o C to SPC o a s (open -> agenda/calendar -> sync)
to avoid conflict with Claude Code IDE (SPC o c)
2026-01-24 17:34:07 -08:00
hermione 1ffa8524f0 fix(emacs): use rbw for org-caldav auth instead of GPG
CI / check (push) Has been cancelled
GPG isn't installed, so .authinfo.gpg approach doesn't work.
Added wrapper function my/org-caldav-sync-with-rbw that fetches
credentials from rbw before calling org-caldav-sync.

Setup: rbw add nextcloud-caldav (app password as secret)
2026-01-24 17:27:02 -08:00
hermione be3c27e868 update gastown
CI / check (push) Has been cancelled
Executed-By: nixos_configs/crew/hermione
Rig: nixos_configs
Role: crew
2026-01-24 17:25:05 -08:00
johno c2d286087f fix(home-manager): ensure claude/beads plugin files are writable
Files copied from the nix store inherit read-only permissions, causing
subsequent home-manager activations to fail with "Permission denied".

Add rm -f before copy and chmod u+w after copy for all plugin files:
- humanlayer commands and agents
- local commands and skills
- micro-skills
- beads formulas

Executed-By: nixos_configs/crew/hermione
Rig: nixos_configs
Role: crew
2026-01-24 17:25:05 -08:00
hermione 1172818062 feat(emacs): add org-caldav integration for Nextcloud calendar sync
CI / check (push) Failing after 1m59s
- Enable org-caldav package in packages.el
- Configure base org-caldav settings (URL, timezone, sync behavior)
- Add Personal calendar two-way sync (~/org/personal-calendar.org)
- Add Tasks calendar one-way sync from todo.org
- Add keybinding SPC o C for manual sync
- Document setup requirements in config comments

Note: Conflict resolution is 'Org always wins' (org-caldav limitation).
User needs to create Nextcloud app password and ~/.authinfo.gpg.

Refs: x-5tb, x-5tb.1, x-5tb.2, x-5tb.3
2026-01-24 17:18:45 -08:00
mayor 9f63e1430c fix(beads): set issue prefix to x-
CI / check (push) Failing after 2m5s
Ensures beads created in this repo use x- prefix to match routes.jsonl
2026-01-24 16:37:04 -08:00
johno-square b14ef1f62a update gastown
CI / check (push) Failing after 4m2s
2026-01-23 17:10:29 -08:00
johno-square 87719fa9e6 update gastown
CI / check (push) Has been cancelled
2026-01-23 17:10:06 -08:00
johno-square 933612da4c update beads and gastown 2026-01-23 17:10:06 -08:00
shiny d2c7599267 fix(beads): set routing mode to explicit instead of auto
CI / check (push) Failing after 2m34s
The routing.mode was defaulting to 'auto', which uses git remote URL
to detect user role. Non-SSH URLs can cause mail and issues to be
routed to ~/.beads-planning instead of the local .beads directory.

Setting routing.mode to 'explicit' disables auto-routing entirely,
keeping all issues in the expected local directory.

Fixes: x-kho

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 18:15:21 -08:00
chrome 3d16824eac chore: add Gas Town directories to .gitignore
CI / check (push) Has been cancelled
Added by gt polecat setup.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 17:56:37 -08:00
johno 2cdc15163c fix(flake): apply claude-code overlay to all platforms
CI / check (push) Failing after 2m17s
The custom claude-code overlay (for GCS-based builds) was only being
applied to darwinModules. Extract to shared customUnstableOverlays and
apply to nixosModules and nixosModulesUnstable as well.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 17:35:14 -08:00
johno-square a77b1230fe update beads
CI / check (push) Failing after 4m50s
2026-01-21 15:15:39 -08:00
johno 623a387127 flake: update gastown to a069ff34 (rebased on upstream)
CI / check (push) Failing after 4m9s
Rebased local patches onto 45 new upstream commits.

Executed-By: mayor
Role: mayor
2026-01-20 22:19:45 -08:00
johno 737f2b09e4 chore(flake): update gastown to gitea fork with timeout fix
CI / check (push) Failing after 4m16s
Point gastown input to local Gitea fork which includes:
- Increased ClaudeStartTimeout from 60s to 120s
- Fixes intermittent refinery/polecat startup timeouts

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 10:34:01 -08:00
renovate-bot cddc9de14a chore(deps): lock file maintenance
CI / check (push) Successful in 6m18s
2026-01-19 20:15:34 -08:00
johno 53e3bbe78f fix(claude-code): preserve bun appended bundle during NixOS build
CI / check (push) Successful in 3m32s
Bun standalone executables store their JavaScript code by appending it
after the ELF sections, marked with "---- Bun! ----". The standard Nix
build process was corrupting this:

- autoPatchelfHook rewrites the entire ELF, losing appended data
- strip removes data after ELF sections
- patchelf shrink-rpath also rewrites the ELF

Fix by:
- Using dontStrip and dontPatchELF to skip automatic fixup
- Manually running patchelf --set-interpreter which modifies in-place
  without rewriting the entire file structure

This restores the binary from 99MB (bare bun runtime) to 220MB (full
claude-code application).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

Executed-By: mayor
Role: mayor
2026-01-19 10:39:58 -08:00
johno c258eafe34 fix: apply claude-code overlay to NixOS modules
CI / check (push) Successful in 4m11s
The custom claude-code package (from GCS) was only being applied to
darwinModules, causing NixOS systems to use the older version from
nixpkgs-unstable instead of the updated version from packages/claude-code.

Extract claudeCodeOverlay as a shared definition and apply it to all
module sets: nixosModules, nixosModulesUnstable, and darwinModules.

Executed-By: mayor
Role: mayor
2026-01-19 10:28:11 -08:00
johno 03d0b76f97 feat: switch gastown input to local Gitea fork
CI / check (push) Successful in 5m9s
Fork includes mayor startup protocol fix for escalation checking.
2026-01-19 08:58:23 -08:00
johno b5f7233214 ci: Use semver tag for gitea-actions/nix-setup
CI / check (push) Successful in 3m21s
Switch from @main to @v1 for stability. Major version tag auto-updates
to latest v1.x.x while avoiding breaking changes.

Closes: nix-7zf
2026-01-18 17:54:24 -08:00
johno 1203662237 feat(home/development): add sqlite3 package
CI / check (push) Has been cancelled
2026-01-18 08:13:16 -08:00
johno 6ad714b57c chore(beads): remove redirect-mode remnant files
CI / check (push) Successful in 4m29s
These files should not exist in repos using redirect mode.
The beads data lives in the redirect target instead.
2026-01-17 14:55:19 -08:00
johno 5440214295 chore(claude-code): update to v2.1.12
CI / check (push) Successful in 4m33s
2026-01-17 13:14:18 -08:00
johno cc305af899 feat(dev): add gastown multi-agent workspace manager
- Add gastown flake input (non-flake, source only)
- Build gastown package using buildGoModule in development role
- Configure renovate for daily updates of gastown and beads
- Binary: gt (Gas Town CLI by Steve Yegge)
2026-01-17 13:14:12 -08:00
johno-square c06adec7d8 feat(dev): add systemd timer for beads gate check
CI / check (push) Successful in 3m8s
Add periodic timer (every 5 min) that runs `bd gate check --type=timer`
across all beads workspaces with running daemons.

This enables self-scheduling molecules - workflows that can set timer
gates to schedule their own future execution (e.g., watchers that scan
Slack every 8 hours).

The timer:
- Only runs on Linux (uses systemd user services)
- Discovers workspaces via `bd daemon list`
- Silently skips if no beads daemons are running

Related: nixos-configs-1rk.2 (Time beads scheduling mechanism)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 09:23:25 -08:00
johno-square 7903b2dfd0 refactor(dev): restructure Claude commands/skills directories
CI / check (push) Successful in 3m16s
Correct terminology mismatch:
- Rename skills/ to commands/ (these are user-invokable commands)
- Create new skills/ for reference materials
- Move bd_workflow.md to skills/ (it's reference material)
- Add micro-skills and formulas directories
- Update default.nix to install both commands and skills

Commands → ~/.claude/commands/ (invokable as /command-name)
Skills → ~/.claude/commands/skills/ (reference materials)
Formulas → ~/.beads/formulas/ (workflow templates)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 17:16:55 -08:00
johno-square f472aa9b3d feat(skills): add bd-workflow CLI reference skill
CI / check (push) Successful in 3m23s
Comprehensive bd CLI reference covering:
- Core commands (create, update, close, show, list)
- Dependency management (bd dep add, bd blocked)
- Formula/molecule workflow (pour, wisp, cook, gates)
- When to use bd vs TodoWrite

Complements existing beads_workflow.md which covers
philosophy and humanlayer integration patterns.

Closes: nixos-configs-6pk

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 17:01:07 -08:00
johno-square 2e07454ffa fix(dev): update beads flake input with vendorHash override
CI / check (push) Successful in 4m36s
Temporary workaround for upstream beads vendorHash mismatch.
2026-01-15 16:49:02 -08:00
johno-square daf963b290 chore(beads): gitignore sync state files 2026-01-15 16:48:56 -08:00
johno-square c3c8688f31 fix(common): make ghostty.terminfo Linux-only
CI / check (push) Successful in 3m13s
2026-01-15 15:36:03 -08:00