Repository navigation
v4.49.0
Plans that converge, and gates that stop shouting at kj's own output. Five
field reports against kj plan and the gates around a shared plan, all from
one session: a fix loop that archived what validate rejected and could only
add, a cycle that slipped through to the run, and the privacy and size gates
treating the shared plan as cards and code. With them, the guards absent from
CI are vouched by the roster's signature instead of a known-hash heuristic.
Added
- Guards absent from the checkout are vouched by the roster's signature (KJC-TSK-0877): the Sentinel guards live only on the user's machine, so CI accepted them by a hash kj knows. With the roster's signature verified, the human signed their hashes with the rest of the seal, and that signature now vouches for them; without a roster the heuristic stays, and an unknown guard hash is refused.
Fixed
kj plan fixarchives whatkj plan validateaccepts, and a replacement takes over (KJC-BUG-0314, #2063): validate accepts theskippedstatus the fix loop archives with, the reviewer and the fixer no longer see archived HUs as overlaps, and an addition that says which HU itreplacesinherits its dependencies and takes over its dependents.- A cycle of HU dependencies stops the run and is named (KJC-BUG-0315, #2065): validate names the path (
a -> b -> a) andkj runstops before ordering the HUs instead of falling back to an order silently. kj plan fixremoves dependencies, narrows scopes and rejects cycles (KJC-BUG-0316, #2066): the patch carriesdeps_to_removeandscope_edits, the fixer applies the user feedback and not only the reviewer's findings, with--promptit runs at least once, and an added edge that would close a cycle is rejected and counted.- A kj plan id is not a credit card (KJC-BUG-0317, #2070): the 14-digit stamp in a plan id made a shared plan warn
[creditCard]hundreds of times; the whole plan id shape with a real date is discarded by context, and a card in that slot still warns. - The plan
kj plan sharewrites is generated, not code (KJC-BUG-0318, #2071):pr-sizeand the CI shrink budget leave out.karajan-shared/plans/*.jsonat the project root. - The agent-skills catalog checks out only
skills/(KJC-BUG-0320): kj cloned the whole repo, and with a project-local KARAJAN home the project's test runner ran itsevals/fixtures; the clone is sparse now, and an older full clone narrows on its next refresh. - The playbook's PR budget says it is for code (KJC-BUG-0312, #2059): ~150 net lines of code, with what the gate exempts named.
kj architecttext output renders every section (KJC-BUG-0313, #2061): tradeoffs and API contracts no longer printundefined, and the data model and dependencies have their own sections.
Infrastructure
- Fewer CI flakes (KJC-BUG-0234): every git the suite launches runs without background gc or maintenance (a temp repo kept being written while its teardown removed it), and the doctor test no longer waits out the GPU probe in every case.