Skip to content

fix(deploy): the stand's three deploy-script defects, each with a test that fails first (soft3 P3c) - #9

Merged
cyberia-apparatus merged 2 commits into
release/phase1from
fix/p3c-deploy
Nov 2, 2026
Merged

cyberia-apparatus merged 2 commits into
release/phase1from
fix/p3c-deploy

Conversation

@cyberia-apparatus

Copy link
Copy Markdown
Collaborator

What

soft3 plan P3c: the three defects in the stand's deploy scripts that the owner hit (soft3#493, 2026-11-01 20:11 UTC, deviations 2–4). This is a bug fix with failing tests, so it may merge in the freeze.

  1. deploy/chain/agent-a/run-node.sh: with SOFT3_CHECK unset and no cybernode-check on PATH, the script fell back to $here/../cybernode-check. The README installs the check in bin/ next to the script, so the fallback missed it (the owner's workaround on agent-a was SOFT3_CHECK=). The order is now SOFT3_CHECK, PATH, cybernode-check next to the script, then ../cybernode-check, so running in place from the repo still works. The README states the same order.
  2. deploy/chain/cybernode-check udp_bound: the function read $5 of ss -uln. With one protocol, ss prints no Netid column, so a bound radio reported DOWN radio. It now matches any field that ends in [:.]PORT, which works with or without the Netid column. The peer column (*) never matches.
  3. deploy/chain/ufw-chain.sh present(): it grepped ALLOW IN, which only ufw status verbose prints. With plain status, close said "not open" and open added a duplicate rule. It now matches ALLOW(\s+IN)?.

deploy/chain/tests/ holds one bash test per defect plus run.sh. Each test runs or sources the real text from the script. The new workflow .github/workflows/deploy-tests.yml runs them on every change under deploy/.

Verified

  • Commit 6e256a0 (tests only, scripts as at 645ac7f): red in this PR's CI, receipt below. Locally all three fail for their own reason: cybernode-check next to run-node.sh was not used, no-netid: 7793 should be bound, plain: 7793/udp should be present.
  • Commit 53bf05a (the fixes): green in this PR's CI, receipt below.
  • bash -n is clean on all three scripts.

Remains

The soft3 cybernode pin bump after the merge.

Risk

Low, and confined to the deploy scripts. The udp_bound and present() matches are wider than before: present() also matches the verbose form, and the tests cover both forms.

🤖 Generated with Claude Code

…3c) — red until the fixes

run-node.sh must find cybernode-check beside it (README installs both in bin/),
udp_bound must read ss -uln without a Netid column, and ufw-chain.sh present()
must match plain ufw status (ALLOW, no IN). Each test sources or runs the real
script text; the workflow runs them on every deploy/ change.
…ithout Netid, ufw present() matches plain status

The defects the owner hit on the stand (soft3#493, 2026-11-01 20:11 UTC):
run-node.sh fell back to ../cybernode-check while the README installs the
check in bin/ beside it; udp_bound took $5 of ss -uln, which has no Netid
column with one protocol, so a bound radio reported DOWN; present() grepped
ALLOW IN, which only ufw status verbose prints, so close said not open.
@cyberia-apparatus
cyberia-apparatus marked this pull request as ready for review November 2, 2026 02:23
@cyberia-apparatus

Copy link
Copy Markdown
Collaborator Author

Receipts (build service, workflow Deploy scripts):

  • red at 6e256a0 (tests only, scripts as at 645ac7f): run 41377369646. All three FAIL: cybernode-check next to run-node.sh was not used, no-netid: 7793 should be bound, plain: 7793/udp should be present.
  • green at 53bf05a5acc842d4fa7b0802390fb21f0efc936e: run 41377422279, all three PASS.

The director reviewed the diff against plan row P3c. A sonnet subagent implemented the first version. The director replaced its ufw test, which at the old script failed on the hard-coded /etc/soft3 instead of on present(), and dropped the env overrides that test had needed. Merging into release/phase1.

@cyberia-apparatus
cyberia-apparatus merged commit f1065eb into release/phase1 Nov 2, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant