Skip to content
This repository was archived by the owner on Apr 7, 2026. It is now read-only.

ci: replace CI with sovereign-ci.yml caller#205

Open
noahgift wants to merge 6 commits into
mainfrom
ci/sovereign-ci-v2
Open

ci: replace CI with sovereign-ci.yml caller#205
noahgift wants to merge 6 commits into
mainfrom
ci/sovereign-ci-v2

Conversation

@noahgift

Copy link
Copy Markdown
Contributor

Summary

  • Replaces ~100 line per-repo CI with 21-line reusable workflow call
  • Single source of truth: paiml/.github/.github/workflows/sovereign-ci.yml
  • Fixes red badge issue from previous merge conflicts

Test plan

  • Verify sovereign-ci.yml workflow triggers on push/PR
  • Confirm all gates (test/lint/coverage/security) run via reusable workflow

🤖 Generated with Claude Code

noahgift and others added 6 commits March 22, 2026 17:11
…200, #203)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…203)

Add provable contract (dimension-independent-kernels-v1.yaml) with 6
FALSIFY test IDs and implement them as Rust tests. Audit result:
- 10 kernels PASS (already dimension-independent)
- 20 kernels documented as #[ignore] (bake dimensions, need refactor)

Key findings:
- Activation backward + naive GEMM backward + cross-entropy + optimizer
  kernels already pass dimensions as runtime .param
- RoPE, layout transforms, batched softmax/RMSNorm bake ALL dims
- Several kernels declare .param but never ld.param them (phantom params)

Refs trueno#200 (Blackwell JIT), trueno#203 (dim-independent arch)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Refactor 7 training-critical kernels to use runtime .param instead of
baked immediates. This eliminates JIT compilation when new dimensions
are encountered during training on Blackwell.

Fixed kernels (FALSIFY-DIM-004):
- InterleavedToBatchedKernel: seq_len/n_heads/head_dim now runtime params
- BatchedToInterleavedKernel: same
- TransposeKernel: rows/cols/total_elems now runtime params
- BatchedTransposeKernel: rows/cols/total_per_batch now runtime params
- BatchedSoftmaxKernel: total_rows/row_size now loaded from params
- BatchedScaleKernel: n now loaded from param (was baked immediate)

PTX builder additions:
- div_u32_reg(): register-register integer division
- rem_u32_reg(): register-register integer remainder

Test results: 18 PASS, 12 still ignored (backward/RoPE kernels)

Refs trueno#200, trueno#203
Contract: dimension-independent-kernels-v1.yaml

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…203)

Refactor to load num_rows, hidden_dim, eps from runtime .param instead
of baked immediates. This was the last kernel seen JIT-compiling in
Run 12 training logs.

All 5 Run 12 JIT offenders now fixed:
- interleaved_to_batched ✓
- batched_transpose ✓
- batched_softmax ✓
- batched_to_interleaved ✓
- batched_rms_norm_backward ✓ (this commit)

FALSIFY tests: 20 PASS, 10 ignored (RoPE + tiled GEMM + warp-shuffle
kernels that structurally depend on hidden_dim for shuffle unrolling)

Refs trueno#200, trueno#203

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Single source of truth for CI. No more unified gate in badge workflow.
test/lint/coverage/security/gate all in reusable workflow.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant