jackin-xtask
Workspace automation for CI, lints, docs, releases, schemas, and PRs. Merge-readiness entry points are cargo xtask ci, cargo xtask ci --fast, and 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 | |
· · | workflow audit, advisory-cache selection, and target transport | sibling tests.rs files |
· | nextest-only documentation-example gate | |
· | file-size lint gate (adapter; budgets also in ratchet.toml) | |
· | unified shrink-only ratchet engine (lint ratchet) | |
· | agent-file symlink gate (--format human|json|github) | |
· | shared gate reporter (human/json/github) | |
· | no-cross-ref gate (README/AGENTS) | |
· | container-path gate | |
· | lint-suppression 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 and semantic CI cache contracts | , contract/brand/specs unit tests |
· | closed-registry Weaver validation and namespace/privacy gates | |
· | telemetry performance capture and 5% comparison gate | |
· | PR tooling | |
| feature-profile matrix | — |
· | PTY fixture extraction | |
· | construct image helpers | |
· | release verification | |
· | report-only code-health dashboard (Phase 0) | |
· | deterministic read_dir_sorted for gate code (plan 027) | |
· | jackin❯ desktop assembly: bindings, XCFramework, build/verify/run, sign-notarize, release-state, bootstrap-secrets | |
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.
cargo xtask lint ratchet checks every configured family. CI jobs that own one
artifact use repeatable --only <family> arguments so they do not measure
unrelated families or launch nested build work. Artifact-backed families skip
when their artifact is absent; the job that produces an artifact must run the
matching scoped ratchet after generation.
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