Archive completed tasks, add cleanup commands, self-documenting dashboard UI
CI / build (push) Has been cancelled
CI / build (push) Has been cancelled
- Archive 79 completed framework-dev tasks from tasks/ -> tasks/complete/ - status.py: add --cleanup-done and --install-cleanup-schedule commands - Add scripts/automaton-cleanup.sh for periodic task archiving - Dashboard: rename 'Background' tab -> 'Agent', 'Cleanup' agent -> 'Completed Task Archiver', remove redundant group headers and pill badges, dim inactive agent placeholders - .rules.md: add Self-Documenting UI Names rule - New tests: test_cleanup_done.py, expanded test_app.py and test_task.py
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# VERDICT: add-blast-radius-scheduler
|
||||
|
||||
**Status: PASS**
|
||||
|
||||
Task delivers per-loop git worktree creation in the runner, closing the last gap in the blast-radius enforcement chain. With this task, the runner ensures a worktree exists before spawning any role, the drift gate checks it, and `--can-edit --loop-worktree` scopes file edits to it.
|
||||
|
||||
## Requirement coverage
|
||||
|
||||
| Req | Status | Tests |
|
||||
|-----|--------|-------|
|
||||
| R1 _ensure_worktree | delivered | TestEnsureWorktree (4) |
|
||||
| R2 graceful degradation | delivered | TestGracefulDegradation (3) |
|
||||
| R3 cmd_tick integration | delivered | TestTickIntegration (3) |
|
||||
| R4 branch already exists | delivered | TestBranchExists (1) |
|
||||
| R5 state consistency | delivered | TestStateConsistency (2) |
|
||||
| R6 platform paths | delivered | TestPlatformPaths (1) |
|
||||
| R7 doc updates | delivered | technical.md + CHANGELOG |
|
||||
| R8 tests | delivered | 15 tests + regression |
|
||||
|
||||
Tests: 15 new. Full suite: **369 passed** (was 354 + 15 new). No regressions.
|
||||
|
||||
## Blast-radius enforcement chain -- complete
|
||||
|
||||
1. **Worktree creation** (this task): runner creates `<loop>/worktree` on branch `loop/<name>`.
|
||||
2. **Drift detection** (task 2): `--check-gate` runs `git diff --name-only main...HEAD` restricted to `file_scope`.
|
||||
3. **File scope enforcement** (task 2): `--can-edit --loop [--loop-worktree]` checks paths against `blast_radius.file_scope`.
|
||||
4. **Graceful fallback** (this task): non-git projects fall back to project root with WARNING; drift gate skips when `worktree_path` is null.
|
||||
|
||||
## Agnosticism preserved
|
||||
|
||||
- **Git-agnostic**: falls back gracefully when git is unavailable. Loops on non-git projects work (edits go to primary checkout).
|
||||
- **Platform-agnostic**: `pathlib.Path` for all path construction. Git handles OS-specific path normalization.
|
||||
- **Model-agnostic**: no model inspection. Worktree creation is infrastructure, not model behavior.
|
||||
|
||||
## Hardening items deferred
|
||||
|
||||
1. Worktree GC / pruning (BACKLOG `worktree-gc`) -> v1.1.
|
||||
2. `--no-worktree` CLI flag for `--create-loop` -> v1.1 (convenience sugar).
|
||||
3. `blast_radius.base_branch` parameterization -> v1.1.
|
||||
4. fcntl lock on worktree creation (TOCTOU A4) -> v1.1 (same item as `add-status-brakes` A6).
|
||||
|
||||
## Resolution
|
||||
|
||||
**PASS -- proceed to `complete`.** Task 5 completes the blast-radius enforcement chain. The runner now creates worktrees, the drift gate checks them, and `--can-edit` scopes file edits. Remaining tasks: 6 (templates-onboarding), 7 (self-improvement-loop), 8 (install-update-flow), 9 (move-completed-tasks).
|
||||
Reference in New Issue
Block a user