Files
juliusbrussee__cavekit/scripts
Julius Brussee 9aa1905f7d team: kit-level Files column scopes claims, plus install fix for team subcommand
Add an optional trailing `Files` column to build-site task tables declaring
each task's expected file footprint (comma- or semicolon-separated globs).

- Parser: Task gains Files []string; trailing column parsed for tier 0
  (cell[5]) and tier N (cell[6]). Empty / "-" treated as unset.
- Scheduler: replaces substring heuristic with real PathsOverlap check when
  Files is present; falls back to the old spec-substring hint for legacy
  sites. NextSuggestion now returns the task's Files as Paths.
- Claim: if --paths is omitted and the kit declares Files, Claim defaults
  to those globs. Removes the "user forgot --paths" failure mode and means
  the pre-commit guard gets correct scope without anyone guessing.
- Tests: parser Files parsing (both tiers, both separators, placeholder
  dashes); Claim_DefaultsPathsFromSiteFiles asserts the claim event records
  the kit's Files in the ledger.

Install: `scripts/cavekit` never dispatched `team` to the Go binary, so
`cavekit team init` failed on every fresh install. Fixed by:
- install.sh builds cmd/cavekit → $INSTALL_DIR/bin/cavekit-bin (warn if
  `go` is missing).
- scripts/cavekit delegates team/version/debug/reset/status/monitor to the
  Go binary via a delegate_to_bin helper.

Docs: README gets a "Teams" section describing setup, the Files column,
day-to-day commands, and where configuration lives.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 18:13:06 +02:00
..