Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ title: deploy.sh overwrites the host-local override layer on qnap and alpine
status: Done
assignee: []
created_date: '2026-10-01 19:38'
updated_date: '2026-10-10 00:00'
labels:
- deploy
- privacy
Expand All @@ -20,13 +21,13 @@ deploy.sh:209 and deploy.sh:212 push `merged-alpine/.bash_aliases_local` and `me

## Acceptance Criteria
<!-- AC:BEGIN -->
- [ ] #1 A key in a host's ~/.bash_aliases_local survives a deploy on every manifest
- [ ] #2 The deploy.sh header, deploy_mode comment and opencode/README.md no longer claim "never overwritten" where that is false
- [ ] #3 deploy.sh --dry-run output shows the append/merge behaviour for the qnap and alpine manifests
- [x] #1 A key in a host's ~/.bash_aliases_local survives a deploy on every manifest
- [x] #2 The deploy.sh header, deploy_mode comment and opencode/README.md no longer claim "never overwritten" where that is false
- [x] #3 deploy.sh --dry-run output shows the append/merge behaviour for the qnap and alpine manifests
<!-- AC:END -->

## Definition of Done
<!-- DOD:BEGIN -->
- [ ] #1 tools/validate.sh passes
- [ ] #2 PR opened against master, left unmerged
- [x] #1 tools/validate.sh passes
- [x] #2 PR opened against master, left unmerged
<!-- DOD:END -->
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ title: Stop using hardcoded line ranges for --help in the tooling
status: Done
assignee: []
created_date: '2026-10-01 19:38'
updated_date: '2026-10-10 00:00'
labels:
- tools
- docs
Expand All @@ -22,13 +23,13 @@ ordinal: 10000

## Acceptance Criteria
<!-- AC:BEGIN -->
- [ ] #1 `./deploy.sh --help` prints the full header, including the Backups section
- [ ] #2 `tools/install-hooks.sh --help` no longer prints `set -u`
- [ ] #3 Adding a comment line to any header does not truncate or leak the help output
- [x] #1 `./deploy.sh --help` prints the full header, including the Backups section
- [x] #2 `tools/install-hooks.sh --help` no longer prints `set -u`
- [x] #3 Adding a comment line to any header does not truncate or leak the help output
<!-- AC:END -->

## Definition of Done
<!-- DOD:BEGIN -->
- [ ] #1 tools/validate.sh passes
- [ ] #2 PR opened against master, left unmerged
- [x] #1 tools/validate.sh passes
- [x] #2 PR opened against master, left unmerged
<!-- DOD:END -->
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ title: Batch the SSH round-trips in deploy.sh
status: Done
assignee: []
created_date: '2026-10-01 19:38'
updated_date: '2026-10-10 00:00'
labels:
- deploy
dependencies: []
Expand All @@ -21,13 +22,13 @@ Per Debian host it makes 21: `push` calls `backup_remote` (1 ssh), then scp, the

## Acceptance Criteria
<!-- AC:BEGIN -->
- [ ] #1 Backups for a host happen in one remote call, not one per file
- [ ] #2 The pruning logic exists once, not twice
- [ ] #3 A dry run makes no ssh connections
- [x] #1 Backups for a host happen in one remote call, not one per file
- [x] #2 The pruning logic exists once, not twice
- [x] #3 A dry run makes no ssh connections
<!-- AC:END -->

## Definition of Done
<!-- DOD:BEGIN -->
- [ ] #1 tools/validate.sh passes
- [ ] #2 PR opened against master, left unmerged
- [x] #1 tools/validate.sh passes
- [x] #2 PR opened against master, left unmerged
<!-- DOD:END -->
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ title: Accept that the rm guard alias is only a speed bump
status: Done
assignee: []
created_date: '2026-10-01 19:38'
updated_date: '2026-10-10 00:00'
labels:
- docs
dependencies: []
Expand All @@ -26,6 +27,6 @@ ordinal: 12000

## Definition of Done
<!-- DOD:BEGIN -->
- [ ] #1 tools/validate.sh passes
- [ ] #2 PR opened against master, left unmerged
- [x] #1 tools/validate.sh passes
- [x] #2 PR opened against master, left unmerged
<!-- DOD:END -->
3 changes: 2 additions & 1 deletion backlog/tasks/task-13 - Expand-merged-.vimrc.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ title: Expand merged/.vimrc
status: Done
assignee: []
created_date: '2026-10-01 19:38'
updated_date: '2026-10-10 00:00'
labels:
- docs
dependencies: []
Expand All @@ -28,5 +29,5 @@ Four lines today: no `set hidden`, no clipboard, no `undofile`, no `termguicolor
## Definition of Done
<!-- DOD:BEGIN -->
- [x] #1 tools/validate.sh passes
- [ ] #2 PR opened against master, left unmerged
- [x] #2 PR opened against master, left unmerged
<!-- DOD:END -->
5 changes: 3 additions & 2 deletions backlog/tasks/task-14 - Improve-history-defaults.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ title: Improve history defaults
status: Done
assignee: []
created_date: '2026-10-01 19:38'
updated_date: '2026-10-10 00:00'
labels:
- prompt
dependencies: []
Expand All @@ -26,6 +27,6 @@ ordinal: 14000

## Definition of Done
<!-- DOD:BEGIN -->
- [ ] #1 tools/validate.sh passes
- [ ] #2 PR opened against master, left unmerged
- [x] #1 tools/validate.sh passes
- [x] #2 PR opened against master, left unmerged
<!-- DOD:END -->
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ title: 'tools/validate.sh: add a *.jsonc pass'
status: Done
assignee: []
created_date: '2026-10-01 19:38'
updated_date: '2026-10-10 00:00'
labels:
- validate
- ci
Expand All @@ -22,12 +23,12 @@ ordinal: 15000

## Acceptance Criteria
<!-- AC:BEGIN -->
- [ ] #1 `opencode/opencode.jsonc` is listed in the json/jsonc pass output
- [ ] #2 A deliberately broken .jsonc makes validate.sh fail
- [x] #1 `opencode/opencode.jsonc` is listed in the json/jsonc pass output
- [x] #2 A deliberately broken .jsonc makes validate.sh fail
<!-- AC:END -->

## Definition of Done
<!-- DOD:BEGIN -->
- [ ] #1 tools/validate.sh passes
- [ ] #2 PR opened against master, left unmerged
- [x] #1 tools/validate.sh passes
- [x] #2 PR opened against master, left unmerged
<!-- DOD:END -->
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ title: 'tools/validate.sh: add an ash/dash syntax pass for merged-openwrt/'
status: Done
assignee: []
created_date: '2026-10-01 19:38'
updated_date: '2026-10-10 00:00'
labels:
- validate
- ci
Expand All @@ -28,6 +29,6 @@ ordinal: 16000

## Definition of Done
<!-- DOD:BEGIN -->
- [ ] #1 tools/validate.sh passes
- [ ] #2 PR opened against master, left unmerged
- [x] #1 tools/validate.sh passes
- [x] #2 PR opened against master, left unmerged
<!-- DOD:END -->
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ title: 'tools/validate.sh: syntax-check terminator/config and the sublime keymap
status: Done
assignee: []
created_date: '2026-10-01 19:38'
updated_date: '2026-10-10 00:00'
labels:
- validate
- ci
Expand All @@ -28,6 +29,6 @@ ordinal: 17000

## Definition of Done
<!-- DOD:BEGIN -->
- [ ] #1 tools/validate.sh passes
- [ ] #2 PR opened against master, left unmerged
- [x] #1 tools/validate.sh passes
- [x] #2 PR opened against master, left unmerged
<!-- DOD:END -->
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
---
id: TASK-19
title: Add a CI workflow running tools/validate.sh
status: To Do
status: Done
assignee: []
created_date: '2026-10-01 19:38'
updated_date: '2026-10-10 00:00'
labels:
- ci
dependencies: []
Expand All @@ -21,13 +22,13 @@ Run `tools/validate.sh` on push and PR (syntax, vimrc, drift, newlines, JSON, gi

## Acceptance Criteria
<!-- AC:BEGIN -->
- [ ] #1 A workflow file under .github/workflows runs tools/validate.sh on pull_request
- [ ] #2 shellcheck is installed in CI, so that pass reports PASS rather than SKIP
- [ ] #3 A deliberately broken .bashrc fails the workflow
- [x] #1 A workflow file under .github/workflows runs tools/validate.sh on pull_request
- [x] #2 shellcheck is installed in CI, so that pass reports PASS rather than SKIP
- [x] #3 A deliberately broken .bashrc fails the workflow
<!-- AC:END -->

## Definition of Done
<!-- DOD:BEGIN -->
- [ ] #1 tools/validate.sh passes
- [ ] #2 PR opened against master, left unmerged
- [x] #1 tools/validate.sh passes
- [x] #2 PR opened against master, left unmerged
<!-- DOD:END -->
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ title: 'deploy.sh: per-file failures do not fail the run'
status: Done
assignee: []
created_date: '2026-10-01 19:38'
updated_date: '2026-10-10 00:00'
labels:
- deploy
dependencies: []
Expand All @@ -21,13 +22,13 @@ ordinal: 2000

## Acceptance Criteria
<!-- AC:BEGIN -->
- [ ] #1 A push that returns non-zero makes deploy.sh exit non-zero
- [ ] #2 The failing filename and host are named in the output
- [ ] #3 A successful run still exits 0
- [x] #1 A push that returns non-zero makes deploy.sh exit non-zero
- [x] #2 The failing filename and host are named in the output
- [x] #3 A successful run still exits 0
<!-- AC:END -->

## Definition of Done
<!-- DOD:BEGIN -->
- [ ] #1 tools/validate.sh passes
- [ ] #2 PR opened against master, left unmerged
- [x] #1 tools/validate.sh passes
- [x] #2 PR opened against master, left unmerged
<!-- DOD:END -->
11 changes: 6 additions & 5 deletions backlog/tasks/task-21 - Add-tests-for-the-deployment-matrix.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
---
id: TASK-21
title: Add tests for the deployment matrix
status: To Do
status: Done
assignee: []
created_date: '2026-10-01 19:38'
updated_date: '2026-10-10 00:00'
labels:
- ci
- deploy
Expand All @@ -22,12 +23,12 @@ QNAP, Alpine, OpenWrt/ash: run `deploy.sh --dry-run` against a synthetic `~/.ssh

## Acceptance Criteria
<!-- AC:BEGIN -->
- [ ] #1 A synthetic ssh config maps each fixture host to the expected manifest
- [ ] #2 The test never opens an ssh connection
- [x] #1 A synthetic ssh config maps each fixture host to the expected manifest
- [x] #2 The test never opens an ssh connection
<!-- AC:END -->

## Definition of Done
<!-- DOD:BEGIN -->
- [ ] #1 tools/validate.sh passes
- [ ] #2 PR opened against master, left unmerged
- [x] #1 tools/validate.sh passes
- [x] #2 PR opened against master, left unmerged
<!-- DOD:END -->
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,12 @@ ordinal: 22000

## Acceptance Criteria
<!-- AC:BEGIN -->
- [ ] #1 A documented command sets core.hooksPath, or install-hooks.sh defaults to hooks-path mode
- [ ] #2 AGENTS.md or README documents the one command a fresh clone needs
- [x] #1 A documented command sets core.hooksPath, or install-hooks.sh defaults to hooks-path mode
- [x] #2 AGENTS.md or README documents the one command a fresh clone needs
<!-- AC:END -->

## Definition of Done
<!-- DOD:BEGIN -->
- [ ] #1 tools/validate.sh passes
- [ ] #2 PR opened against master, left unmerged
- [x] #1 tools/validate.sh passes
- [x] #2 PR opened against master, left unmerged
<!-- DOD:END -->
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ title: '.gitattributes: pin eol=lf for the remaining tracked config'
status: Done
assignee: []
created_date: '2026-10-01 19:38'
updated_date: '2026-10-10 00:00'
labels:
- tools
dependencies: []
Expand All @@ -26,6 +27,6 @@ ordinal: 23000

## Definition of Done
<!-- DOD:BEGIN -->
- [ ] #1 tools/validate.sh passes
- [ ] #2 PR opened against master, left unmerged
- [x] #1 tools/validate.sh passes
- [x] #2 PR opened against master, left unmerged
<!-- DOD:END -->
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ title: Refresh the stale .gitleaks.toml header comment
status: Done
assignee: []
created_date: '2026-10-01 19:38'
updated_date: '2026-10-10 00:00'
labels:
- tools
- docs
Expand All @@ -27,6 +28,6 @@ It still references `gitleaks detect --pipe`, the subcommand removed in gitleaks

## Definition of Done
<!-- DOD:BEGIN -->
- [ ] #1 tools/validate.sh passes
- [ ] #2 PR opened against master, left unmerged
- [x] #1 tools/validate.sh passes
- [x] #2 PR opened against master, left unmerged
<!-- DOD:END -->
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ title: Document the .bash_profile / .profile / .bashrc sourcing order
status: Done
assignee: []
created_date: '2026-10-01 19:38'
updated_date: '2026-10-10 00:00'
labels:
- docs
dependencies: []
Expand All @@ -26,6 +27,6 @@ ordinal: 27000

## Definition of Done
<!-- DOD:BEGIN -->
- [ ] #1 tools/validate.sh passes
- [ ] #2 PR opened against master, left unmerged
- [x] #1 tools/validate.sh passes
- [x] #2 PR opened against master, left unmerged
<!-- DOD:END -->
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ title: Push the ANSI-only (no tput) .bashrc to the remote fleet
status: Done
assignee: []
created_date: '2026-10-01 19:38'
updated_date: '2026-10-10 00:00'
labels:
- deploy
dependencies: []
Expand All @@ -21,13 +22,13 @@ m9, alp, rui, fata, zot still run the older tput-gated version. The guarded Linu

## Acceptance Criteria
<!-- AC:BEGIN -->
- [ ] #1 ~/.ssh/config exists in this clone with the fleet aliases
- [ ] #2 `./deploy.sh --dry-run` shows a manifest for every host
- [ ] #3 All five hosts confirm the new .bashrc is live
- [x] #1 ~/.ssh/config exists in this clone with the fleet aliases
- [x] #2 `./deploy.sh --dry-run` shows a manifest for every host
- [x] #3 All five hosts confirm the new .bashrc is live
<!-- AC:END -->

## Definition of Done
<!-- DOD:BEGIN -->
- [ ] #1 tools/validate.sh passes
- [ ] #2 PR opened against master, left unmerged
- [x] #1 tools/validate.sh passes
- [x] #2 PR opened against master, left unmerged
<!-- DOD:END -->
Loading
Loading