Skip to content

#82 Adopt the cohort disk GC: config, links, pytest retention, runbook - #95

Merged
gregoryfoster merged 8 commits into
mainfrom
82-host-disk-gc
Oct 27, 2026
Merged

gregoryfoster merged 8 commits into
mainfrom
82-host-disk-gc

Conversation

@gregoryfoster

@gregoryfoster gregoryfoster commented Oct 27, 2026 •

Copy link
Copy Markdown
Member

Refs #82. Status issued the monitor id (01M5ZQBHEX06T5D50Q96QYKCR6, status#69), committed as 875a18c; test_conf_checks_in_to_status is green. The host steps through the rehearsal are done (#82).

What

  • Links: maintaining-host-disk in skills/ and .claude/skills/, the same shape as patching-hosts. docs/SKILLS.md goes from 15 to 16. No submodule bump: a695c02e contains 6a9daba0.
  • Host config, tracked: deploy/disk-gc/disk-gc.conf → /etc/cannobserv/disk-gc/disk-gc.conf, installed by hand. scripts/deploy.sh HOST_CONFIGS compares the two. The config:
    • homes = /home/exedev;
    • the template's tiers plus worktrees (worktree_repos = /home/exedev/processor), no docker;
    • the SocratiCode pin kept;
    • lines 85/80.
  • pytest: tmp_path_retention_count = 1, tmp_path_retention_policy = "failed". pyproject.toml is runtime, so the merge is a deploy.
  • Docs: DEPLOYMENT.md § Disk GC; an AGENTS.md Infrastructure row; the plan, docs/plans/2026-10-27-82-host-disk-gc.md.
  • Tests: tests/test_disk_gc.py.
    • The tracked config, parsed with the GC's own parser settings.
    • The pytest knobs.
    • On co-processor only, by hostname: the installed copy matches, and the installed GC's load_config accepts the tracked one. Both fail, not skip, when missing.

State

  • Red in this session first: 14 failed before the implementation, all in one commit; there's no separate red commit.
  • The CR's 4 fixes are commits CR 1–CR 4. The 5th finding is recorded here: the missing red commit.
  • The gate on co-processor: ruff clean. pytest -m 'not integration': 736 passed, 3 failed by design:
    • test_conf_checks_in_to_status fails until the monitor id is committed;
    • test_installed_copy_matches_tracked and test_tracked_conf_passes_the_installed_gc fail until the approved install.
  • CI runs off the node, so only the first of the three fails there.

Host steps and approvals: #82.

🤖 Generated with Claude Code

gregoryfoster and others added 4 commits October 27, 2026 17:58
… runbook

Links maintaining-host-disk (skills/ and .claude/skills/, SKILLS.md 15 -> 16).
Tracks this host's GC config as deploy/disk-gc/disk-gc.conf, installed by hand
at /etc/cannobserv/disk-gc/ and compared by scripts/deploy.sh. pyproject keeps
one basetemp, a failed run's only. DEPLOYMENT.md § Disk GC; AGENTS.md row.
tests/test_disk_gc.py: the tracked config under the GC's parser settings, and on
co-processor the installed copy and the installed GC's load_config.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… as a test

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…in adm); updates and removal point at the skill

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…T.md carries it

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gregoryfoster and others added 4 commits October 27, 2026 18:18
…nsor's first 202

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…side the retire check

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e it

The node check imported the GC with bytecode on: as exedev the write fails
silently, as root it adds a file MANIFEST doesn't list. The same load of the
staged copy put one in the staging tree, and the installer refused it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@gregoryfoster
gregoryfoster marked this pull request as ready for review October 27, 2026 22:31
@gregoryfoster
gregoryfoster merged commit 875a18c into main Oct 27, 2026
3 checks passed
@gregoryfoster
gregoryfoster deleted the 82-host-disk-gc branch October 27, 2026 22:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant