mix accrue_admin.ui.fix (accrue_admin v1.5.0)

Copy Markdown View Source

The ORCH-03/ORCH-04 MUTATION half of the UI-ratchet loop.

ui.fix is the maintainer's second and final formal interaction per round (after they batch-approve/reject the digest's decisions.json). It NEVER generates a CSS fix itself — the maintainer (or their coding assistant) has ALREADY hand-edited the CSS/component files between ui.round and ui.fix, guided by the digest. This task automates "rebuild it, prove it, lock it in":

apply-decisions -> assets.build -> git add priv/static -> git commit
  -> recapture -> probe -> finalize-fixes

This task is a thin orchestrator: it reimplements zero ratchet logic, it only sequences System.cmd calls through a swappable Runner behaviour (twinning mix accrue_admin.ui.round's Runner/ShellRunner idiom). It:

  • commits ONLY priv/static right after assets.build, BEFORE re-capture — the committed-CSS-bundle discipline (a --allow-empty commit keeps the sequence total even when the maintainer's hand-edit produced no net bundle change).
  • reads the round + scope from the .fix-context.json that ratchet-fix.mjs --apply-decisions wrote — it never re-derives either itself.
  • runs NO evaluator fan-out. There is no propose/verify step; the "did the fix stick?" decision is made ONLY by the scoped ratchet-fix-probe.spec.js, so ui.fix can create ZERO net-new open rows (D-50).

Examples

# Apply the latest sealed round's decisions and finalize
mix accrue_admin.ui.fix

# Preview only — runs apply-decisions --dry-run and stops (no build/commit/probe)
mix accrue_admin.ui.fix --dry-run

# Target an explicit round
mix accrue_admin.ui.fix --round 5