Skip to content

docs(launchpad): record ADR-0011 -- external security smoke test floor - #177

Merged
tucktuck101 merged 1 commit into
launchpadfrom
docs/adr-0011-external-security-smoke-test-floor
Aug 16, 2026
Merged

tucktuck101 merged 1 commit into
launchpadfrom
docs/adr-0011-external-security-smoke-test-floor

Conversation

@serina-mcfall

Copy link
Copy Markdown

Summary

Records ADR-0011 for #47: the minimum external security smoke test before a deployment is declared healthy is Floor B (reachability/TLS plus negative port assertions), with a documented contingency for upgrading to Floor C once #26 lands or if a version-mismatch incident occurs.

Related issue

Closes #47

Issue type

ADR


Agent provenance

Field Value
Harness / provider Claude Code
Model claude-sonnet-5
Session reference N/A - harness does not expose a run id/URL
Initiating human @serina-mcfall

Objective

Write launchpad/decisions/ADR-0011-external-security-smoke-test-floor.md, recording the decision confirmed with the repository owner via comments on #47, and close the issue.

Impacted components

  • launchpad/decisions/ADR-0011-external-security-smoke-test-floor.md (new)
  • launchpad/scripts/test-adr-0011-frontmatter.sh (new)

Approach and rejected alternatives

Floor B was recommended, discussed, and confirmed directly with the repository owner (see #47's comment thread). No alternative approach considered for the document structure — this PR only formalizes an already-confirmed decision plus its contingency plan.

Verification

Command run:

bash launchpad/scripts/test-adr-0011-frontmatter.sh

Raw output:

PASS: ADR-0011 exists at the expected path
PASS: not filed under the issue number (0047)
PASS: frontmatter parses and status is Proposed
PASS: the H1 heading number matches the filename
PASS: no duplicate ADR numbers on this branch (found: none)
PASS: the Floor C contingency trigger is stated

6 passed, 0 failed
  • Tests or checks were run and the raw output is pasted above
  • The diff is confined to the scope of the linked issue
  • No secrets, keys, tokens or hostnames were added to tracked files

Not verified

  • Actual port reachability on a deployed host — no host is deployed yet, nothing has been scanned.
  • The VPS provider's acceptable-use policy on port scanning from CI — flagged as a live follow-up in the ADR's Security implications, not yet checked.

Security implications

None new beyond what's recorded in the ADR: this sets the floor for external verification and explicitly names the accepted gap (image-version confirmation deferred to Floor C) rather than leaving it implicit.

Escalations

None — this was a live back-and-forth with the repository owner (recorded via the recommendation and contingency-plan comments on #47) rather than an agent decision.

Records the decision for #47: the minimum external security smoke test
before a deployment is declared healthy is Floor B -- reachability/TLS
plus negative port assertions confirming PostgreSQL, Redis,
object-storage admin, and the relay's own health/metrics ports are not
reachable from the internet. Floor A alone is rejected (passes even
with Postgres open); Floor D is rejected (sets no reachable bar at
all).

Includes a contingency for the accepted gap: Floor B doesn't confirm
the deployed image matches the pinned version. Trigger to upgrade to
Floor C: either #26 (admin access model) lands, or a real incident
where a deployment passed Floor B while running the wrong version.
Notes the gap is already narrower in practice than it sounds, since
the deploy guard (#141) and the ADR-0005 boundary check both enforce
image-namespace constraints internally already.

Decided directly with the repository owner following the
recommendation and contingency plan both posted as comments on #47,
the same pattern ADR-0008/0009 recorded.

Verified:

$ bash launchpad/scripts/test-adr-0011-frontmatter.sh
6 passed, 0 failed

Closes #47

Signed-off-by: Serina Mcfall <serina.mcfall@gmail.com>
@serina-mcfall serina-mcfall added the by:agent Filed or authored by an AI agent, not a human label Aug 14, 2026
@serina-mcfall
serina-mcfall marked this pull request as ready for review August 14, 2026 23:09
@tucktuck101
tucktuck101 merged commit 1fff11b into launchpad Aug 16, 2026
25 checks passed
@serina-mcfall
serina-mcfall deleted the docs/adr-0011-external-security-smoke-test-floor branch August 31, 2026 20:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

by:agent Filed or authored by an AI agent, not a human

Projects

None yet

Development

Successfully merging this pull request may close these issues.

adr: minimum external security smoke test before a deployment is declared healthy

2 participants