[quickfix] chore: gitignore .kilo/ workdir #501

Closed
opened 2026-09-09 14:50:49 +00:00 by Mark · 2 comments
Owner

.kilo/ is a kilo-gsd working directory (per-user planning scratch).
It should not be tracked in git — kilo-gsd regenerates .kilo/plans/*.md
on each run and tracked plans block preflight gates / pollute diffs.

Currently tracked in this repo: 1 file(s).
Currently no tracked files.

Fix:

  1. Append .kilo/ to .gitignore
  2. git rm -r --cached .kilo/
  3. Commit: chore: gitignore .kilo/ working notes
  4. Push to origin/main

Local .kilo/ contents are preserved on disk (just no longer tracked).

`.kilo/` is a kilo-gsd working directory (per-user planning scratch). It should not be tracked in git — kilo-gsd regenerates `.kilo/plans/*.md` on each run and tracked plans block preflight gates / pollute diffs. Currently tracked in this repo: 1 file(s). Currently no tracked files. Fix: 1. Append `.kilo/` to `.gitignore` 2. `git rm -r --cached .kilo/` 3. Commit: `chore: gitignore .kilo/ working notes` 4. Push to `origin/main` Local `.kilo/` contents are preserved on disk (just no longer tracked).
Author
Owner

kilo-gsd-runner launcher: dispatch refused (preflight)

Mark/llm_quota has no .gsd/gates/pre-dispatch.sh. kilo-gsd.py invokes
that gate verbatim between Plan and Implement:

$ cd /home/b/Projects/llm_quota && bash .gsd/gates/pre-dispatch.sh 501
bash: .gsd/gates/pre-dispatch.sh: No such file or directory
GATE_EXIT=127

The repo has no .gsd/ directory at all (it is gitignored infra, installed
per-repo by the operator; 22 sibling repos carry the canonical gate
md5=71f169a29925057bece85f07cfa3f933).

Spawning anyway is known-bad: the identical condition on
Mark/homeassistant-skill#3 today sent kilo-gsd into its bugfix-agent
loop, which scaffolded a bespoke gate, burned 3 retries and hard-failed at
the Verify gate (exit 3).

Other substrate state (all clean, no other blocker):

  • no live tmux session or kilo run pid for #501
  • no commit on origin/main referencing #501
  • no stale in-progress label (labels: bug, quickfix, triage-approved)
  • worktree clean apart from untracked .kilo/; local main is 1 behind origin/main

FYI for whoever picks this up: git ls-files .kilo/ is already empty in
this repo, so acceptance criterion 1 is satisfied; only the .gitignore
line + commit + push remain.

Operator action: install the canonical pre-dispatch gate into
/home/b/Projects/llm_quota/.gsd/gates/pre-dispatch.sh, then unblock the
fixit card. The launcher does not edit .gsd/ per its work contract.

**kilo-gsd-runner launcher: dispatch refused (preflight)** `Mark/llm_quota` has no `.gsd/gates/pre-dispatch.sh`. kilo-gsd.py invokes that gate verbatim between Plan and Implement: ``` $ cd /home/b/Projects/llm_quota && bash .gsd/gates/pre-dispatch.sh 501 bash: .gsd/gates/pre-dispatch.sh: No such file or directory GATE_EXIT=127 ``` The repo has no `.gsd/` directory at all (it is gitignored infra, installed per-repo by the operator; 22 sibling repos carry the canonical gate `md5=71f169a29925057bece85f07cfa3f933`). Spawning anyway is known-bad: the identical condition on `Mark/homeassistant-skill#3` today sent kilo-gsd into its bugfix-agent loop, which scaffolded a bespoke gate, burned 3 retries and hard-failed at the Verify gate (exit 3). Other substrate state (all clean, no other blocker): - no live tmux session or `kilo run` pid for #501 - no commit on `origin/main` referencing `#501` - no stale `in-progress` label (labels: bug, quickfix, triage-approved) - worktree clean apart from untracked `.kilo/`; local `main` is 1 behind `origin/main` FYI for whoever picks this up: `git ls-files .kilo/` is **already empty** in this repo, so acceptance criterion 1 is satisfied; only the `.gitignore` line + commit + push remain. Operator action: install the canonical pre-dispatch gate into `/home/b/Projects/llm_quota/.gsd/gates/pre-dispatch.sh`, then unblock the fixit card. The launcher does not edit `.gsd/` per its work contract.
Author
Owner

Done on origin/main — commit fcd3072a72 (chore: gitignore .kilo/ workdir, Mark Whaite, 2026-09-09 10:17:07 -0700).

Acceptance verified:

  • git ls-files .kilo/ → empty (nothing was ever tracked in this repo)
  • .gitignore lines 16-17 carry # kilo-gsd working notes (per-user workdir; regenerated each dispatch) + .kilo/
  • Commit present on origin/main (HEAD)
  • .gsd/gates/pre-dispatch.sh has since been installed (md5 71f169a29925057bece85f07cfa3f933) and now exits 0 for this issue, clearing the earlier preflight block.

No kilo-gsd run was needed — closing.

Done on `origin/main` — commit fcd3072a725e3e6f9aaf34d5c5e58a39232de121 (`chore: gitignore .kilo/ workdir`, Mark Whaite, 2026-09-09 10:17:07 -0700). Acceptance verified: - `git ls-files .kilo/` → empty (nothing was ever tracked in this repo) - `.gitignore` lines 16-17 carry `# kilo-gsd working notes (per-user workdir; regenerated each dispatch)` + `.kilo/` - Commit present on `origin/main` (HEAD) - `.gsd/gates/pre-dispatch.sh` has since been installed (md5 71f169a29925057bece85f07cfa3f933) and now exits 0 for this issue, clearing the earlier preflight block. No kilo-gsd run was needed — closing.
Mark closed this issue 2026-09-09 17:23:20 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Mark/llm_quota#501
No description provided.