Imported from nixpt/water-spider (
AGENTS.md). Install upstream withnpx skills add nixpt/water-spider. Copyright stays with the author.
Context
Operating Rules
- Cost safety is the primary invariant: never blindly retry pod creation and never trust deletion without independently verifying the pod is absent.
- Run
.jagent/planning/tickets in dedicated branches and worktrees; reproduce each ticket before changing code. - Do not use a live RunPod resource without an explicit cost cap and teardown deadline.
- Never turn mocked behavior into a claim of live RunPod verification; keep the
evidence boundary explicit in
STATE.mdanddocs/operations.md.
Build / Test
- Syntax:
bash -n bin/water-spider scripts/bump-version.sh tests/run.sh tests/release.sh tests/fakes/* docker/*.sh integrations/mayfly-opencode/water-spider-mayfly - Static analysis:
shellcheck bin/water-spider scripts/bump-version.sh tests/run.sh tests/release.sh tests/fakes/* docker/*.sh integrations/mayfly-opencode/water-spider-mayfly - Deterministic suite:
./tests/run.sh(no network, credentials, pods, or real SSH/process operations) - MCP:
cargo fmt --manifest-path mcp/Cargo.toml --check,cargo test --manifest-path mcp/Cargo.toml --locked, andcargo clippy --manifest-path mcp/Cargo.toml --all-targets --locked -- -D warnings
Architecture Map
bin/water-spider: transport-agnostic Bash CLI; all product behavior lives here and delegates torunpodctl, SSH, or conditional GraphQL via curl.mcp/: typed Rust MCP adapter with separate control/node tool catalogs and stdio or loopback-only Streamable HTTP transports.tests/: command-level harness with PATH-injected external-command fakes..jagent/planning/: backlog, roadmap, execution rules, and ticket evidence..github/workflows/: ShellCheck/test CI, semantic-version release, and release-coupled GHCR publication for all three image variants.docs/: architecture, operations, testing, and release guides.docs/v2-gpu-guide.md: operator workflow for the GPU image, CUDA llama.cpp, model storage, GUI forwarding, MCP inspection, and teardown.integrations/mayfly-opencode/: local Mayfly/OpenCode bridge to the v2 image's loopback-only, tunneled llama.cpp agent endpoint.docs/repository-operations.md: release bootstrap, ruleset policy, git-ops, audits, and branch maintenance.docker/+Dockerfile*: one-shot CLI, CPU control pod, and CUDA/llama.cpp GPU control pod;docker/README.mdowns image-specific evidence.
Memory
Decisions, blockers, and constraints are captured in .dejavue/ — run
dejavue context for the boot packet and dejavue recall <query> to search.