Repository navigation
agents: show connection deletion protection (MARSOHS-2173) - #2059
Merged
SSharma-10 merged 1 commit intoOct 27, 2026
Merged
SSharma-10 merged 1 commit into
SSharma-10 merged 1 commit into
Conversation
BadhriDO
force-pushed
the
marsohs-2173-connection-deletion-protected
branch
from
October 19, 2026 19:02
ac27eeb to
70040c7
Compare
anup-deka
reviewed
Oct 20, 2026
deletion_protected is the only field that tells a connection that is safe to revoke from one an agent environment depends on, and it reached no doctl output path. Add a Protected column to the connections displayer, a Protected row to the detail card, and a protected marker to the styled list. -o json carries the field from godo directly. The detail card now pads labels to 9 characters, because "Protected" does not fit the shared 8-wide column; cardRow keeps the old width for every other agent card. Blast radius: doctl connections output only; --no-header gains a seventh column, --format output is unchanged unless Protected is named. Rollback: revert; no state and no stored data are involved. MARSOHS-2173 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
BadhriDO
force-pushed
the
marsohs-2173-connection-deletion-protected
branch
from
October 27, 2026 03:50
70040c7 to
22c3f72
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
deletion_protectedis the only field that tells a connection that is safe to revoke from one an agent environment depends on, and it reached no doctl output path: not-o json, not--format, not the styled card. This PR renders it in all three; godo carries the field as of v1.228.0 (#1171), whichmainalready pins. Until now the only way to learn a connection's protection state was to attempt a revoke and read the error.Jira: MARSOHS-2173
Scope
Out of scope: the wording when a revoke is refused (MARSOHS-2184), and
revoke --force, which needs a godoDeleteConnectionthat passes the flag harness-api already accepts.Blast radius
🟡 Services: doctl connections output only · Customers: additive, but
--no-headergains a seventh column, so a script that parses it positionally shifts;--formatoutput is unchanged unlessProtectedis named.Rollout
mainalready pins godo v1.233.0, which carries the field, so this PR changes no dependency.Decisions
Protectedis unconditional inCols(), unlikePauseReason: a column that appears only when something is protected leaves "not protected" indistinguishable from "not reported". The card printsProtected nofor the same reason.cardRowWidthis new because "Protected" is 9 characters and the shared card label column is 8; wideningcardRowitself would move the value column on every agent card in doctl. (commands/agents.go)Evidence
go test ./commands/... ./do/... ./internal/...passes exceptTestRegistryLogout, which fails onmaintoo;gofmt,go vetandgo build ./...are clean. Every output path above was checked against a stub harness-api, plus the cards for an unprotected and a pending connection, and--format Actor,ID,Provider,Status,Scopesis byte-identical to before. Not run from this commit: live production.🤖 Generated with Claude Code