docs(disk-pressure): take the byte totals unattended before asking a human #860

Merged
coilysiren merged 1 commit from aos/claude/uq98-unattended-forgejo into main 2026-08-17 20:16:34 +00:00
Owner

Follow-up to #859, which is merged. Refs coilyco-flight-deck/node-stats-mcp#26, and pairs with node-stats-mcp#28.

The Forgejo measurement reference sent the whole script to an attended operator on the grounds that the guarded surface exposes no kubectl exec. Only the ownership half actually needs it.

Forgejo's data sits on a local-path PVC on the host, so node-stats-kai-server.get_host_usage_breakdown with profile: k3s-storage reports the claim, the data / git / packages split, and data/attachments at depth 3, with no pod access. That depth is node-stats-mcp#28; this change is the doctrine that makes an agent reach for it.

Changes

  • forgejo-measurement.md - take byte totals from the MCP first. Scope the operator handoff to what only PostgreSQL can answer: which repository, which release or issue, and which age bucket own the bytes. The attachment SQL added in #859 is now framed as the attended half rather than as a fix for the manual labour.
  • classification.md - check the profiles before asking a human to run a du. root, var, var-lib, k3s-storage, and pod-ephemeral cover the whole tree, and the last two report three levels deep, which is what a --max-depth walk was being hand-run for.

The raw-du-guardrails.md warning is unchanged and still applies to any du that is genuinely hand-run.

Verification

disk-pressure-watch-test passes and pre-commit run --all-files is clean on this branch rebased onto current main.

The recycle-report half of that test needs GNU date -d, so it only completes on Linux. Pre-existing and unrelated; verified here against a GNU date shim.

🤖 Generated with Claude Code

Follow-up to #859, which is merged. Refs coilyco-flight-deck/node-stats-mcp#26, and pairs with node-stats-mcp#28. The Forgejo measurement reference sent the **whole** script to an attended operator on the grounds that the guarded surface exposes no `kubectl exec`. Only the ownership half actually needs it. Forgejo's data sits on a local-path PVC on the host, so `node-stats-kai-server.get_host_usage_breakdown` with `profile: k3s-storage` reports the claim, the `data` / `git` / `packages` split, and `data/attachments` at depth 3, with no pod access. That depth is node-stats-mcp#28; this change is the doctrine that makes an agent reach for it. ## Changes * **`forgejo-measurement.md`** - take byte totals from the MCP first. Scope the operator handoff to what only PostgreSQL can answer: which repository, which release or issue, and which age bucket own the bytes. The attachment SQL added in #859 is now framed as the attended half rather than as a fix for the manual labour. * **`classification.md`** - check the profiles before asking a human to run a `du`. `root`, `var`, `var-lib`, `k3s-storage`, and `pod-ephemeral` cover the whole tree, and the last two report three levels deep, which is what a `--max-depth` walk was being hand-run for. The `raw-du-guardrails.md` warning is unchanged and still applies to any `du` that is genuinely hand-run. ## Verification `disk-pressure-watch-test` passes and `pre-commit run --all-files` is clean on this branch rebased onto current `main`. The recycle-report half of that test needs GNU `date -d`, so it only completes on Linux. Pre-existing and unrelated; verified here against a GNU `date` shim. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
docs(disk-pressure): take the byte totals unattended before asking a human
All checks were successful
CI / lint (pull_request) Successful in 41s
TruffleHog / Scan for secrets (pull_request) Successful in 6s
bee4c0dca9
The Forgejo measurement reference sent the whole script to an attended operator
because it needs `kubectl exec`. Only the ownership half does. Forgejo's data
sits on a local-path PVC on the host, so node-stats reports the claim, the
data/git/packages split, and data/attachments at depth 3 with no pod access.

Point classification at the profiles before a hand-run `du`, and keep the
operator handoff scoped to what PostgreSQL alone can answer.

Refs coilyco-flight-deck/node-stats-mcp#26

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Kai Siren <coilysiren@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
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
coilyco-flight-deck/infrastructure!860
No description provided.