deploy-epoch: deployment topology — one binary, three blessed shapes #27
Reference in New Issue
Block a user
Delete Branch "docs/deployment-topology-spec"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What lands
The full deploy-epoch integration: 6 commits merging the deployment topology spec + 4 implementation slices.
Slice breakdown
12af2f8docs(spec): deployment topology — one binary, three blessed shapes— the design spec (ADR-0011 chapter)fae9fccdocs(plans): four deployment-epoch implementation plans (slices A–G)— the 4 implementation plans7e2ae6d(PR #24)deploy slice A: engine hygiene — TCP_NODELAY + WS pings + trunk config— TCP_NODELAY + TCP_QUICKACK-suppression + WS pings + trunk config fixes0c307ac(PR #23)deploy slice G (docs + ADR-0011): docs/deploy/ tree + ADR-0011 Proposed— docs/deploy/ + ADR-0011838ecdf(PR #25)deploy slice C+D+E (binary features): rustls Phase 1 + /metrics + ValkeyEventSink— rustls TLS, /metrics endpoint, ValkeyEventSinkc772485(PR #26)deploy slice B + F: deploy/ artifacts + image-build + container smoke CI + tag-push publish— Dockerfile + compose.yaml + Caddyfile + smoke harness + ci.yml image-build/smoke/smoke-compose/smoke-reload jobs + publish-images.ymlStats
docker buildx build --targetPre-tag verification (PM-executed on integration tip
c772485)loop_driver.rs=744bf314edf7f4925c8bb3bd0f5176dbc88f8113,rtc_session.rs=f47d63b9a2883d37066a93c9daa0e2cf8816bec4— UNCHANGEDcargo fmt --check— exit 0cargo clippy --all -- -D warnings— exit 0cargo clippy --all --all-targets --features=sim-bench -- -D warnings— exit 0cargo test --all— exit 0cargo test --all --features=sim-bench -- --test-threads=1— exit 0cargo doc --no-deps— exit 0 (4 Rustdoc lint warnings, unrelated to deploy slices — no Rust touched)cargo deny check—bans FAILED + licenses FAILEDPRE-EXISTING at main tip6340e63(transitive hashbrown 0.14.5 vs 0.17.1 + cargo-deny 0.18.3 license-syntax limitation). CI usesEmbarkStudios/cargo-deny-action@v2(cargo-deny 0.19.x) which handles the syntax. Not introduced by this epoch.DCO note
The 4 intermediate PR-merge commits (
7e2ae6d,0c307ac,838ecdf,c772485) show NOSigned-off-bytrailer — Gitea's squash-merge replaced the original branch commits' signoffs withCo-authored-by+Co-committed-bytrailers. The 2 pre-epoch commits (12af2f8,fae9fcc) retain their signoffs. tea has no--signoffflag onpulls merge, so this slipped through per-PR.Remediation: this main-target PR will be squash-merged via
tea pulls merge --style squash --messagewith the fullSigned-off-by: Aaron D. Lee <himself@adlee.work>trailer appended to the merge commit message. This lands ONE DCO-compliant commit on main; the 4 DCO-defective intermediate commits are squashed away and never appear on main's history.Reviews
docs/superpowers/specs/2026-07-05-deployment-topology-design.md(full design —§1.2 out-of-scope table is the named-deferral boundary)docs/superpowers/specs/2026-07-05-tls-edge-decision-brief.mddocs/adr/0011-deployment-topology.md(Proposed)docs/superpowers/plans/2026-07-05-deploy-{a,b,c,d}-*.mdMerge instructions
Squash-merge (default). PM will execute the merge via:
This ensures the main commit carries the DCO signoff trailer. The 6 integration-branch commits collapse to 1 DCO-clean commit on main.
Out of scope (named deferrals per spec §1.2 / ADR-0011)
After this lands, the
deploy-epochtag is the next user decision (PM will ask, not assume).Code review
Integration review of the squashed epoch (cross-slice defects only; per-slice findings are posted on #23/#24/#25/#26 — most notably the TLS double-bind panic on #25 and the T1/T2 boot-blockers on #26). Found 3 issues:
RUTSTER_TAP_URLis the slice-2 dev valuews://127.0.0.1:8081/echo, while the bundledrutster-brain-realtimebinds127.0.0.1:8082. Neither therutster-allinoneDockerfile stage nor the s6 engine run script setsRUTSTER_TAP_URL, and the quickstart'sdocker runomits it — so T1 taps a port nothing listens on, and every call runs brainless.# TODO slice-C: assert lifecycle event in Valkey streamhook in compose_smoke.sh was never filled at integration, and no shipped artifact (compose.yaml, .env.example active section, s6 run scripts) setsRUTSTER_VALKEY_URL. The epoch's first Valkey consumer exists in code, is unit-tested, and is switched off in every deployment shape..env.example's "Future vars — land with sibling slices, NOT this slice" section describesRUTSTER_TLS_CERT/KEY(slice C),RUTSTER_METRICS_BIND(slice D), andRUTSTER_VALKEY_URL(slice E) as not yet landed — all three landed in this same commit — and cites a nonexistent plan file (2026-07-05-deploy-c-rustls-tls.md; actual:2026-07-05-deploy-c-binary-features.md).🤖 Generated with Claude Code
- If this code review was useful, please react with 👍. Otherwise, react with 👎.