Skip to content

feat: bootstrap repository infrastructure#1

Merged
Milerius merged 14 commits intomainfrom
feat/repo-bootstrap
Mar 25, 2026
Merged

feat: bootstrap repository infrastructure#1
Milerius merged 14 commits intomainfrom
feat/repo-bootstrap

Conversation

@Milerius
Copy link
Copy Markdown
Owner

Summary

  • Workspace with 6 crates: mantis-core, mantis-types, mantis-queue, mantis-bench, mantis-layout, mantis-verify
  • Core/types/queue are no_std-first with optional std feature
  • Strategy pattern traits (IndexStrategy, PushPolicy, Instrumentation) in mantis-core
  • Newtypes (SeqNum, SlotIndex), error types, compile-time power-of-two assertion in mantis-types
  • Benchmark harness with CycleCounter trait (RDTSC+lfence x86_64, monotonic fallback ARM64)
  • Struct layout inspector CLI (cargo run -p mantis-layout)
  • CI: fmt, clippy, test, no_std test, doc, deny, miri, careful, coverage (PR gate) + bench regression, nightly mutants, kani/bolero verify
  • CLAUDE.md, UNSAFE.md, justfile, clippy.toml, deny.toml, rust-toolchain.toml, dependabot

Test plan

  • CI passes: fmt, clippy, test, no_std, doc, deny
  • Miri job runs (may need nightly toolchain in CI)
  • Verify cargo run -p mantis-layout outputs layout report
  • Confirm no_std crates compile without std feature

🤖 Generated with Claude Code

Milerias and others added 9 commits March 25, 2026 11:05
Workspace Cargo.toml with shared lints, rust-toolchain.toml pinning
stable with cross-platform targets, clippy.toml thresholds, deny.toml
for supply chain safety, and gitignore additions for tooling artifacts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
mantis-core: strategy traits (IndexStrategy, PushPolicy, Instrumentation)
and marker types (Pow2Masked, ImmediatePush, NoInstr).

mantis-types: QueueError enum, SeqNum/SlotIndex newtypes,
AssertPowerOfTwo compile-time validator. Both crates are no_std.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
no_std queue crate depending on mantis-core and mantis-types.
Re-exports strategy markers and error types. Ready for SPSC ring
implementation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
mantis-bench: benchmark harness with BenchReport, CycleCounter trait,
and InstantCounter fallback. RDTSC+lfence planned for x86_64.
mantis-layout: struct layout inspector with cache-line analysis + CLI.
mantis-verify: placeholder for kani proofs and bolero property tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
CLAUDE.md: agent-friendly guide with all commands, architecture,
coding model, strategy pattern, and naming conventions.
UNSAFE.md: unsafe code policy with 6-tier verification.
README: project overview with quick start.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Commands for setup, lint, test, bench, coverage, miri, careful,
deny, and a local CI check that mirrors the PR gate.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ci.yml: PR gate (fmt, clippy, test, no_std, doc, deny, miri, careful, coverage)
bench.yml: benchmark regression on PRs
nightly.yml: mutation testing, extended miri, full coverage, ASM toggle
verify.yml: kani proofs and bolero property tests
dependabot.yml: weekly cargo + actions dependency updates

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Apply cargo fmt to layout main.rs, add Cargo.lock, specs, and
philosophy docs to version control.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Milerias and others added 5 commits March 25, 2026 11:31
- Miri/Careful/Coverage need cargo +nightly since rust-toolchain.toml
  overrides the CI-installed nightly back to stable
- Coverage switched to nightly toolchain for branch coverage support
- deny.toml: remove unmaintained/notice (unsupported in newer cargo-deny),
  fix allow-wildcard-paths to bool

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Removed deprecated keys (vulnerability, unlicensed, copyleft,
unmaintained, notice, allow-wildcard-paths) that were removed
in cargo-deny 0.16+.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Workspace path dependencies appear as wildcards to cargo-deny.
Also remove unmatched sparse registry URL.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
cargo-deny 0.19 flags path-only workspace deps as wildcards
since they could be published. Adding explicit versions resolves this.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Allow unused license allowances (kept for future deps)
- Skip syn v1 duplicate (bolero-generator-derive transitive dep)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Milerius Milerius merged commit b737df3 into main Mar 25, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants