Skip to content

test(ax): golden-string CI guards + cmd/ax-assert Layer-1b runner + S-6 hardening (#63)#63

Merged
Detective-XH merged 1 commit into
mainfrom
ax-assert-golden-guards-s6
Jun 1, 2026
Merged

test(ax): golden-string CI guards + cmd/ax-assert Layer-1b runner + S-6 hardening (#63)#63
Detective-XH merged 1 commit into
mainfrom
ax-assert-golden-guards-s6

Conversation

@Detective-XH
Copy link
Copy Markdown
Owner

Summary

  • 6 new tool_surface_test.go guards (toolDescriptionsMap helper + A6/A12/A13/A14/A15/A18): every previously un-guarded serverInstructions and tool-description AX assertion now has a CI-level golden-string check
  • cmd/ax-assert/main.go — developer-only in-process Layer-1b assertion runner (A0–A5, A7–A11, A16/A17/A21); //go:build ignore ensures go build ./... and the release cross-compile matrix never compile it; 14/14 assertions pass against the live index
  • S-6 supply-chain hardening: runtime debug.ReadBuildInfo() module-path guard, GOFLAGS=-mod=readonly in CI test job, /ax-assert binary added to .gitignore

Test plan

  • go test -race ./... — all packages pass (18/18)
  • 6 new TestServerInstructions* / TestToolDescription* tests pass
  • go build ./... does NOT compile cmd/ax-assert/ (verified: //go:build ignore)
  • go run ./cmd/ax-assert/main.go --project-root . → 14/14 passed (requires --no-gitignore index)
  • CI go mod verify + GOFLAGS=-mod=readonly pass on both ubuntu/macos

🤖 Generated with Claude Code

…t Layer-1b runner + S-6 supply-chain hardening (#63)

Add 6 new deploy-gate test functions + toolDescriptionsMap helper to tool_surface_test.go,
covering every un-guarded serverInstructions and tool-description AX assertion:
  TestServerInstructionsNoSeedDocumentGuidance (A6)
  TestServerInstructionsCallBothGuidance       (A12)
  TestServerInstructionsDistinctDocuments      (A18)
  TestToolDescriptionSearchPathStrip           (A13)
  TestToolDescriptionSimilarAntiFabrication    (A14)
  TestToolDescriptionSimilarEngineStatusCrossRef (A15)

Add cmd/ax-assert/main.go — developer-only in-process Layer-1b assertion runner
(A0–A5, A7–A11, A16/A17/A21). Carries //go:build ignore so go build ./... and the
release cross-compile matrix never compile it. Primary use: go run ./cmd/ax-assert/main.go.
Implements S-6 supply-chain hardening: runtime module-path guard (debug.ReadBuildInfo),
go mod verify in CI (already present), GOFLAGS=-mod=readonly added to test job, /ax-assert
binary added to .gitignore.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@Detective-XH Detective-XH merged commit b8be6dd into main Jun 1, 2026
5 checks passed
@Detective-XH Detective-XH deleted the ax-assert-golden-guards-s6 branch June 1, 2026 18:56
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