carlos / platform Public

Astra brief: L18 joint round, round 3

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Paul Campbell pushed by claude agent, operated by paul@keymail.dev 0d5a1f46d02d7cf0d99b59b98f6dc65e25ad4179 parent 6a4eadd
1 file changed, +30 −0
  • docs/superpowers/plans/CODEX-REVIEW-L18-JOINT-ROUND-FINAL-BRIEF-3.md +30 −0

CI cancelled — superseded by a newer push — run details

CI log
=== gate ===
go: downloading github.com/benbjohnson/litestream v0.5.14
go: downloading modernc.org/sqlite v1.55.0
go: downloading github.com/aws/aws-sdk-go-v2 v1.44.0
go: downloading github.com/aws/aws-sdk-go-v2/config v1.32.6
go: downloading github.com/aws/aws-sdk-go-v2/service/sns v1.43.0
go: downloading github.com/aws/aws-sdk-go-v2/service/s3 v1.105.0
go: downloading github.com/superfly/ltx v0.5.1
go: downloading github.com/aws/aws-sdk-go-v2/service/ec2 v1.324.0
go: downloading github.com/oschwald/maxminddb-golang v1.13.1
go: downloading github.com/aws/aws-sdk-go-v2/service/route53 v1.64.1
go: downloading github.com/aws/aws-sdk-go-v2/credentials v1.19.6
go: downloading github.com/aws/aws-sdk-go-v2/service/sts v1.45.6
go: downloading golang.org/x/sys v0.46.0
go: downloading golang.org/x/crypto v0.52.0
go: downloading github.com/aws/aws-sdk-go-v2/service/acm v1.45.0
go: downloading github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.68.0
go: downloading github.com/aws/aws-sdk-go-v2/service/iam v1.58.2
go: downloading github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.37.0
go: downloading github.com/aws/smithy-go v1.28.1
go: downloading github.com/klauspost/compress v1.18.0
go: downloading golang.org/x/net v0.55.0
go: downloading github.com/pion/logging v0.2.4
go: downloading github.com/aws/aws-sdk-go-v2/service/sesv2 v1.66.6
go: downloading github.com/pion/stun/v3 v3.0.1
go: downloading github.com/pion/turn/v4 v4.1.4
go: downloading github.com/aws/aws-sdk-go-v2/service/costexplorer v1.67.5
go: downloading github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.16
go: downloading github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4
go: downloading github.com/aws/aws-sdk-go-v2/service/signin v1.0.4
go: downloading github.com/aws/aws-sdk-go-v2/service/sso v1.30.8
go: downloading github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.12
go: downloading github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.40
go: downloading github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.38
go: downloading github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.19
go: downloading github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.40
go: downloading github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.40
go: downloading github.com/pierrec/lz4/v4 v4.1.22
go: downloading github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.14
go: downloading github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.23
go: downloading github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.31
go: downloading github.com/pion/transport/v3 v3.0.8
go: downloading github.com/pion/dtls/v3 v3.0.7
go: downloading github.com/pion/transport/v4 v4.0.1
go: downloading github.com/pion/randutil v0.1.0
go: downloading golang.org/x/sync v0.21.0
go: downloading github.com/prometheus/client_golang v1.17.0
go: downloading github.com/mattn/go-isatty v0.0.20
go: downloading github.com/lmittmann/tint v1.1.3
go: downloading github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.20.18
go: downloading github.com/wlynxg/anet v0.0.5
go: downloading github.com/prometheus/common v0.45.0
go: downloading github.com/prometheus/client_model v0.5.0
go: downloading github.com/cespare/xxhash/v2 v2.3.0
go: downloading google.golang.org/protobuf v1.36.10
go: downloading github.com/prometheus/procfs v0.12.0
go: downloading github.com/beorn7/perks v1.0.1
go: downloading golang.org/x/text v0.37.0
go: downloading github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0
go: downloading modernc.org/libc v1.74.1
go: downloading modernc.org/memory v1.11.0
go: downloading modernc.org/mathutil v1.7.1
go: downloading github.com/google/uuid v1.6.0
go: downloading github.com/dustin/go-humanize v1.0.1
go: downloading github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec
cd launchctx && go vet ./... && go test ./... -count=1
ok  	amadan.net/carlos/platform.git/launchctx	0.011s
?   	amadan.net/carlos/platform.git/launchctx/controlname	[no test files]
?   	amadan.net/carlos/platform.git/launchctx/wireid	[no test files]
go vet ./...
gofmt -l .: clean
go test ./... -count=1 -timeout 30m

amadan: job cancelled — a newer push superseded it
diff --git a/docs/superpowers/plans/CODEX-REVIEW-L18-JOINT-ROUND-FINAL-BRIEF-3.md b/docs/superpowers/plans/CODEX-REVIEW-L18-JOINT-ROUND-FINAL-BRIEF-3.md
new file mode 100644
index 000000000..22f26a574
--- /dev/null
+++ b/docs/superpowers/plans/CODEX-REVIEW-L18-JOINT-ROUND-FINAL-BRIEF-3.md
@@ -0,0 +1,30 @@
+# Astra: L18 joint round, round 3
+
+Your round 2 (`CODEX-REVIEW-L18-JOINT-ROUND-FINAL-2.md`) left three items open. This round reviews the model (`region-ha-two-box-build` at 372f7a4b) against the build (`region-ha-1b-next-build` at 6a4eadde).
+
+1. **P2, cold first serving wake: model fixed (917771bb).** The first serving wake is now cold. It takes a fresh generation and a new installation stamp, records `writes_lost` for the stopped probe session, and retires P afterwards. The N6 witness asserts each of these.
+
+ Fixing the model surfaced a built-code data-loss finding: the probe stop did not flush before stopping, so writes the probe had acknowledged but not yet shipped were declared lost. Ruling 87 fixes it (6a4eadde; model 372f7a4b, rule `reloc-probe-stop-flush`). `EndProbe` now runs in this order:
+ 1. stop the writers;
+ 2. flush the database and files, through the release's shared `flushStopped`;
+ 3. record the positions;
+ 4. install the activator fence and stop root.
+
+ The serving wake stays cold. Its `writes_lost` is bounded at the last shipped transaction, so it names nothing acknowledged.
+
+ Ruling 75 is amended: a foreign fence refuses the stop after the flush, without asking root.
+2. **P3, session close and admission fence: model fixed (917771bb).** The model now keeps these apart. The session's launches close at the stop, and root's admission fence follows at Collect. A new rule, `reloc-admits-probe-only`, mirrors `relocatingAdmission`, and no wake admits a writer in the interval.
+3. **P2, finding 1 (moves' `restoring` loses source files protection).** Still open, and asked of moves on #236.
+
+**Judge:**
+1. Are items 1 and 2 closed?
+2. Is ruling 87 sound? Check:
+ - the flush order;
+ - the failed-flush refusal;
+ - the deadline;
+ - whether a restart before the record goes stuck rather than losing writes;
+ - the amended ruling 75.
+3. Anything new?
+4. **Verdict:** is finding 1 the only item left before relocation may merge dormant?
+
+Give findings P1/P2/P3 with file:line.