Remove the allod pm tool #179

Merged
vnprc merged 2 commits from agent/remove-pm into master 2026-09-09 23:28:27 +01:00
Member

This removes the allod pm project-board tool, which the owner has declared a failed experiment (last touched 2026-07-27, four commit days in total). After this merges, allod pm is an unknown command like any other word the CLI does not know, and the pm/ directory (the board script, renderer, integrity checker, JSON schema, fixtures, and the two groom and review skill prompts) is gone from the repository. Nothing else changes: allod change, allod patch, and allod pr explain keep their code and usage text. Only pr resolves files through ALLOD_TOOLS_DIR; change and patch are pure Go. The proof is the repository's own gate, nix flake check, which builds the binaries and runs every Go and shell suite, plus a grep of the tree showing no remaining reference to pm. If this turns out to be wrong, revert the single commit; no machine state or data outside the repository is touched, and a deployment's private pm-state checkout is left as it was.

On a deployed machine, with only allod/archetypes#73 merged, the binary still registers pm and falls back to the live ~/work/allod/tools checkout. With only this PR merged, the deployed binary is still built from the old tools revision with the staged tree, so allod pm keeps working in both partial states. Only a source build of this revision without allod/archetypes#73 sees a not-found error.

Refs allod/tools#103
Refs allod/tools#111
Refs allod/tools#133
Refs allod/tools#137
Refs allod/tools#110

Risk

Low. The change is a deletion of one namespace and its tree; the surviving namespaces share only findExecutable, replaceProcess, executableDir, and workDir, all of which delegatePR still uses, so nothing pr-explain needs was removed. Merge allod/archetypes#73 first, then this PR, then bump locks freely; the reverse order leaves a window where advancing the archetypes/allod-tools node in deploy or a flake-update-cascade allod-tools run makes the old pmTools derivation fail on the missing pm tree.

allod/nexus nix/home.nix carries a comment saying pr and pm delegate to bash; a nexus PR updates it.

Validation

  • nix flake check in the branch worktree: all checks passed (allod, forge, flake-update-cascade builds; allod-parity which runs tests/allod-change.sh, tests/allod-patch.sh, and the three pr-explain suites against the packaged binary; cascade-suites; flake-status-suite; go-checks which runs gofmt, go vet ./..., go test ./..., go vet -tags site ./..., go test -tags site ./...).
  • The same five Go commands run directly from nix develop: gofmt prints nothing, vet and test pass with and without the site tag (six packages each).
  • grep -rn "\bpm\b\|delegatePM\|pmTools" --exclude=.git --exclude-dir=.git . prints nothing. pr-explain/, docs/pr-explain.md, and tests/pr-explain/ are untouched and still reference ALLOD_TOOLS_DIR as before.
  • Noted for the record: tests/allod-change.sh assertion 54 (worktree race) and tests/allod-patch.sh assertion 139 (apply --push calls git push) fail when run directly from nix develop on this VM, but they fail identically on unmodified master and pass inside the sandboxed allod-parity check, so they are an environment issue unrelated to this change.
This removes the `allod pm` project-board tool, which the owner has declared a failed experiment (last touched 2026-07-27, four commit days in total). After this merges, `allod pm` is an unknown command like any other word the CLI does not know, and the `pm/` directory (the board script, renderer, integrity checker, JSON schema, fixtures, and the two groom and review skill prompts) is gone from the repository. Nothing else changes: `allod change`, `allod patch`, and `allod pr explain` keep their code and usage text. Only `pr` resolves files through `ALLOD_TOOLS_DIR`; `change` and `patch` are pure Go. The proof is the repository's own gate, `nix flake check`, which builds the binaries and runs every Go and shell suite, plus a grep of the tree showing no remaining reference to pm. If this turns out to be wrong, revert the single commit; no machine state or data outside the repository is touched, and a deployment's private pm-state checkout is left as it was. On a deployed machine, with only allod/archetypes#73 merged, the binary still registers `pm` and falls back to the live `~/work/allod/tools` checkout. With only this PR merged, the deployed binary is still built from the old tools revision with the staged tree, so `allod pm` keeps working in both partial states. Only a source build of this revision without allod/archetypes#73 sees a not-found error. Refs allod/tools#103 Refs allod/tools#111 Refs allod/tools#133 Refs allod/tools#137 Refs allod/tools#110 ## Risk Low. The change is a deletion of one namespace and its tree; the surviving namespaces share only `findExecutable`, `replaceProcess`, `executableDir`, and `workDir`, all of which `delegatePR` still uses, so nothing pr-explain needs was removed. Merge allod/archetypes#73 first, then this PR, then bump locks freely; the reverse order leaves a window where advancing the `archetypes/allod-tools` node in deploy or a `flake-update-cascade allod-tools` run makes the old `pmTools` derivation fail on the missing pm tree. allod/nexus `nix/home.nix` carries a comment saying pr and pm delegate to bash; a nexus PR updates it. ## Validation - `nix flake check` in the branch worktree: all checks passed (`allod`, `forge`, `flake-update-cascade` builds; `allod-parity` which runs `tests/allod-change.sh`, `tests/allod-patch.sh`, and the three pr-explain suites against the packaged binary; `cascade-suites`; `flake-status-suite`; `go-checks` which runs gofmt, `go vet ./...`, `go test ./...`, `go vet -tags site ./...`, `go test -tags site ./...`). - The same five Go commands run directly from `nix develop`: gofmt prints nothing, vet and test pass with and without the `site` tag (six packages each). - `grep -rn "\bpm\b\|delegatePM\|pmTools" --exclude=.git --exclude-dir=.git .` prints nothing. `pr-explain/`, `docs/pr-explain.md`, and `tests/pr-explain/` are untouched and still reference `ALLOD_TOOLS_DIR` as before. - Noted for the record: `tests/allod-change.sh` assertion 54 (worktree race) and `tests/allod-patch.sh` assertion 139 (`apply --push` calls git push) fail when run directly from `nix develop` on this VM, but they fail identically on unmodified master and pass inside the sandboxed `allod-parity` check, so they are an environment issue unrelated to this change.
The header claimed the CLI resolves it from the Nix store through
ALLOD_TOOLS_DIR; no consumer ever staged pr-explain into the store, and
every machine finds it in the live checkout. Answers the review pass on
PR 179. Refs allod/tools#137
vnprc approved these changes 2026-09-09 23:28:20 +01:00
vnprc merged commit 53540fd66d into master 2026-09-09 23:28:27 +01:00
vnprc deleted branch agent/remove-pm 2026-09-09 23:28:27 +01:00
Sign in to join this conversation.
No description provided.