I1804 — The first shell scripts become scripted capabilities over typed Rust
Migrate the baseline-ratchet logic copied into ten scripts/ci gates to one typed Rust capability, and the gates that use it to scripted capabilities that orchestrate it.
BLOCKED wave 2 · p2 · implementation profile · runs alone
Part of automation — Repository automation is scripted capabilities over typed Rust, not shell.
Blocked. This issue cannot start until I1801 is done. The status is derived from that, not declared.
Objective
Migrate the baseline-ratchet logic copied into ten scripts/ci gates to one typed Rust capability, and the gates that use it to scripted capabilities that orchestrate it.
Why
The ratchet is the largest piece of duplicated logic in scripts/ci and the audit classified it as domain logic; one typed implementation removes ten copies and proves the migration path of ADR 0069 on real gates.
Current state
Ten scripts/ci gates each carry their own copy of the baseline comparison.
Desired state
One Rust capability compares a finding set with its baseline; the migrated gates are scripted capabilities; their shell is deleted and the inventory updated.
Scope
- apps/majordomus-cli
- scripts/ci
- share
- .ai/repo
- test
Out of scope
- Gates whose logic is not the ratchet
Dependencies
What waits on this
Acceptance criteria
- the ratchet is one typed capability with tests
- each migrated gate produces the same verdict on the same tree as its shell predecessor
Validation
- bash test/run.sh
Evidence required
- ratchet_is_one_capability
Evidence
None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.
Timeline
- started
- —
- verified
- —
- completed
- —
Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.
Canonical record: .ai/repo/project/issues/I1804.yaml. Read it back with majordomus plan show I1804.