#220: protocol of the isolated deployment run #290

Merged
fable-5 merged 1 commits from issue-220-isolated-run into main 2026-07-31 17:24:31 +02:00
Collaborator

Closes the verification work for #220 (chained on #289 — merge that first, fast-forward-only).

Adds docs/vs-nfd/97-isolationslauf-protokoll.md: the assessor-facing protocol of the isolated deployment run — full stack in internal: true networks, complete checklist (setup, login, live collaboration, search, upload, all export formats, backup and restore), tcpdump full capture with zero packets leaving the isolated subnets, and the explicit SMTP-without-egress behaviour (outbox-contained failure after 5 retries, instance stays fully functional). The restore finding from the run is #288, fixed in the chained PR and re-verified in the same stack.

Also ticks plan checkbox P1-3 and the I-28 open question in 20-massnahmenplan.md, and updates the operations handbook airgap section (#229 feedback loop).

Issue #220 will be closed manually after green CI + merge, with the protocol as evidence.

🤖 Generated with Claude Code

https://claude.ai/code/session_01AUtYMxwTCMHG9mVHnwbFg8

Closes the verification work for #220 (chained on #289 — merge that first, fast-forward-only). Adds `docs/vs-nfd/97-isolationslauf-protokoll.md`: the assessor-facing protocol of the isolated deployment run — full stack in `internal: true` networks, complete checklist (setup, login, live collaboration, search, upload, all export formats, backup and restore), tcpdump full capture with zero packets leaving the isolated subnets, and the explicit SMTP-without-egress behaviour (outbox-contained failure after 5 retries, instance stays fully functional). The restore finding from the run is #288, fixed in the chained PR and re-verified in the same stack. Also ticks plan checkbox P1-3 and the I-28 open question in `20-massnahmenplan.md`, and updates the operations handbook airgap section (#229 feedback loop). Issue #220 will be closed manually after green CI + merge, with the protocol as evidence. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01AUtYMxwTCMHG9mVHnwbFg8
fable-5 added 2 commits 2026-07-31 17:05:25 +02:00
#288: reset schema before pg_restore — partitioned tables broke --clean
Some checks failed
CI / Lint, typecheck, test (pull_request) Successful in 6m48s
CI / Build container images (pull_request) Successful in 1m46s
CI / Auth e2e pack (pull_request) Successful in 8m22s
CI / Import/export fidelity gate (pull_request) Successful in 1m8s
CD / Deploy to Test (push) Blocked by required conditions
CD / Smoke tests against Test (push) Blocked by required conditions
CD / Promote to Int (push) Blocked by required conditions
CI / Auth e2e pack (push) Blocked by required conditions
CI / Import/export fidelity gate (push) Blocked by required conditions
CI / Build container images (push) Blocked by required conditions
CD / Build and push images (push) Has been cancelled
CI / Lint, typecheck, test (push) Has been cancelled
4f6596e8a2
Since #224 read_events is partitioned; the dump carries per-partition
primary keys as own entries, and pg_restore --clean emitted DROP
CONSTRAINT against inherited constraints, which PostgreSQL refuses. The
restore then reported FAILED although the content was restored. Dropping
and recreating the public schema first makes every --clean drop a no-op
and the restore faithful: objects created after the backup no longer
survive. Verified in the isolated environment of #220 (set
20260731-132200, exit 0, readyz green).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AUtYMxwTCMHG9mVHnwbFg8
#220: protocol of the isolated deployment run
All checks were successful
CI / Lint, typecheck, test (pull_request) Successful in 6m16s
CI / Build container images (pull_request) Successful in 1m26s
CI / Auth e2e pack (pull_request) Successful in 8m27s
CI / Import/export fidelity gate (pull_request) Successful in 58s
CD / Build and push images (push) Successful in 21s
CD / Deploy to Test (push) Successful in 14s
CD / Smoke tests against Test (push) Successful in 1m17s
CD / Promote to Int (push) Successful in 12s
CI / Lint, typecheck, test (push) Successful in 6m22s
CI / Build container images (push) Has been skipped
CI / Auth e2e pack (push) Successful in 8m12s
CI / Import/export fidelity gate (push) Successful in 57s
ccffcaadd6
Full deployment exercised in a compose stack whose networks are all
internal: true — setup, login, live collaboration, search, upload, all
export formats, backup and restore. tcpdump full capture on both
bridges: zero packets leave the isolated subnets; the only outbound
attempt the application makes is SMTP, which fails contained in the
outbox (5 retries, then FAILED) while the instance stays fully
functional. The restore finding became #288, fixed earlier in this
chain and re-verified in the same stack. Plan checkbox P1-3 and the
I-28 open question ticked; operations handbook airgap section updated.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AUtYMxwTCMHG9mVHnwbFg8
fable-5 merged commit ccffcaadd6 into main 2026-07-31 17:24:31 +02:00
Sign in to join this conversation.
No description provided.