Skip to content

v4.9.0

Latest

Choose a tag to compare

@github-actions github-actions released this 31 Jul 21:52
f7950d5

Minor. Excellent code is a choice, not inertia — the method now asks the question legacy codebases suppress ("what would you build if this code didn't exist?") and gives the architect a citable canon to answer it with.

Added

  • The alternatives clause (KJC-TSK-0696, from proposal KJC-PRP-0011): on legacy codebases agents optimize for local coherence — improving while following the existing line — even when the canonical solution is better. Nothing in the loop asked for the alternative; now the method does. The playbook orders that a non-trivial plan names at least two approaches — one as if the codebase didn't exist — and says why the winner won: following the legacy line is a choice, never a default. kj brief planner and kj brief architect carry the clause where approaches are chosen.
  • The library: distilled engineering canon as a RAG collection (KJC-TSK-0697, from proposal KJC-PRP-0012): kj rag query --library "<problem signature>" serves pattern cards — problem signature, when it beats the default, when NOT to apply it, trade-offs and the canonical citation — so the architect can ground the greenfield alternative in citable canon instead of vibes. Cards live in three places: the canon shipped with kj (library/), yours (~/.karajan/library/) and the project's (.karajan/library/); kj rag index refreshes them into the global store under their own collection (project=library, kind=library — invisible to normal project queries). First shipped card: Lamport's logical clocks; the rest of the canon lands next. Underneath, karajan-core 1.4.0 adds the library kind with a one-time chunks-table rebuild for older stores (SQLite cannot alter a CHECK) and fixes a real FTS5 subtlety: on external-content tables COUNT(*) cannot detect a stale index, so the migration rebuilds it explicitly.