Skip to content

chore: remove dead VPS-fleet infrastructure docs and committed debris - #181

Merged
Nic-dorman merged 1 commit into
mainfrom
nic/v2-1761-remove-dead-infra-docs
Oct 28, 2026
Merged

Nic-dorman merged 1 commit into
mainfrom
nic/v2-1761-remove-dead-infra-docs

Conversation

@Nic-dorman

Copy link
Copy Markdown
Member

Linear issue

Closes V2-1761

Summary

CLAUDE.md told agents to SSH into servers we no longer run. Its "Saorsa Network Infrastructure & Port Isolation" section:

  • gave ssh root@saorsa-2.saorsalabs.com "systemctl restart saorsa-node-bootstrap" as the correct way to work;
  • told agents to cargo run --bin saorsa-node, a bin that doesn't exist in this repo;
  • listed node addresses with their public IPs.

docs/infrastructure/INFRASTRUCTURE.md had the full 9-node inventory (DigitalOcean, Hetzner, Vultr): firewall rules, SSH key names, and ssh root@<ip> examples. The saorsa-*.saorsalabs.com hostnames are NXDOMAIN (checked 2026-10-27), and the IPs may since have been reassigned. So an agent following these instructions could try to log in, as root, to a stranger's server.

Both came from the Saorsa Labs era (17ccdef, 2025-12-29). No secrets are exposed. The provider API credentials appear only as environment-variable names (DIGITALOCEAN_API_TOKEN, HETZNER_API_KEY, VULTR_API_TOKEN), and the SSH section lists key labels/IDs only. History doesn't need rewriting. V2-1761 records the full check.

Removed:

  • The CLAUDE.md infrastructure section, and docs/infrastructure/INFRASTRUCTURE.md.
  • .claude/vps-test.yaml: config for a /vps-test skill that deployed a saorsa-core-test binary to the same fleet. Nothing references it.
  • Debris committed to the repo root between Aug and Dec 2025:
    • clippy_output.txt (84 KB), full_test_output.txt (52 KB), test_output.txt (60 KB), test_results.txt (52 KB), test_timings.json: captured tool output.
    • fix_let_chains.py: a one-off migration script.
    • build.rs: empty ("No build steps required"); nothing in Cargo.toml references it.
    • .cache/saorsa/bootstrap_cache.json: an empty peer cache, committed even though .cache/ is gitignored.

Kept: .planning/ (possible reference material), plus .claude/orchestrator/, .claude/plan.md, .actrc and sgconfig.yml (out of scope).

Found, not fixed: david@saorsalabs.com is still the contact in Cargo.toml authors, the README, and the security contact in docs/SECURITY_MODEL.md. That's a separate decision.

Found by the 2026-10-27 saorsa-core CLI/Docker audit, the sibling of saorsa-transport's V2-1760. saorsa-core itself has no CLI, Docker scaffolding or release binaries.

Risk tier

  • T0 — docs / tooling / CI / pure UX-output. Repo CI only.
  • T1 — client-only, no network-facing behavior change. CI + prod compat smoke.
  • T2 — node/client logic with behavioral surface, no protocol/format/economics change. Dev testnet + ADR.
  • T3 — protocol / storage format / payments / routing. T2 evidence + adversarial testing.

Compatibility

  • Wire: none
  • Storage: none
  • API: none. The only build-relevant change is deleting an empty build.rs.

Semver impact

  • breaking
  • feature
  • fix

Test evidence

Mirrors saorsa-core's lint.yml, rust.yml, wasm.yml and unit-tests.yml commands, run on dev2 (Ubuntu 24.04) from a fresh clone at this commit:

Check Result
cargo +stable fmt --all -- --check pass
cargo +stable clippy --all-features -- -D warnings -D clippy::unwrap_used -D clippy::expect_used pass
cargo +1.95.0 check --locked --lib --all-features (MSRV) pass
cargo check --locked --lib --no-default-features --target wasm32-unknown-unknown pass
cargo build (without build.rs) pass
cargo test --no-run --all-targets every test target compiles
cargo test --lib -- --test-threads=2 614 passed, 0 failed
cargo test --doc 0 passed, 8 ignored (unchanged)
git grep for the removed paths and hosts no remaining references; only the david@saorsalabs.com contact lines noted above

New dependency

none

ADR

n/a

Mitigation / rollback

Revert the commit.

🤖 Generated with Claude Code

CLAUDE.md told agents to `ssh root@saorsa-2.saorsalabs.com` and
restart services there, to `cargo run --bin saorsa-node` (there is no
such bin here), and listed node addresses with their public IPs.
docs/infrastructure/INFRASTRUCTURE.md carried the full 9-node inventory,
firewall rules, SSH key names and `ssh root@<ip>` examples. The
saorsalabs.com node hostnames no longer resolve, and the IPs may since
have been reassigned to someone else, so an agent following these
instructions could try to log in to a stranger's server. None of it
contains secrets: the provider API credentials appear only as
environment-variable names.

- Drop the "Saorsa Network Infrastructure & Port Isolation" section
  from CLAUDE.md and delete docs/infrastructure/INFRASTRUCTURE.md, both
  added in 17ccdef (2025-12-29).
- Delete .claude/vps-test.yaml, the config for a /vps-test skill that
  deployed a saorsa-core-test binary to the same fleet.
- Delete debris committed to the repo root between Aug and Dec 2025:
  captured tool output (clippy_output.txt, full_test_output.txt,
  test_output.txt, test_results.txt, test_timings.json), the one-off
  fix_let_chains.py migration script, an empty build.rs, and
  .cache/saorsa/bootstrap_cache.json, an empty peer cache committed
  even though .cache/ is gitignored.

.planning/ stays: it may be useful reference material.

Closes V2-1761

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

@MaidSafe-Hermes MaidSafe-Hermes 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.

APPROVE — reviewed commit e52559b1c90236eb5c78af106fc88b0e08264313 (base 16b395cd48447c8a4cb7746f18fb75d179b47696). The changes remove stale fleet-specific root-SSH instructions, the matching VPS test configuration and infrastructure inventory, an empty build script, and old generated/test debris. No runtime implementation changes or new dependencies are included. Independent search of the saorsa-core head found no remaining references to the deleted hosts or paths; cross-repo search confirmed the production ant-node port allocations remain documented in WithAutonomi/ant-node. The deleted build.rs was an empty main; multi-platform builds and tests pass.

Review coverage: 2/2 seats reviewed (sol-1 gpt-6.1-sol xhigh; glm-1 z-ai/glm-5.3). Both seats agree (two model families). The initial port-allocation concern was checked against ant-node's current documentation and configuration and is not a blocker.

CI: both required checks (linear-link, pr-template) pass. All other completed checks pass; self-test is still reported pending by GitHub, although its logs report 52/52 cases passed. Minimal versions was skipped. The claims that the old hostnames no longer resolve and IPs may have been reassigned were not independently verified. The deleted historical inventory remains in Git history; no credential values were found in the reviewed patch.

@Nic-dorman
Nic-dorman merged commit 5f51356 into main Oct 28, 2026
17 checks passed
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.

2 participants