carlos / platform Public

console: the mutation invariant counts the bucket's conditional GET and ETag listing as reads (#336)

34cfaf97 forwarded GetIfChanged and ListETags through the hostops
boundary, so the invariant's writer inventory picked them up as
app-scoped writers no door reaches. Both are reads.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude agent, operated by paul@keymail.dev ea27ce95060d73a7a872cab28915f59585a77c56 parent aa58845
1 file changed, +1 −1
  • internal/console/claim_invariant_test.go +1 −1
diff --git a/internal/console/claim_invariant_test.go b/internal/console/claim_invariant_test.go
index 5e438dd64..4538377e3 100644
--- a/internal/console/claim_invariant_test.go
+++ b/internal/console/claim_invariant_test.go
@@ -663,7 +663,7 @@ func claimWriterInventory(s *Server) map[string]bool {
inv[prefix+name] = true
}
}
- methods("bucket/", s.cfg.Releases, "Get", "List", "ListDirs", "Open", "ListMod", "ListSizes", "ListPage", "BucketShapedListDirs")
+ methods("bucket/", s.cfg.Releases, "Get", "List", "ListDirs", "Open", "ListMod", "ListSizes", "ListPage", "BucketShapedListDirs", "GetIfChanged", "ListETags")
methods("versioned/", s.cfg.DBVersions, "ListVersions", "OpenVersion", "GetVersion", "OpenVersionRange")
for _, b := range []struct {
surface string