Behind jackin❯ — crates

jackin-agent-status

Agent runtime status authority. Owns all state-machine logic for determining what an agent is doing at any moment — replacing the old timer-based heuristics with an evidence-driven arbitration model consumed by the capsule daemon and operator surfaces.

What this crate owns

  • Evidence collection (evidence, process, screen) — the signals that feed a status decision.
  • The status-decision state machine: rules (rules), policy (policy), gating (gating), and arbitration (arbitrate).

Architecture tier and allowed dependencies

Domain/status crate above the leaf. Allowed workspace dependencies: jackin-core, jackin-protocol. No infrastructure or presentation dependencies — status logic is pure arbitration over evidence types.

Structure

ModuleOwnsTests
lib.rscrate root, re-exports
evidence.rs · evidence/status evidence types + collectiontests.rs
process.rs · process/process sampling signalstests.rs
screen/screen-state signals
rules.rs · rules/decision rulestests.rs
policy.rs · policy/status policytests.rs
gating.rs · gating/anti-flicker gating + debouncetests.rs
arbitrate.rs · arbitrate/final status arbitrationtests.rs
tests.rsintegration tests

Public API

Status-decision types and the arbitration entry point consumed by jackin-capsule and surfaced to operators. Screen-detector tests and anti-flicker behavior are the regression anchors — keep them green.

How to verify

cargo nextest run -p jackin-agent-status
cargo clippy -p jackin-agent-status --all-targets -- -D warnings

On this page