Commit Graph

16 Commits

Author SHA1 Message Date
jared f9579e925f Mark ovh-prod leg of 2026-07-04 backup incident resolved (pipefail grep root cause)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 13:28:10 -04:00
jared 6a968bf6c7 docs: add DSM web UI ports (5000/5001) to synology.md
Home Assistant's Synology DSM integration connects on 5001 with SSL
(verification off, self-signed cert).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 17:49:42 -04:00
jared a722a2db65 Add gitignore, RAM incident diagnosis, and new docs
Confirms bad RAM (memtest86+ single-bit flips) as root cause of the
2026-06-24 Btrfs corruption incident, adds fedora-upgrade.md and other
pending docs, and gitignores the doc-hygiene state directory.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-02 13:02:40 -04:00
jared e4048f5480 docs: log Chrome SIGBUS incident from Btrfs csum corruption
Chrome crashed repeatedly with SIGBUS on launch. Root cause was a
corrupt data block in ~/.config/google-chrome/Profile 2/Favicons on a
single-copy Btrfs volume (csum failures correlated to the second with
each crash). A scrub found two further uncorrectable blocks (a Chrome
cache file and a gdm help file); both fixed. SSD SMART is clean and the
corruption is static across scrubs, pointing at a past RAM/bus event
rather than a failing drive.

Adds docs/incidents.md (dated incident log) and a CLAUDE.md pointer.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 13:49:13 -04:00
jared 876006f872 docs: record DigitalOcean VPS deletion in vps-inventory
The old Hyperthrive DigitalOcean VPS (161.35.12.75) was deleted
2026-06-24 after all services migrated to the OVH VPS (verified live,
no DNS pointing at the old IP). Mark the section DELETED, retain
recovery notes as historical, and update the CLAUDE.md docs pointer.
Full migration record lives in ~/projects/server-ovh-prod-01-main/.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 11:48:25 -04:00
jared 7ee7df68ee fix(backup): correct Synology SFTP path and remove pre-flight check
SFTP uses a virtual root where Synology shared folders appear directly
under / — /volume1/... does not exist in SFTP space. The repo lives at
/homes/jared/Backups/fedora-workstation, not /home/Backups/... .

Also removes the pre-flight reachability check (HTTP curl, previously SSH)
that has been the source of every Synology skip since May 24. Restic
handles unreachable SFTP endpoints gracefully; no gate needed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-05 11:47:03 -04:00
jared 4ab40b9912 docs: add Synology and VPS inventory docs, update CLAUDE.md
Added comprehensive operational documentation for Synology DS218plus
access, backup paths, and restic commands. Added VPS inventory with
notes on Hyperthrive DigitalOcean recovery and OVH migration plan.
Updated CLAUDE.md to reference new docs, expand known workarounds
with cursor and NVIDIA DRM details, and clarify hardware status.
2026-05-15 10:19:50 -04:00
jared 74f1a765e9 feat(backup-monitor): fix MailPace body field and add explicit headers
MailPace API requires 'textbody' (not 'text_body') and explicit
Accept/Content-Type headers to avoid 406. End-to-end smoke test passed:
reporter workflow queued email successfully (MailPace id: 35621228).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 13:45:28 -04:00
jared 5fcc7fb515 docs(backup-monitor): replace UI-click workflow tasks with JSON file approach
- Add JS code files + Ruby build script + Python validator to file map
- Replace Tasks 7-9 (UI clicks) with Tasks 7-10: datatable bootstrap,
  validator script, build/validate workflow JSON, API import with credentials
- Fix MailPace credential header: X-Server-Token (not MailPace-Server-Token)
- Renumber old Tasks 10-12 → 11-13
- Update self-review notes with data table uncertainty and node naming

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 10:59:20 -04:00
jared 85bbd7317f docs(backup-monitor): add implementation plan
12-task plan covering Ruby notifier script (TDD, Sandi Metz OOP),
n8n datatable setup, both workflows, and backup.sh integrations
for desktop and OVH VPS.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 10:40:18 -04:00
jared d1a71275cb docs(backups): add OOP/Sandi Metz principles to Ruby notifier spec
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 10:33:51 -04:00
jared dc74ea1206 docs(backups): add n8n backup monitor design spec
Two-workflow n8n system: webhook receiver records backup run results
into a datatable; weekly Friday reporter compares against expected
sources and sends green/yellow/red health digest via MailPace.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 10:29:33 -04:00
jared ac4c9046a8 docs(keyboard): add Keychron K15 Pro keymap documentation
Add keyboard documentation including README and JSON keymap exports
from the K15 Pro. Useful for reference when reconfiguring via
launcher.keychron.com or troubleshooting firmware issues.
2026-05-07 09:43:46 -04:00
jared e875f0ee97 docs(wm): Phase 4 progress, Hyprland config reference, and keybindings
Add Phase 4 progress entry documenting windowrule syntax fix for
Hyprland 0.51 (stripping invalid ^(...)$ wrapping). Include CLAUDE.md
project instructions, version-aware Hyprland config reference docs,
and keybindings cheatsheet PDF for future reference.
2026-05-07 09:43:43 -04:00
jared 6d2638a3f4 docs(wm): update cheatsheet, plan, progress for phases 1-3 complete
Refresh cheatsheet.md with tested DMS keybindings and actual working
setup (e.g. SUPER+T for terminal, DMS spotlight, lxpolkit instead of
broken hyprpolkitagent). Update plan.md to replace hyprpolkitagent
with lxpolkit (Qt 6 ABI issue). Add detailed phase 1-3 progress notes
including lxpolkit workaround, hyprland.conf + hyprpaper verification,
and dotfiles stow integration.
2026-04-18 18:13:42 -04:00
jared 7714c6ed78 docs(wm): initial idea, plan, progress log, cheatsheet 2026-04-17 16:14:22 -04:00