ADR-0815 follow-ups: fix the reprovision hint and amend the Address consequence
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 82/100
Research direction
Start with the authority_ssh_forward_unreported message at src/kdive/services/systems/authority_owned.py (around lines 139-145) and the systems.authorize_ssh_key docstring in src/kdive/mcp/tools/lifecycle/systems/registrar.py. Replace the reprovision sentence with tear-down-and-provision-new wording, keeping the reason and category, then grep the runbooks and tests for the old text. Append a dated ## Amendment to docs/adr/0815-remote-authority-system-ssh-port-is-reported-by-the-authority.md without changing the accepted text. Done when the old wording is gone, any affected test passes, and just lint and the ADR guards pass.
Written by the indexing model from the issue text.
Description
Problem
Two corrections are left over from ADR-0815 (remote authority System SSH port, #3585 / #3594):
- (a) The
authority_ssh_forward_unreportederror tells the operator to "Reprovision it against an upgraded authority". An authority-owned System cannot be reprovisioned, so the instruction cannot be followed. - (b) ADR-0815's Consequences "Address" bullet says that a wrong instance
ssh_addrmakessystems.check_ssh_reachablefail withtransport_failure. The #3594 live run showed otherwise, and the code agrees.systems.authorize_ssh_keyis the call that failstransport_failure. Thecheck_ssh_reachablejob succeeds withreachable: falseatlayer: tcp_connect.
Evidence
- (a)
src/kdive/services/systems/authority_owned.py:139-145: the message for reasonauthority_ssh_forward_unreportedends "Reprovision it against an upgraded authority." - (a)
src/kdive/mcp/tools/lifecycle/systems/registrar.py:462-467: thesystems.authorize_ssh_keydocstring says an authority-owned System "cannot be reprovisioned". - (b)
docs/adr/0815-remote-authority-system-ssh-port-is-reported-by-the-authority.md:81-83: "a wrong one shows up assystems.check_ssh_reachablefailing withtransport_failure." - (b)
src/kdive/jobs/handlers/connectivity/ssh_reachable.py:198-251:check_ssh_reachable_handlerraises only forsystem_not_readyandssh_not_provisioned. A probe that ran returns a verdict ("A probe that ran — reachable or not — is a success"). - (b)
src/kdive/jobs/handlers/connectivity/ssh_authorize.py:109-174: the authorize path raisesErrorCategory.TRANSPORT_FAILUREwhen the guest cannot be reached. - (b) The runbook already states the observed behaviour:
docs/operating/runbooks/live-testing.md:445-450(PR #3615). The live observation is indocs/workflow/proofs/2026-11-13-remote-authority-ssh-port-3594.md.
Expected
- (a) The message says to tear the System down and provision a new System against an upgraded authority. Any wrapper docstring that repeats the old instruction is updated to match.
- (b) ADR-0815 gains an appended amendment that corrects the "Address" consequence. The accepted text stays unchanged.
Proposed approach
- Reword the
CategorizedErrormessage inauthority_owned.py. Keep thereasondetail and the category unchanged. Search the MCP tool docstrings and the runbooks for any copy of "Reprovision it against an upgraded authority" and fix each one. Update any test that asserts the old text. - Append an
## Amendmentsection to ADR-0815, dated and citing #3594 and the proof record. It should state that a wrongssh_addr(or a closed range) shows assystems.authorize_ssh_keyfailingtransport_failureandsystems.check_ssh_reachablesucceeding withreachable: falseatlayer: tcp_connect. Keep the status Accepted. Runjust lintand the ADR guards.
- Dominant language
- Python
- Stars
- 0
- Forks
- 0
- Avg merge
- 9h 13m
- Merged PRs (30d)
- 197
Getting set up
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from randomparity/kdive
-
area:core-platform effort:S priority:P3 risk:night-safe status:ready type:test
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
randomparity/kdive#3620 ·
Maintainers usually reply within 1 day
-
area:core-platform effort:S priority:P3 risk:night-safe status:ready type:test
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
randomparity/kdive#3603 ·
Maintainers usually reply within 1 day
-
area:providers effort:S priority:P3 risk:night-safe status:ready type:docs
Difficulty 1/5 1-3 hours Newbie friendliness 82/100
randomparity/kdive#3593 ·
Maintainers usually reply within 1 day
-
area:providers effort:S priority:P3 risk:night-safe status:ready type:refactor
Difficulty 1/5 Under an hour Newbie friendliness 84/100
randomparity/kdive#3592 ·
Maintainers usually reply within 1 day
-
area:providers effort:S priority:P3 risk:night-safe status:ready type:docs
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
randomparity/kdive#3591 ·
Maintainers usually reply within 1 day
All issues in randomparity/kdive
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
FinanceFlash/unvibecode#760 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
google-research/google-research#3470 ·
Maintainers usually reply within 21 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
mrvautin/ha-workouts#11 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
laramies/theHarvester#2666 ·
Maintainers usually reply within 3 days