Behind jackin❯ — crates
jackin-xtask
The workspace's cargo xtask automation — CI lanes, lint gates, docs checks, release/construct helpers, schema checks, and PR tooling. The single entry point for "run the project's checks locally": cargo xtask ci, cargo xtask ci --fast, cargo xtask ci --e2e.
What this crate owns
- CI orchestration (
ci) and the lint gates (lint— file-size budget, and the lanes planned under it). - Docs checks (
docs— repo-links, brand prose, spec↔test citations), schema checks (schema), profile/feature matrix (profile_matrix), and the agent-file symlink gate (agent_files, including per-crate README presence). - Architecture/structure tooling (
arch), test-layout gate (test_layout), PTY fixture extraction (pty_fixture), construct helpers (construct), release verification (release_verify), and PR tooling (pr).
Architecture tier and allowed dependencies
Build/CI tooling (xtask). No workspace dependencies — it inspects the workspace from the outside (files, cargo metadata, running cargo) and must not link against runtime crates. Runs on the host toolchain only.
Structure
| Module | Owns | Tests |
|---|---|---|
| cargo xtask dispatcher | — |
· | CI orchestration | |
· | file-size lint gate (adapter; budgets also in ratchet.toml) | |
· | unified shrink-only ratchet engine (lint ratchet) | |
| test-layout presence family (adapter over ratchet semantics) | — |
| bare-allow/expect reason-gate (adapter) | — |
· | agent-file symlink gate (--format human|json|github) | |
· | shared gate reporter (human/json/github) | |
· | no-cross-ref gate (README/AGENTS) | |
· | residual /jackin literal shrink-only gate | |
· | bare-allow / per-lint expect shrink-only reason-gate | |
· | ownership-header contract gate | |
· | tier-graph dependency-direction gate (TIERS table; prod edges must descend; dev-cycle allowlist) | |
· | structural src change ⇒ README same-PR gate | |
· | test-layout gate | |
· | schema check | |
· | docs repo-links / brand / specs / roadmap / research | , brand/specs unit tests |
· | PR tooling | |
| feature-profile matrix | — |
· | PTY fixture extraction | |
· | construct image helpers | |
· | release verification | |
· | report-only code-health dashboard (Phase 0) | |
Public API
The cargo xtask <lane> CLI. Merge-readiness is cargo xtask ci (or --fast / --e2e). New checks are added as lanes here so they are discoverable from one command.
How to verify
cargo nextest run -p jackin-xtask
cargo clippy -p jackin-xtask --all-targets -- -D warnings
cargo xtask docs brand
cargo xtask docs specs
cargo xtask lint agents
cargo xtask lint agents --format json
cargo xtask lint files --format json
cargo xtask ci --fast