Skip to content

Anti-pattern log: close finished jobs' trees and caches with their own tools; reclaim WSL VHDX with wsl --manage --compact - #753

Merged
seathatflowsinourveins merged 4 commits into
mainfrom
c5/retention-rule-20261005
Oct 6, 2026
Merged

seathatflowsinourveins merged 4 commits into
mainfrom
c5/retention-rule-20261005

Conversation

@seathatflowsinourveins

Copy link
Copy Markdown
Collaborator

Scope

One anti-pattern log row in docs/harness-defaults.md, following the user's 2026-10-05 request to resolve the core reasons for NativeStack's disk growth. Lane: foundation.

The row's facts:

  • NativeStack's root fell to 191 GB free, and its VHDX on Z: grew to 1,065 GB for 765 GB used.
  • The bulk was finished work: 403 worktrees, 124 GB of /var/tmp build scratch from a session that had ended, 56.5 GB of 1,802 byte-identical fixture-binary copies, 27.8 GB of per-session index databases, about 75 GB of superseded gateway builds, and 30 GB of unused images.
  • The cleanup reached 529 GB free, with every uncommitted change and the one local-only gateway patch preserved first.

The rule closes each job with each tool's own command. It reclaims VHDX space with WSL 3.0.1's native wsl --manage <distro> --compact, and leaves sparse VHD off while WSL refuses it without --allow-unsafe.

SOTA sources

  • git-worktree: remove refuses unclean worktrees without --force.
  • uv cache prune and docker image prune.
  • microsoft/WSL:
    • PR #40481: --compact force-terminates the target distro and runs an offline e2fsck -E discard before CompactVirtualDisk;
    • tag 3.0.1, src/windows/service/exe/LxssUserSession.cpp:1761-1921, where --set-sparse true is refused without --allow-unsafe;
    • PR #41726: lifts that refusal in tag 3.0.2 and marks sparse experimental.

Evidence-class table

Claim Evidence class Source
Sizes and counts host measurement on NativeStack (du, df, git worktree list) the coordinator's private actions log
WSL compact and sparse behaviour upstream source review at tag 3.0.1, plus PRs the links above
git, uv and docker commands upstream docs the links above

Local commands run

  • uv run --no-project --with pyyaml python -m unittest over the 416 tests that reference harness-defaults.md: OK (2 skipped).
  • python3 scripts/validate.py: exit 0, after the registry-last commit.
  • python3 scripts/validate_convergence.py --all-recorded: exit 0.
  • The login-name scan is clean.

Decision record

None new; the anti-pattern log row is the record.

Host evidence

Sanitized counts only. No host paths or user names.

Checklist

  • No GitHub Actions or workflows changed.
  • No secrets printed, logged or committed.
  • No paid hosting or billing surface.
  • Peer-owned untracked files and worktrees preserved. Each peer pruned its own data; the coordinator removed only data from ended sessions and its own lane, by literal target.

🤖 Generated with Claude Code

@seathatflowsinourveins seathatflowsinourveins added the lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers label Oct 5, 2026
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-05T18:46:29.984093Z 74ce7cd PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 74ce7cd2cf

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/harness-defaults.md Outdated
Comment thread docs/harness-defaults.md Outdated
Comment thread docs/harness-defaults.md Outdated
Comment thread docs/harness-defaults.md Outdated
Comment thread docs/harness-defaults.md Outdated
Comment thread docs/harness-defaults.md Outdated
@seathatflowsinourveins
seathatflowsinourveins force-pushed the c5/retention-rule-20261005 branch 2 times, most recently from 90075bc to 166e911 Compare October 5, 2026 23:48
Scout and others added 4 commits October 6, 2026 10:13
…ir own tools; reclaim WSL VHDX space with wsl --manage --compact

2026-10-05: NativeStack fell to 191 GB free (VHDX 1,065 GB for 765 GB used) from
finished-job worktrees, /var/tmp build scratch, fixture copies, index caches and
superseded gateway builds; cleaned to 529 GB with uncommitted work preserved first.
Rule cites git-worktree, uv cache prune, docker image prune and WSL 3.0.1
(PR #40481 compact; sparse refused without --allow-unsafe).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ktree remove; save local-only commits with git bundle (keeps merges), per the gate read

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@seathatflowsinourveins

Copy link
Copy Markdown
Collaborator Author

Claude session native-agent-stack-5f: landing at head b2f1ab00d472a0e9b523fd06e0956946f57340d5. The command center (wsl-architecture-design) gave its ACK at this exact head; under the user's 2026-10-04 decision it owns merges that touch the hot registry. The read-only cross-family review (GPT-6.1 Sol max, the packaged Codex SDK worker) returned FINDINGS at this exact head, with no P1 item.

Observed main 1fa865066b4a9e82522170ca48759ffebc07ed0c. coordination/merge_tree_landing_check.py (sha256 a11649fcf2e5844c…) exit 0:

main 1fa865066b4a9e82522170ca48759ffebc07ed0c head b2f1ab00d472a0e9b523fd06e0956946f57340d5 base c1300c15b42f1a6643f3dc4172f40c01d99abdcd merged-tree 35a9c81e2c33f5355c26c242f5828b8f9b547175 merge-tree-exit 0
ok   1: clean three-way merge
ok   2: merged-vs-main paths 2, outside PR-owned 0 []
ok   3: main drift 18 paths, overlap with PR-owned inputs (registry excluded) []
ok   4: registry foreign rows equal True, order preserved True, PR-owned rows 1, unowned top-level keys differing []
ok   5: merged files[] sorted by path with no duplicates: True (10318 rows)
LANDABLE
condition 5: merged files[] sorted and unique (tree 35a9c81e2c33f5355c26c242f5828b8f9b547175)

Required checks at this head: 7 pass . Unresolved review threads: 0.

@seathatflowsinourveins
seathatflowsinourveins merged commit 9f3af37 into main Oct 6, 2026
25 checks passed
@seathatflowsinourveins

Copy link
Copy Markdown
Collaborator Author

Claude session native-agent-stack-5f: post-merge observation. Landed as 9f3af37dd4659d8686c454d8ac727a3de73452a4 (parent 1fa865066b4a9e82522170ca48759ffebc07ed0c), tree 35a9c81e2c33f5355c26c242f5828b8f9b547175. The landed tree equals the checked merged tree and the parent is the observed main.

@seathatflowsinourveins
seathatflowsinourveins deleted the c5/retention-rule-20261005 branch October 6, 2026 11:33
seathatflowsinourveins added a commit that referenced this pull request Oct 6, 2026
### Scope

Record the command center's orchestration round 2 and the co-op's measured launch-and-close gate. Add the dated decision, five contiguous anti-pattern lessons and three portable snapshots of the deployed hcom/tmux/agentsview configuration. After #753 landed, rebase these records and correct its VHDX statement to distinguish non-sparse disks from automatic sparse reclamation.

- Base commit: `0d5e6506434fab598dee861c749a22e628beb75a` (includes landed #753 at `9f3af37d`)
- Lane: `lane:foundation` (the sole PR label).
- Owned paths: `docs/decisions/2026-10-06-cc-orchestration-composition.md`, `docs/harness-defaults.md`, `examples/hcom-wt-tmux.toml.example`, `examples/hcom-lanes.conf`, `examples/agentsview.service.example`; their registrations in `manifests/evidence.json` are isolated in the final commit.
- The record covers receipt entries through 6:00:21 AM EDT (10:00:21Z). Later stopper observations remain with their owner. No host settings, install-plan files or credentials are changed; this PR does not merge anything.

## SOTA sources

- [aannoo/hcom v0.7.27, 2c5f343b2f9ec4bf2acf49c0431860e7c2ae578b](https://github.com/aannoo/hcom/tree/2c5f343b2f9ec4bf2acf49c0431860e7c2ae578b): `src/config.rs` user-preset field merge; `src/terminal.rs` open/close; `src/launcher.rs:1991–2044` generated name/tag distinction; `src/commands/kill.rs:557–569,677–679` bare-name result; native Codex hook delivery.
- [tmux/tmux 3.6a, cc117b5048f77a4842820f8ebbe3a86e5c077224](https://github.com/tmux/tmux/tree/cc117b5048f77a4842820f8ebbe3a86e5c077224): `server-fn.c`, `server-client.c`, `server.c`, `client.c` close/exit ordering and `tmux.1` lane options. Installed host reports tmux 3.6; the record distinguishes that execution from the 3.6a source pin.
- [kenn-io/agentsview v0.43.0, 9be7745ad1906ee24e04eb05bb86c872ef0939a1](https://github.com/kenn-io/agentsview/tree/9be7745ad1906ee24e04eb05bb86c872ef0939a1): `cmd/agentsview/main.go`, `serve_replacement.go`, configuration/command docs; supervised foreground `serve --replace`, idle timeout and optional authentication. Passwordless operation is the user's scoped host divergence.
- [MicrosoftDocs/terminal, c341a6362f9f0346a17ecc5e1e74d2cd9372c8f9](https://github.com/MicrosoftDocs/terminal/tree/c341a6362f9f0346a17ecc5e1e74d2cd9372c8f9): `TerminalDocs/customize-settings/profile-advanced.md` `closeOnExit=graceful` and command-line tab launching.
- [systemd/systemd v259, 9ca433482f2281d71718718705ca8cd3bf562ad6](https://github.com/systemd/systemd/tree/9ca433482f2281d71718718705ca8cd3bf562ad6): `man/systemd.service.xml` foreground simple service and restart behavior.
- [openai/codex rust-v0.160.0, a956835d](https://github.com/openai/codex/tree/a956835d): per-thread writer locks and app-server in-process live-status scope; [OmniRoute v3.8.51, c1e30b76](https://github.com/diegosouzapw/OmniRoute/tree/c1e30b76): chat-completions caller correlation-ID preservation.

- Microsoft [WSL disk-space documentation](https://learn.microsoft.com/windows/wsl/disk-space), updated 2025-02-05 ([MicrosoftDocs/WSL source 7b28cc1e](https://github.com/MicrosoftDocs/WSL/blob/7b28cc1ee9b8ff672ada5e1c6c326d3573d703e5/WSL/disk-space.md)); [automatic disk-space cleanup announcement](https://devblogs.microsoft.com/commandline/windows-subsystem-for-linux-september-2023-update/#automatic-disk-space-clean-up-set-sparse-vhd), 2023-09-18; [experimental sparseVhd setting](https://learn.microsoft.com/windows/wsl/wsl-config#experimental-settings), displayed update 2026-09-16 ([source 7ea1c6f9](https://github.com/MicrosoftDocs/WSL/blob/7ea1c6f9e25f1c89a05a0e97e5325a02a66ac6cd/WSL/wsl-config.md)). The disk-space page covers disk management; the announcement/configuration provide the sparse exception. No claim is made that disk-space.md contains a sparse section.

### Evidence-class table

| Claim | Evidence class | Command / receipt |
| --- | --- | --- |
| Corrected gate passed: steps 0, 3, 4, 8, 9 and 10; run-3 transport passed in substance | `local_integration` | Private co-op `orchestration-round2-20261006/receipt.md`, measured times/exits and failures transcribed in the decision; no new lifecycle execution in this PR |
| Examples preserve the deployed bytes after only documented personal-path substitutions | `local_integration` | Direct host-file byte comparison: tmux exact; TOML/unit exact after `<WINDOWS_USER>`, `<WSL_USER>` and `%h` substitutions; TOML parses |
| Bare generated name differs from lane tag; native preset/close/supervision interfaces | `source_review` | Pinned files above, checked independently against primary sources |
| The VHDX statement excludes automatic sparse reclamation; sparse remains off under the recorded WSL 3.0.1 guard | `source_review` | Dated Microsoft sources above; no disk operation, sparse toggle or new host acceptance |
| Anti-pattern table and hashes remain consistent | `local_integration` | Existing unittest modules and `scripts/validate.py`; structural checks, no provider/GPU execution |

Step 6, step 5 OTel queries, 11a–f, 11h and 11i were not run; only the co-op-caller half of 11g ran. The example still carries the deployed `ecosystem.lane={instance_name}` value, so stable OTel lane attribution remains unverified. The no-prompt `zumi` spontaneous close remains unexplained. The decision drops the refuted token figures and refers to `e2e-truth-sweep-wf_6f2c775d-293.json` per critic finding 3.

### Local commands run

```text
nice -n 19 python3 scripts/component_matrix.py --write
exit 0: 32 rows, zero flip-rule violations (no generated-file diff)
nice -n 19 python3 scripts/new_host_grand_list.py --write
exit 0: 32 layers, 66 winners (no generated-file diff)
nice -n 19 python3 scripts/validate.py
exit 0: 69 components, 10340 hashed files, 4 profiles, 214 receipts
nice -n 19 python3 -m unittest tests.test_adoption_docs_consistency tests.test_evidence_manifest
exit 0: Ran 44 tests in 25.095s; OK (skipped=1)
git diff --check
exit 0
```

Post-rebase validation ran 10:01:59–10:02:49 AM EDT (14:01:59–14:02:49Z); touched tests ran 10:02:50–10:03:15 AM EDT (14:02:50–14:03:15Z), outside both paper windows. Fixture sort-error output is expected negative-control evidence, not manifest drift. A read-only completeness critic verified the unchanged four artifacts and five contiguous rows, the bounded P3 change and the five matching registrations; no blocker.

The rebased tree retains both owners' table rows. The final evidence commit is rebuilt from main's manifest instead of hand-merging registry entries. Checks run at nice 19 outside the paper windows; no live provider/GPU or disk operation is part of this PR. Restart loss inventory records only regenerable tool scratch, with no sole-copy repository work or lane-created transient units lost. A post-restart API read found zero review threads, including connector threads.

### Decision record

[`docs/decisions/2026-10-06-cc-orchestration-composition.md`](docs/decisions/2026-10-06-cc-orchestration-composition.md) records the alternatives, overturn conditions, passwordless agentsview divergence, lane-tabs-only reversal of the tmux rejection, measured results and corrections.

## Handoff to the install-plan owner

`fixwave-defects` holds the install-plan files through #723. **Proposed text only; none of the following is applied by this PR.** Select the `session-analytics` row in `evidence/artifacts/new-wsl-install-plan-20261002/install-plan.json` (slot at line 2724 on the original `ecfa1127` base), retain its release/download/launcher provenance, and apply these exact field replacements:

```json
"owner": "agentsview 0.43.0 (supervised local live archive)"
```

Within `needs` (line 2737):

```json
"systemd_user_unit": true
```

Replace `service` (lines 2749–2753) with:

```json
{
  "form": "supervised systemd user unit agentsview.service; foreground agentsview serve --replace; Restart=always; RestartSec=10",
  "port": 21808,
  "port_setting": "host=127.0.0.1, port=21808 and daemon_idle_timeout=\"0s\" in the owned archive config.toml",
  "start_command": "systemctl --user daemon-reload\nsystemctl --user enable --now agentsview.service",
  "stop_command": "systemctl --user stop agentsview.service"
}
```

Carry `examples/agentsview.service.example` into the plan's `config/agentsview.service` under the plan's ownership/overwrite rules. After config installation, add this exact `commands` entry:

```json
"install -d -m 0755 -- \"$HOME/.config/systemd/user\"; install -m 0644 -- \"$plan_dir/config/agentsview.service\" \"$HOME/.config/systemd/user/agentsview.service\""
```

Add the installed unit's `$HOME/.config/systemd/user/agentsview.service` path to `config_paths`. Add this exact key to the owner's `config/agentsview.toml`:

```toml
daemon_idle_timeout = "0s"
```

Register adopted worker roots as explicit `[agents.codex] homes = [...]` entries (no glob), using the owner's maintained job-home convention; the current live configuration has ten selected worker homes. Preserve the existing warning/review path for a differing owned config. The scoped passwordless choice remains explicit; do not copy the workstation's authenticated unit by accident.

Reconcile the `service_health` detached-daemon premise and notes with supervised acceptance: `systemctl --user is-active agentsview.service`, listener PID/cgroup on 21808, HTTP `/api/v1/version` and representative fresh session reads, then stop/read/no-auto-start/restart checks. Retain native sync/list/usage and fresh/absent-session controls; any remaining CLI read must use `AGENTSVIEW_NO_DAEMON=1`. Carry the config, unit and plan hashes together under `docs/lanes.md`'s final-commit protocol. These follow-ups implement step 1 and critic finding 13; they are not claimed passed by this records PR.

### Host evidence

No files under `evidence/hosts/` change and no platform status changes. The private co-op receipt is historical local integration evidence, not a newly registered host acceptance receipt.

### Checklist

- [x] No GitHub Actions change; upstream sources are pinned in the record.
- [x] No new workflow permissions or required secrets.
- [x] No secrets printed, logged or committed.
- [x] No paid hosting, subscription or billing surface introduced.
- [x] Peer-owned files/worktrees preserved; owner-held install-plan edits handed off.
- [x] Exactly one label: `lane:foundation`; draft PR; no merge.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant