Skip to content

docs: test-update contract for activation/catalog changes#582

Merged
benben merged 1 commit into
mainfrom
ben/claude-md-test-rules
May 20, 2026
Merged

docs: test-update contract for activation/catalog changes#582
benben merged 1 commit into
mainfrom
ben/claude-md-test-rules

Conversation

@benben
Copy link
Copy Markdown
Member

@benben benben commented May 20, 2026

Summary

  • Adds a Testing section to the root CLAUDE.md documenting the three test lanes and the contract: changes to activation, STS, catalog attach, credential plumbing, or the configstore models obligate updating tests/k8s/ as part of the same PR — not a follow-up.
  • Adds tests/k8s/CLAUDE.md with the directory-specific guidance: destructive TestMain hazard (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 when iceberg_backend is 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/, or controlplane/configstore/models.go keep the e2e coverage honest instead of letting it drift.

Test plan

  • cat CLAUDE.md reads as a coherent doc (no broken section ordering)
  • cat tests/k8s/CLAUDE.md matches the file-tree facts (file names, helper names, env-var names referenced are real)

🤖 Generated with Claude Code

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).
@benben benben enabled auto-merge (squash) May 20, 2026 15:05
@benben benben merged commit a092f64 into main May 20, 2026
16 checks passed
@benben benben deleted the ben/claude-md-test-rules branch May 20, 2026 15:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant