Ship local capability layer (gstack-inspired) — 4 components: aj-check…

Decision

Ship local capability layer (gstack-inspired) — 4 components: aj-checkpoint CLI (companion to existing continuous-checkpoint hook), bench-model CLI (cross-model latency/cost/quality compare), aj-taste skill+CLI+decay-cron (5%/wk preference signal), aj-doc-release skill+CLI+post-ship-hook (deterministic product-doc drift detector). All deterministic (LLM cost only when bench-model invoked), additive-only (no existing infra modified), parity-preserved across dual settings.json configs.

Rationale

Comparison vs garrytan/gstack identified 4 high-value gaps in AJ’s enterprise stack: (a) cross-model cost/quality routing intelligence absent, (b) no soft preference layer with decay (vault/graphiti are permanent), (c) no targeted product-doc drift detector (Pristine Sweep is setup-tree only), (d) gap between auto-firing checkpoint hook and manual checkpoint/recovery CLI. Build held to zero-redundancy (Law 1 catch: continuous-checkpoint hook already existed, built only the missing CLI companion), zero-compromise (DRY_RUN-validated cron, async-detached hook, dual-config parity, NOISE-filtered detection), zero-tech-debt (single 119L topic file vs 4 feedback files = bloat avoided; +1 line in MEMORY.md, 159L well under 200 cliff). Premortem surfaced 6 residual risks worth tracking: NOISE filter tuning for shell-heavy repos, hardcoded decay rate, bench-model token heuristic accuracy, post-ship hook rate-limiting, taste-memory dormancy until skill-integrated, model-slug staleness. None are blockers; all are tunable in-place.

Alternatives Rejected

Outcome

Pending