plan: claim Plan 7 rev 3, the flag-off test seeds its replica and clears Range
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 file changed,
+8
−2
docs/superpowers/plans/2026-10-05-host-lifecycle-claim-7-pull-door.md+8 −2
CI passed — run details
diff --git a/docs/superpowers/plans/2026-10-05-host-lifecycle-claim-7-pull-door.md b/docs/superpowers/plans/2026-10-05-host-lifecycle-claim-7-pull-door.md| index 214c5e160..5edfada4f 100644 |
| --- a/docs/superpowers/plans/2026-10-05-host-lifecycle-claim-7-pull-door.md |
| +++ b/docs/superpowers/plans/2026-10-05-host-lifecycle-claim-7-pull-door.md |
| @@ -725,6 +725,8 @@ import ( |
| "sync/atomic" |
| "testing" |
| + lsfile "github.com/benbjohnson/litestream/file" |
| + |
| "github.com/carlosframework/platform/internal/dbdoor" |
| "github.com/carlosframework/platform/internal/dbdoor/dbdoortest" |
| "github.com/carlosframework/platform/internal/hostclaim" |
| @@ -957,11 +959,15 @@ func TestDoorPlanHTTPTruncationResumeAndFlagOff(t *testing.T) { |
| // rejects the response (Task 1's acknowledgement check). |
| // Keep startup configuration immutable while either server is running. |
| legacy := dbFixture(t) |
| - req, err := http.NewRequest("GET", legacy.url(dbdoor.GetPath("bab", "titogo", dbTestHost, 0, 1, 1)), nil) |
| + legacy.replicate(t, dbTestHost, 1) |
| + lc := lsfile.NewReplicaClient(filepath.Join(legacy.root, "instances", dbTestHost)) |
| + lf := listFiles(t, lc, 0)[0] |
| + req, err := http.NewRequest("GET", legacy.url(dbdoor.GetPath("bab", "titogo", dbTestHost, 0, uint64(lf.MinTXID), uint64(lf.MaxTXID))), nil) |
| if err != nil { |
| t.Fatal(err) |
| } |
| req.Header = h.Clone() |
| + req.Header.Del("Range") // a whole-file GET, so success is 200, not 206 |
| req.Header.Set("Authorization", "Bearer "+legacy.member) |
| res, err = http.DefaultClient.Do(req) |
| if err != nil { |
| @@ -1600,5 +1606,5 @@ A handle is valid only on the console that shares its persisted signing key, und |
| Plan-author verification: the complete Go blocks and all three source-edit scripts were extracted from this document and checked against the compiled overlay. The overlay used `origin/main` plus the real Plan 1 package, without creating implementation files in this repository. All added test files compiled; deterministic claim/handle/protocol/range/flag tests passed with `-race`. The test-only overlay without implementation failed with the expected missing fields/functions. Full `go build ./...` passed on Linux, Darwin, Windows and Linux/arm64. The IAM check failed before the edit and passed afterward; `tofu fmt -check` passed on both edited module files. The default Go cache was read-only, so verification used the existing shared on-disk `$TMPDIR/gocache`. Go also emitted a nonfatal module-stat-cache write warning; the reported build commands still exited zero. |
| -The HTTP restore/authorization/truncation tests compiled but could not execute: the sandbox refused `httptest`'s loopback listener with `socket: operation not permitted`. They and the unchanged flag-off HTTP regressions remain runtime checks for the implementation environment. Vet and the full repository test gate were not claimed as passing; overlay tests used `-vet=off` because overlay-only package directories are not physical working directories for vet. A separate `gpt-6-astra` authority review (Opus unavailable) checked the complete plan and the added range/truncation tests. Its handle-acknowledgement, generation-selection, metadata-pinning and test-config race findings were addressed. Rev 2 (controller) answers the independent review's P2: a flag-off console ignores `X-Carlos-DB-Handle` exactly as today and never echoes it; the v2 client's acknowledgement check rejects that response. Implementation-branch full gates and final authority review remain required. |
| +The HTTP restore/authorization/truncation tests compiled but could not execute: the sandbox refused `httptest`'s loopback listener with `socket: operation not permitted`. They and the unchanged flag-off HTTP regressions remain runtime checks for the implementation environment. Vet and the full repository test gate were not claimed as passing; overlay tests used `-vet=off` because overlay-only package directories are not physical working directories for vet. A separate `gpt-6-astra` authority review (Opus unavailable) checked the complete plan and the added range/truncation tests. Its handle-acknowledgement, generation-selection, metadata-pinning and test-config race findings were addressed. Rev 3 (controller) seeds the flag-off fixture and clears `Range` in that test (review round 2). Rev 2 (controller) answers the independent review's P2: a flag-off console ignores `X-Carlos-DB-Handle` exactly as today and never echoes it; the v2 client's acknowledgement check rejects that response. Implementation-branch full gates and final authority review remain required. |