docs: test-update contract for activation/catalog changes#582
Merged
Conversation
Add a Testing section to the root CLAUDE.md describing the three test
lanes (unit, tests/integration/, tests/k8s/) and the maintenance
contract: any change to activation/STS/catalog-attach/credential code
needs the k8s integration suite kept in sync (don't add new duplicate
tests; update or delete the existing assertions). Lists the specific
files that obligate this: shared_worker_activator, sts_broker, the
Attach* functions in server/server.go, server/iceberg/ backends,
configstore models.
Add tests/k8s/CLAUDE.md with the directory-specific context:
- the destructive TestMain hazard and the build-only-for-compile-check
rule (the 2026-05-19 incident receipt is in the file so future agents
understand WHY before deciding -run TestNonExistent is "safe")
- what each test file covers
- the same activation-change checklist, scoped to this directory
- the iceberg backend default ('lakekeeper') gotcha that silently
routes activation to the wrong path if iceberg_backend is omitted
from the seed
- the on-failure diagnostics convention (extend
captureIcebergActivationDiagnostics; don't sprinkle print statements
— kind cluster is torn down after the test exits).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
CLAUDE.mddocumenting the three test lanes and the contract: changes to activation, STS, catalog attach, credential plumbing, or the configstore models obligate updatingtests/k8s/as part of the same PR — not a follow-up.tests/k8s/CLAUDE.mdwith the directory-specific guidance: destructiveTestMainhazard (the 2026-05-19 incident receipt is in the file), what each test file covers, the iceberg-backend default gotcha ('lakekeeper') that silently routes activation wheniceberg_backendis omitted from the seed, and the on-failure diagnostics convention.Motivated by #569 — the iceberg test landed and we want the maintenance expectation written down so future agents touching
shared_worker_activator.go,server.AttachIcebergCatalog,server/iceberg/, orcontrolplane/configstore/models.gokeep the e2e coverage honest instead of letting it drift.Test plan
cat CLAUDE.mdreads as a coherent doc (no broken section ordering)cat tests/k8s/CLAUDE.mdmatches the file-tree facts (file names, helper names, env-var names referenced are real)🤖 Generated with Claude Code