Skip to content

Changelog

Changelog

What’s New (last 14 days)

Narrative summary unavailable. See Full history below.

Full history

2026-05

Features

  • wire llms_txt + llms_full_txt generators (WG-49) (#1540)
  • WG-48 wire changelog_generator (#1528) (#1539)
  • wire architecture_doc_generator (WG-47) (#1537)
  • add generators.enabled[] config knob (WG-45) (#1536)
  • Hermes research — operational documentation + label ownership (#1521)
  • Hermes research — Telegram bot handlers (#1520)
  • research bisync wrapper + comment helper (#1417) (#1505)
  • restore codex-wrapper.sh as opt-in adversarial backend (#1458) (#1501)
  • extract fix.md §3.8 recovery search to fix-recovery-search.sh (#1499)
  • add scripts/research-suggest.js (child E of #1380) (#1476)
  • document Hermes research Drive folder setup (#1472)
  • wiki-generator: exempt allowlisted public hosts from secret scan() (#1469)
  • block raw gh issue create to enforce issue-create.js pipeline (#1471)
  • fast-path on-session-start.sh for non-interactive Claude Code invocations (#1466)
  • [wiki-generator] WG-21 — end-to-end integration test (#1467)
  • [wiki-generator] WG-29 — Cost monitor (#1463)
  • Hermes research — polling worker (FIFO + lockfile) (#1455)
  • [wiki-generator] WG-32 — CLI / manual invocation (#1456)
  • [wiki-generator] WG-20 — Orchestrator + DI hooks (#1451)
  • Hermes research issue body validator + GH Action (#1452)
  • [wiki-generator] WG-16 follow-up: harden architecture doc generator (QA gaps) (#1453)
  • Hermes research — headless invocation wrapper (#1449)
  • tighten isPlainObject() in secret_sanitizer opts guard (#1450)
  • paginate wiki-generator issue comments beyond 100 (#1445)
  • [wiki-generator] WG-18 — Hallucination guard con golden snapshots (#1444)
  • WG-14 module doc generator (Sonnet 4.6 medium) (#1430)
  • centralize claude CLI spawn via runClaude helper (#1306) (#1425)
  • dynamic question budget by complexity tier in /jkz:start (#1440)
  • WG-19 publisher modules (#1256) (#1437)
  • harden issue_extractor CLI paths (—cursor / —output) against traversal (#1436)
  • [wiki-generator] WG-34 — Reference & stats pages generator (#1428)
  • WG-17 issue-driven content pipeline (#1429)
  • WG-15 workflow doc generator (#1269) (#1423)
  • [wiki-generator] WG-35 — Changelog generator (What’s New + Full History) (#1422)
  • WG-16 architecture doc generator (#1270) (#1424)
  • [wiki-generator] WG-05 — implementation + PII + issue-log sanitizers + composer (#1400)
  • WG-10 issue extractor + docs-worthy label (#1389)
  • [wiki-generator] WG-04 secret sanitizer + provider regexes + adversarial suite (#1388)
  • WG-25 Pagefind validation via Hermes lite-runner (#1373)
  • [wiki-generator] WG-13 — Output formatters (sidebar + llms.txt + llms-full.txt) (#1365)
  • adversarial-bypass defenses for the alignment validator (#1360)
  • persist background tasks (crons + note) in session snapshot (#1346)
  • validate paths.wikiOutput against directory traversal (#1345)
  • Agent View integration — discoverable subagents + worktree yield (#1344)
  • WG-04 sanitizer helpers (entropy + log + index) [#1294] (#1341)
  • URI-encode firstFile per segment in editUrl (#1340)
  • WG-12 — API reference generator (mechanical, zero-LLM) (#1330)
  • [wiki-generator] WG-04 — Path blocklist (foundation) (#1332)
  • Ollama provider fallback for Gemini-based roles (#1326)
  • Consolidate issue creation into shared script primitive with universal adversarial coverage (#1318)
  • [wiki-generator] WG-31 — State file management & pruning (#1316)
  • WG-08 AST + JSDoc/TSDoc extractor (#1304)
  • [wiki-generator] WG-07 — Core utilities (LLM + GitHub + Telegram + pricing wrappers) (#1298)
  • WG-11 diff & change detection + module hasher (#1300)
  • [wiki-generator] WG-09 — Lightweight extractors (README + changelog + config) (#1299)
  • [wiki-generator] WG-30 — Configuración centralizada de la skill (#1289)
  • issue alignment validator (#1239) (#1241)
  • expand documentation coverage beyond commands/scripts/agents/skills (#1240)
  • sentinel meta-audit layer — detect sycophantic Judge patterns (#1200) (#1229)
  • require L1/L2 evidence before reinforcing PASS patterns (#1231)
  • mutation: triage surviving mutants in scripts/validators/rules/dry-check.js (#1217)
  • add industry ratio benchmarks reference table (#1216)
  • improve test coverage gaps in extract-findings (surviving mutants from Batch A) (#1213)
  • feat(mutation): improve test coverage gaps in slo-check (surviving mutants from Batch A) (#1210)
  • improve normalize-judge-verdict test coverage to 83.19% (#1207)
  • expand Stryker to 4 critical modules (#1185)
  • Batch D+E — analysis & utility modules (cluster-findings, error-grouping, rubric-score, parse-gemini-stream, dependency-resolve, saturation-check, rollback-decision) (#1201)
  • Batch C — validators suite (#1192)
  • Batch A — decision-logic core (vote-resolver, loop-guard, slo-check, plan-digest, extract-findings) (#1191)
  • Batch B — context-protection layer (truncate-output, compress-context, format-patterns, compress-git-output) (#1181)
  • add Division of Labor to Judge, Sentinel, Inspector (#1180)
  • /jkz:cost —attribute — capture orchestrator chat tokens against a PR (#1174)
  • run-research — add HN, GitHub Issues, Lobsters, Dev.to sources (#1179)
  • complete tracing integration – tokens, cost, duration, Doctor nesting (#1130) (#1172)
  • Prometheus /metrics endpoint (#1129) (#1170)
  • per-token scope-based authorization (read/write/admin) (#1169)
  • post cost-report PR comment on every merge (#1166)
  • add HTTP transport with bearer auth to jkz MCP server (#1161)
  • add source field to skill frontmatter (#1160)
  • emit memory/skill events to Telegram in real-time (topic “logs”) (#1159)
  • auto-clean gitignored junk + install post-merge hook (#1157)
  • add cost-report PR comment hook to /jkz:quick and /jkz:qa (#1158)
  • post pipeline cost as PR comment for Hermes Telegram relay (#1156)
  • skill update-readme — 3 parallel agents (#1118) (#1152)
  • skill repo-to-markdown — convert GitHub repos to single markdown for single-pass analysis (#1150)
  • skill update-claudemd — bidirectional CLAUDE.md reconciliation with 7-phase workflow (#1134)
  • skill convert-to-markdown — webpage to markdown via EzyCopy (#1132)
  • skill make-changelog — parallel Haiku subagents per version range (#1133)
  • atomic writes for shared global resources (skills + pipeline state) (#1111)
  • automatic checkpoint snapshots before each pipeline phase transition (#1112)
  • add ac_item_count signal and remove body truncation (#1113)
  • add native GitHub blocked-by relationships via GraphQL (#1110)
  • Periodic exportable memory backups (#1101) (#1109)
  • implement audit log for memory operations (#1098) (#1105)
  • CR history persistence — backfill, post-merge ingestion, and Hermes catchup cron (#1107)
  • add namespace support to memory tool (#1100) (#1108)
  • builder preflight sub-agent validates acceptance criteria before Judge (#1095) (#1104)
  • add version history for memory entries (#1099) (#1106)
  • inject failure taxonomy block into Doctor prompt (#1096)

Fixes

  • wiki-generator: secret_sanitizer high_entropy fallback flags allowlisted-host URL paths (blocks changelog publish / WG-48) (#1550)
  • re-read PR_DIFF_CONTEXT in qa.md §3 defensive block (#1546) (#1548)
  • bind GraphQL Int! variable via gh -F in check-parent-completion.js (#1547)
  • gh-sub-issue / gh-blocked-by GraphQL Int! variable binding (#1545)
  • automated git sync of main on Hermes VPS (#1515) (#1544)
  • hermes-report-wrapper survives foreign-UID-owned report dir (#1543)
  • omit editUrl/deprecated_since when null (WG-44) (#1535)
  • WG-40 infer primitive return types (boolean/number/string) and drop ’: unknown’ in docs (#1519)
  • wiki-generator wraps async return types in Promise<> (#1512) (#1517)
  • wiki-generator: editUrl: null breaks Starlight schema (cross-repo publish) (#1518)
  • WG-37 allowlist project public hosts in secret sanitizer (#1509) (#1510)
  • emit publish paths under wiki/ prefix (WG-36) (#1508)
  • generate /etc/cron.d/jkz from cron-registry.json (#1492) (#1498)
  • wire jkz-docs build to docs.j0kz.dev publish target (#1497)
  • infer returnType for exports without explicit annotation (#1495)
  • add changelog + issueCategories to config schema (#1496)
  • wiki-generator signature blocks emit text language tag (MD040) (#1488)
  • expand glob ignore list to include .next/.cache/coverage/.git (#1485)
  • wiki-generator editUrl wiring leaks private repo and trips sanitizer (blocks #1276) (#1483)
  • show publish section in config debug output (#1481)
  • route publisher to publish.repoUrl, not site.repoUrl (#1480)
  • exclude node_modules/dist/build from modules glob (#1478)
  • accept URL-safe base64 cursor characters (#1477)
  • authenticate LLM client via OAuth, not API key (#1473)
  • add missing run subcommand to wiki-generator cron (#1470)
  • dedupe complexity:* labels in mergeLabels (#1464)
  • [wiki-generator] phaseSanitize reads commit.message but extractor emits commit.subject -> secret scan inert (#1462)
  • [wiki-generator] phaseGuard re-screens trusted frontmatter editUrl -> every generated page fails guard (#1461)
  • [mcp] resolve npm audit vulnerabilities (#1315) (#1454)
  • expand heredoc placeholders so PR diff reaches Lens/Sentinel (#1433)
  • prevent jkz-update tests from overwriting tracked files (T11/T12) (#1411)
  • decode JSON envelopes in extract-comment-block (#1374) (#1409)
  • detach watchdog stdout to prevent command-substitution hang (#1407)
  • worktree post-merge cleanup leaks (3 fixes) (#1403)
  • guard JKZ_GEMINI_MODEL emission with V_GEMINI_API_ENDPOINT check (#1395)
  • replace STATE.json reverse-pointer with GitHub native sub-issues GraphQL (#1396)
  • watchdog for wrapper post-completion hang (#1387) (#1394)
  • build-pr-diff.js regex corrupts patch content (][ → ,), poisons every PR review (#1397)
  • resolve architect deliberation by issue number (#1375) (#1383)
  • replace echo|grep with bash pattern match (fixes two false-negatives) (#1382)
  • bump fast-uri to 3.1.2 and ip-address to 10.2.0 (#1369)
  • pipe PR comment cache via stdin to avoid E2BIG (#1337) (#1342)
  • restore brief metadata + pipeline persistence dropped during #1302 refactor (#1331)
  • use version subcommand and ship sqlite3 in container (#1313)
  • auto-register native GitHub blocked-by + sub-issue relationships at issue creation (#1286) (#1305)
  • add pr-merge-label-sync workflow (#1292) (#1297)
  • make cost-report relay first-writer-wins (#1291)
  • bake complexity:* into gh issue create via shared helper (#1234)
  • doc-sync: implement issue creation when discrepancies detected (#1235)
  • post comment without token data + orchestrator attribution in quick (#1212)
  • migrate agent emails to j0kz.dev domain
  • persist webhook [SILENT] patch and jobs.json ownership across rebuilds (#1162)
  • /jkz:quick lock TTL + PR-number cascade for agent worktrees (#1153)
  • restore test suite — fix 24 pre-existing failures (#1147) (#1151)
  • task-discovery skips complexity label on non-high confidence (#1149)
  • Telegram bot: race condition in checkpoint approval (callback + reply) (#1141)
  • telegram-bot sendMessage truncation strips parse_mode and logs tgApi failures (#1145)
  • Telegram bot: pendingIdCounter resets on restart, IDs collide with previous-session buttons (#1144)
  • correct phase ordering + restore computeCost fallback (#1139)
  • route adversarial detection through resolve-wrapper.sh (#1128)
  • use exit 2 for runtime errors in orchestrate and jkz-update (#1123)

Refactors

  • extract qa.md §1 context-gathering into qa-gather-context.sh (Pattern B, #1358) (#1538)
  • extract §1.6 failure classifier to Pattern B library (#1357) (#1522)
  • wire per-folder bisync after research-comment (#1507)
  • extract §1.3 flaky classifier to scripts/lib/fix-classify-flaky.sh (#1502)
  • extract Auditor dispatch to scripts/lib/plan-invoke-auditor.sh (#1352) (#1500)
  • mode-aware postcondition checks (fixes #1406) (#1489)
  • extract fix.md §7.3 journal renderer to scripts/lib/fix-journal-update.sh (#1446)
  • triage 2026-05-11 entropy scan (#1339) (#1438)
  • release worktree lock in /jkz:quit when pipeline approved (#1432) (#1434)
  • migrate non-skill callers to issue-create.js (#1426)
  • shift-left engineering disciplines (named exceptions, shadow paths, retro check) (#1408)
  • docs(index): restructure INDEX.md by Diátaxis quadrant + tracked gaps (#1404)
  • extract section 1.8 memory queries into fix-query-memory.sh (Pattern B pioneer) (#1355) (#1385)
  • extract Architect prompt §3 assembly to scripts/lib/plan-build-architect-prompt.sh (#1384)
  • extract §3 Lens + Sentinel dispatch to scripts/lib/ helpers (#1381)
  • port tier-guard + triage detection from legacy issue.md (#1324)

Other

  • use authenticated gh bootstrap for private-repo install (#1563)
  • remove orphan wiki-sync.yml workflow (#1503)
  • wrap nested fence in module_doc.md prompt (#1442) (#1475)
  • broaden AC-7 isolation discovery to .mjs/.cjs (#1474)
  • cover server-side cursor-error fallback in issue_extractor (#1468)
  • update wiki-generator deps (ts-morph v28, octokit v5, anthropic-sdk 0.95) (#1465)
  • [wiki-generator] WG-28 — CI quality gates suite + llms.txt validator (#1448)
  • [wiki-generator] WG-22 — Hermes task config (#1457)
  • cover PERSIST_ERR write-failure branch (T9) (#1447)
  • add deepseek-v4-pro and kimi-k2.6 cloud pricing (#1443)
  • migrate validator default from 3.1-pro-preview to 3.5-flash (#1439)
  • bump the minor-and-patch group with 4 updates (#1402)
  • bump the minor-and-patch group across 1 directory with 2 updates (#1435)
  • translate ADR-008 headers to English (#1379) (#1410)
  • adopt Ollama Cloud as documented default for Curator + Research-Reviewer (#1363) (#1378)
  • Diátaxis classification of 172 markdown files (#1372)
  • add Diátaxis index audit and refactor plan (#1368)
  • add backup recovery walkthrough (#1296) (#1366)
  • cover pageNameForDir for multi-segment dirRel (#1335) (#1359)
  • stop hardcoding JKZ_CODEX_MODEL in managed env block (#1362)
  • script-extraction plan for jkz command refactor (#1361)
  • cover strict ISO-8601 now rejection paths (#1348)
  • extend provider abstraction plan with Task 6 (doc-reviewer issue) (#1347)
  • provider abstraction design + 5-issue implementation plan (#1343)
  • align mocks with create-issue-with-complexity helper (#1338)
  • bump the minor-and-patch group with 2 updates (#1328)
  • bump @hono/node-server from 1.19.14 to 2.0.2 in /mcp (#1329)
  • bump @types/node in /mcp in the minor-and-patch group (#1327)
  • document DEPLOY_WEBHOOK_URL secret in runbook (#1325)
  • close test, migration, and dead-code gaps from #1302 refactor (#1323)
  • backfill native GitHub relationships for wiki-generator issues (#1322)
  • Hermes VPS backup with restic + GDrive (14d/4w/3m) (#1296) (#1310)
  • strip Codex as default runtime backend (#1308)
  • [wiki-generator] WG-27 — GitHub Wiki sync action (#1301)
  • WG-33 skill versioning + CHANGELOG (#1246) (#1290)
  • WG-03 Telegram topics + WIKI_BOT_TOKEN runbook (#1244) (#1288)
  • WG-02 skill scaffolding (#1243) (#1285)
  • extend wiki-generator v3.1 with WG-34/WG-35 and 05:00 schedule (#1284)
  • doc-sync: sanitize MCP scanner args to avoid surfacing potential secrets (#1281)
  • add wiki-generator pipeline plan v3.1 (#1275)
  • trivial follow-ups from #1223 QA (L1, L2) (#1280)
  • add Conway’s Law mapping to README and explainers (#1238)
  • remove quantconnect server (#1237)
  • mutant-driven tests — raise score from 19.72% to 95.77% (#1232)
  • triage surviving mutants in dependency-resolve.js (88% -> 92%) (#1236)
  • rubric-score.js triage — Batch D+E (56→96%) (#1230)
  • improve error-grouping.js mutation coverage (#1224)
  • triage surviving mutants in capabilities.js — achieve ≥80% score (closes #1198) (#1219)
  • mutant-driven tests — raise score from 37.67% to 95.21% (#1218)
  • triage surviving mutants in test-coverage.js (>=80% gate) (#1220)
  • improve validators/run.js mutation coverage to 81.37% (Batch C) (#1215)
  • add tests to kill plan-digest.js surviving mutants (#1214)
  • improve loop-guard.js mutation coverage (#1211)
  • improve vote-resolver mutation coverage (issue #1186) (#1209)
  • improve step-gate.js coverage to 87.63% (#1208)
  • improve mutation coverage for parse-body-deps.js (#1206)
  • add tests killing 19 surviving mutants (mutation score 56.82% -> 100%) (#1171)
  • bump the minor-and-patch group across 1 directory with 2 updates (#1148)
  • verify j0kz.dev attribution
  • add ADR-008 and ignore Python bytecode (#1168)
  • harden migration safety scanner (Judge LOW findings, #1164) (#1165)
  • add SQLite migration safety gate to CI (#1124) (#1163)
  • document source-availability reality (#1121) (#1154)
  • spike mutation testing on atomic-write.js (Stryker) (#1143)
  • refactor: condense CLAUDE.md — remove redundant one-liners, establish 130-line ceiling (#1131)

2026-04

Features

  • rollback support for jkz update (—version, —list, —previous) (#1087)
  • add chore as first-class issue type (#1072) (#1086)
  • per-project version pinning via .jkz-version (#1066) (#1085)
  • CI gate: validate tags before publishing GitHub Release (#1084)
  • publish tarball + SHA256 to GH Releases, verify on update (#1083)
  • adopt tagged releases for jkz update (#1077)
  • CR thread resolution gate + atomic resolve helper (#1075)
  • add per-type issue templates and load them in /jkz:issue (#1080)
  • Adopt Keep a Changelog + explicit semver policy for jkz (#1079)
  • extract shared git-root wrapper to dedupe settings.json prefixes (#1073)
  • harden per-project sub-containers for non-root UID (#1060)
  • hermes(docker): run container as non-root user (#1051)
  • global workspace mode — multi-project desktop view (#993) (#1045)
  • add typed pushEvent API for one-shot frames (#1048)
  • cloud relay client refactor + relay contract docs (#1032)
  • installer for jkz-multi-agent skill and jkz-dev profile (#1034)
  • on-demand /jkz:cost skill with CR overhead tracking (#1031)
  • sync token_usage to Hermes + phase breakdown (#1030)
  • add isRefetching state to useGraph for polling UX (#1014) (#1023)
  • add rate limiting to /api/graph endpoint (#1022)
  • cloud relay hook — outbound WSS to ContentCurator (#1020)
  • pipeline graph view — D3 force-directed graph with dependency visualization (#1008)
  • e2e Opus cost tracking via SubagentStop hook + pipeline skill fallback (#1012)
  • monitoring panel — rate limits + active sessions (#1006)
  • knowledge base viewer — deliberations, patterns, memory (#992) (#1007)
  • Hermes post-merge cost report to Telegram topic (#1005)
  • Chat isolation activation: inject worktree-gate into pipeline commands (#1002)
  • native worktree isolation for pipeline commands (per-issue) (#999)
  • formalize shared state schema + Zod validation (#995)
  • Chat isolation foundation: worktree-gate + chat-registry integration (#996)
  • add xAI text-to-speech integration for on-demand text reading (#987)
  • interactive triage in Hermes task discovery (#984)
  • hybrid LLM+deterministic issue classifier (#982)
  • pipeline notifications to Telegram Pipeline topic (#981)
  • Telegram output quality for Maintenance (thread 33) (#980)
  • Telegram output quality for System Health (thread 29) (#978)
  • cron expansion — interactive commands, reaction chaining, and docs (#973)
  • route monitoring alerts and task discovery to forum health topic
  • pin opus versions and raise effort levels (#966)
  • add /jkz:new-chat command for parallel session isolation (#940)
  • surface retry count and per-call input tokens (#935)
  • Stage 0 confirmation UX — yes/no/adjust checkpoint after CAPM compute (reapply of #924) (#928)
  • Stage 0 confirmation UX — yes/no/adjust checkpoint after CAPM compute (#924)
  • run-research safer download-review-execute installer flow (#925)
  • add local sound notification on idle_prompt and permission_prompt (#919)
  • contradiction detection in knowledge_base before upsert (#916)
  • replace free-text deliverables with numbered menu in SCOPE phase (#913)
  • ask research type before topic in SCOPE phase (#910)
  • port extract-learnings skill from Claudest (#906)
  • agent calibration loop — /jkz:calibrate command (#904)
  • configurable penalty weight for false positives in feedback-loop (#903)
  • dynamic token budget for format-patterns based on remaining prompt space (#905)
  • port get-token-insights analytics skill from Claudest (#893)
  • YAML role metadata for validator agents (prerequisite for calibration) (#894)
  • port run-research skill from Claudest (yt-dlp inline) (#892)
  • port recall-conversations skill + memory-auditor / signal-discoverer agents (#861) (#896)
  • implement conversation transcript DB (claude-memory foundation) (#897)
  • research: derive CoE/WACC bottom-up as stage 0 (Analyst, not user input) (#882)
  • port improve-skill + create-agent from Claudest (#885)
  • port create-skill + repair-skill from Claudest (#883)
  • add response cache (TTL 1h) (#884)
  • invoke yahoo-finance/octagon/fred MCPs on-demand via Node proxy (#880) (#881)
  • Implement derivative research type in /jkz:research (#875)
  • add JKZ_CACHE_TTL_1H support for 1h prompt cache TTL (#856)
  • memory curation — 5-signal scorer and creation gate (#849) (#854)
  • chat-search tier-1 verify CBM index contents and freshness (#853)
  • Integrate codex-connector bot reviews into CR fix flow (#850)
  • CR: /chat context subcommand should surface amplio retrieval results (#844)
  • /chat subcommand UX — pin, response splitting, Markdown polish, full help (#843)
  • /chat session persistence — save/load/list/delete/export/search (#837)
  • semantic retrieval for /chat amplio context (#818) (#832)
  • add Polygon and QuantConnect MCP servers to research stack (#823)
  • /chat core engine — Haiku→Sonnet pipeline, write-through persistence, basic subcommands (#825)
  • test coverage for _ui/ server pipeline-reader and frontend hooks (#541) (#824)
  • CBM discovery + already-implemented check in /jkz:issue (#814)
  • doc-sync —apply mode — auto-update marked sections post-merge (#809)
  • DRACO query augmentation pipeline for /jkz:research (#573) (#806)
  • CBM auto-index staleness check — session start and pipeline commands (#807)
  • /jkz:ask + consultant role — direct model consultation (#805)
  • add agent YAML definitions and deploy script (#808)
  • hybrid search (vector + BM25/FTS5) for pattern retrieval (#799)
  • pause/resume CodeRabbit around Doctor commits (#802)
  • memory-curate.js — redundancy check + structure linter (#800)
  • Improve dependency diff accuracy: use npm audit fix —force —dry-run —json if available (#796)
  • add @cyclonedx/cyclonedx-npm as optionalDependency (#703) (#792)
  • /jkz:quality — expand to 13 categories + async/parallel execution + health report (#550) (#787)
  • outcome-based pattern scoring (#785)
  • supply-chain research type for /jkz:research (#782)
  • task-specific weighted rubrics for /jkz:research (#575) (#780)
  • ingest CR learnings into memory-store (#781)
  • Magic Docs — documentos auto-actualizados con markers (#772)
  • research pipeline — structured intake & output enhancements (#776)
  • mesh topology for jkz — read-only mesh + parallel gates + Byzantine voting (#641) (#765)
  • provider quota awareness — dynamic routing based on Codex quota state (#759)
  • attribution marker in assistant-posted GitHub comments (#728) (#755)
  • persist Doctor diagnostic reasoning between fix iterations via jkz:diagnosis-json signal (#752)
  • add —fix, —force, —preventive modes to deps-audit with MIGRATION_HINTS (#744)
  • smart error-type retry in wrappers (complement stall detection + rate-limit retry) (#738)
  • SCOPE enhancements — confidence scoring intake gate + source weights (A+B) (#743)
  • AUDIT/OUTPUT enhancements — contradictions + knowledge gaps (Features C+D) (#742)
  • Byzantine voting for Judge and Sentinel (2-of-3 majority) (#734)
  • Memory Dream — auto-consolidación de memoria con Haiku (#732)
  • add /jkz:ship ad-hoc QA + commit workflow (#735)
  • Governed Learning Layer Runtime Integration (#719)
  • verify pipeline PR merge state and issue closure (#725)
  • CR Pass Gate — formal QA gate for CodeRabbit findings (#717)
  • capture test gap findings and create jkz:ready issues post-merge (#723)
  • CR pipeline integration redesign — 3 checkpoints, thread resolution, quota control (#721)
  • Shadow Mode + Pattern Attribution (#666) (#711)
  • improve memory promotion criteria and integrate into /jkz:quit (#714) (#715)
  • generate implementation checklist on plan approval (#713)
  • Pattern Lifecycle Governance (#665) (#710)
  • security hardening — supply chain audit + compliance tiers (#700)
  • jkz:quit: check for unresolved CR findings on active pipeline PR before shutdown (#698)
  • make fallback effort and thinking configurable from .env (#696)
  • Merge + Post-Merge Outcome Tracking (#692)
  • Semantic git output compression in build-pr-diff.js (#691)
  • commands respect fallback_provider via resolve-provider-fallback.sh (#693)
  • MCP profiles — fix enableAllProjectMcpServers override + hardened toggle-mcp.js (#684)
  • Session Memory — resumen incremental de sesión con Haiku (#599) (#683)
  • dynamic compact instructions via InstructionsLoaded hook (#682)
  • staleness warnings for memory files (#674)
  • add AST-based large file context helpers (#661)
  • inject CR Plan into Auditor and Curator prompts (#654)
  • dynamic ground-truth injection for long-running agent loops (#653)
  • turn counter notification + lock purge (#655)

Fixes

  • pin compatible versions and add uv support to install script (#1088)
  • stdin prompt delivery and external model guards (#1082)
  • harden cleanup-merged with defense-in-depth safety guards (#1074)
  • STATE.json stale active_agent breaks Opus token tracking (#1076)
  • make CR pre-push CLI-primary and parse Type:potential_issue (#1078)
  • token_usage skips Opus subagents and review/QA wrappers (#1050) (#1058)
  • canonicalize hook server paths and warn on parallel-clone mismatch (#1059)
  • replace inline gh-token example with env-var pipe pattern (#1057)
  • hermes(docker-compose): remove unconditional docker.sock mount (#1053)
  • invoke context-safety hooks independent of cwd (#1037) (#1049)
  • prevent cross-host duplicate issues (#1046)
  • graceful exit when no git root in hook commands (#1033)
  • wire Telegram config + backfill script (#1029)
  • resolve entropy scan findings (issue #1021) (#1024)
  • remove npm cache from outcome-close workflow (#1016)
  • prevent CWD drift in all hook commands + node_modules symlink for worktrees (#1015)
  • detect all Blocked-by prerequisites + backfill jkz:blocked label (#1010)
  • route Telegram notifications to group topic (#1009)
  • enforce defensive patterns in infra scripts (#974)
  • headless pipeline invocation for Hermes container (#967)
  • extract verdict from response text in store-deliberation (#971)
  • update deprecated gemini-3-pro-preview in .env.defaults (#957)
  • use -p flag for non-interactive prompt delivery (#959)
  • replace deprecated gemini-3-pro-preview with gemini-3.1-pro-preview (#955)
  • CR follow-up on #941 — document —from flag and harden file copy (#946)
  • normalize terminal phases + coerce review_fix_count (#934)
  • recover verdicts missed by strict bold-only regex (#931)
  • refresh hook_executions on re-import (#930)
  • address post-port code quality issues in memory scripts (#899) (#926)
  • migrate polygon to mcp-massive v0.9.0 (rebrand) (#921)
  • quote descriptions containing unescaped colons (#918)
  • conform descriptions to Anthropic skill format (#917)
  • exclude worktree dirs from dry-check scan, replace em dashes (#872) (#911)
  • sync is_error on re-import for mid-flight tool calls (#909)
  • use .jkz-cbm-project-id anchor file for stable project name across mount paths (#890)
  • use portable path for .jkz permission entry (#889)
  • address out-of-scope findings from PR #843 (#851)
  • remove confirmation prompts from /jkz:quit
  • CI status check treats skipping/neutral as non-failure (#840)
  • chat-engine bugs and SLO string concat overflow (#836)
  • remove phantom MCP servers from RESEARCH_SERVERS and docs (#833)
  • inject PR body into review and QA agent prompts (#831)
  • resolve-cr-threads.sh —retry to handle REST-to-GraphQL propagation delay
  • warn when classify-issue confidence is not high (#821)
  • prevent double-count in cbm-index-check.js when timestamp is malformed (#811) (#820)
  • add projectId scoping to KNN-only pre-filter in queryPatterns (#813)
  • Telegram notification improvements — idle spam filter + enriched checkpoints + semantic routing (#812)
  • remove touch bash call from save.md to avoid permission prompt
  • add npm overrides to resolve transitive dep vulnerabilities (#798)
  • add npm overrides to resolve transitive dep vulnerabilities (#797)
  • smarter compliance floor, signal-based fallback, direct API call (#793)
  • register ignored attribution state on pipeline FAIL in feedback-loop.js (#794)
  • scope lockfile hash path by project in checkLockfileIntegrity (#791)
  • replace em-dashes (U+2014) with — in comments and strings (#789)
  • check circuit breaker after quota routing, not before (#775)
  • exclude worktrees dir from file collection (#788)
  • re-classify errors after context-overflow retry (#786)
  • detectTyposquatting returns skipped:true when assets file missing (#783)
  • wait for CodeRabbit to complete before fetching PR threads (#778)
  • early-abort on exit code 2 for non-retryable failures (#773)
  • create complexity labels before applying them to issues
  • write Judge checkpoint after wait in parallel mode (#768)
  • correct glossary findings from Codex audit (#760)
  • inject CURATOR_PLAN and AUDITOR_BLIND via printf after heredoc (#754)
  • execute qa.md steps 1-5.8 to include CR Pass Gate (#746)
  • improve classify-issue scope calculation and embeddings dimensions support (#737)
  • correct step-gate require call for cr_pass_gate
  • add || true to triage grep to prevent set -e failure on no match
  • fetch live PR state before /jkz:save to prevent stale context.md (#731)
  • sanitize —pr argument against path traversal in extract-test-gaps.js (#726)
  • support —delib-file flag in codex-wrapper and gemini-wrapper (#724)
  • resolve CR findings from PR #711 (#716)
  • enforce PR closing keyword verification in build and quick pipelines (#709)
  • verify OOS findings still exist before creating issue (#701)
  • emit project name at session start; remove velocity default cap (#694)
  • seed iteration 1 from existing CodeRabbit bot comments (#690)
  • add PR status check on session shutdown (#689)
  • resolve WSL/Windows path mismatch in test suites (#687)
  • portability and install bugs (#681)
  • portability and install bugs (#678)
  • fallback for import.meta.dirname undefined in esbuild bundles (#677) (#679)

Refactors

  • extract duplicated issue-type detection into shared skill (#1081)
  • address legitimate findings from entropy scan #1027 (1 stub + 2 test gaps) (#1047)
  • add tests for scripts/memory_lib (issue #953) (#1018)
  • fix entropy scan false positives (17 findings) (#1019)
  • split rate-limits.ts into focused modules (#1011) (#1017)
  • triage entropy scan false positives + add test coverage (#956) (#1000)
  • rename _ui/ to ui/ (#986)
  • replace em-dashes with — in source files (#923) (#929)
  • update Opus agent prompts for Claude Opus 4.7 behavior shifts (#922)
  • explicit layer ordering in prompt assembly (#908)
  • forward config excludePaths to dry-check collectFiles (#842)
  • uncertainty-based complexity classifier, unify trivial/quick/standard terminology (#839) (#855)
  • extract run_codex_exec helper in codex-wrapper.sh (#852)
  • separate Pipeline Judge (codex exec) from Codex PR Review (GitHub) (#845)
  • remove Phase 2 LLM call, return signals only (#829)
  • replace word tokenization with character trigrams in M1 classifier (#822)
  • fix entropy scan false positives and consolidate TEST_FILE constant (#804)
  • DRY timeline regex, flat-dir test detection, em-dash fixes (#774)

Performance

  • integrate context-mode MCP in research pipeline to reduce token accumulation (#741)
  • focused diff — cap total output, add prev-fix-file support (#733)
  • focused diff for Doctor on iteration 2+ (#647) (#688)
  • optimize model usage in CR triage and ambiguity gate (#675)

Other

  • bump actions/checkout from 4 to 6 (#1093)
  • bump actions/github-script from 7 to 9 (#1092)
  • bump softprops/action-gh-release from 2 to 3 (#1091)
  • bump actions/setup-node from 4 to 6 (#1090)
  • bump trufflesecurity/trufflehog (#1089)
  • disable cleanup-merged on session start (urgent, blocks #1055)
  • drop redundant top-level worktree-gate, switch in-session via EnterWorktree (#1052)
  • work-on-issue mandatory sequence rule (#1044)
  • cover research-output-gws.js and residual low-coverage files (#1004)
  • add component, page, and routing tests for ui/src (#952) (#997)
  • Add tests for get-token-insights/scripts (2090 LOC, from #936) (#998)
  • add tests for create-skill scripts + resolve TODOs (#950) (#988)
  • update classifier documentation for hybrid LLM+deterministic approach (#983)
  • add global positive-guidance rule (#975)
  • bump knip in the minor-and-patch group (#972)
  • align prose with ‘quick’ complexity tier nomenclature (#954)
  • branch coverage for monitoring-checks.js and research-capm-compute.js (#947)
  • cover feedback-loop and research-state CLI branches (#943)
  • cover pattern attributions and contradiction resolution (#941)
  • coverage for memory-curate branches and update-agent-calibration (#939)
  • cover session handlers, CLI, and main flow (#938)
  • coverage for deps-audit CLI branches and doc-sync scanner (#937)
  • bump the minor-and-patch group with 4 updates (#933)
  • bump typescript in /mcp in the minor-and-patch group (#932)
  • Revert “feat: Stage 0 confirmation UX — yes/no/adjust checkpoint after CAPM compute (#924)” (#927)
  • Adopt Opus 4.7 prompt patterns: severity, no-narration, default stance, Step 0/1 routing (#914)
  • document shallow-reasoning effort escalation for Opus 4.7 (#915)
  • clarify phase status and schema mapping in plan-ui-jkz (#912)
  • UI plans (jkz + ContentCurator) + python antipatterns reference (#902)
  • normalize .js/.cjs/.mjs to LF in .gitattributes (#878)
  • bump the minor-and-patch group with 2 updates (#871)
  • bump @types/node in /mcp in the minor-and-patch group (#870)
  • add derivative research type plan (#874)
  • clarify required vs optional research MCP servers (#835)
  • add /chat Telegram feature design plans (#815)
  • assert attribution state stays injected on PASS verdict (#795)
  • add retry_with_backoff tests covering early-abort on exit 2 (#779)
  • translate remaining Spanish strings to English (#771)
  • translate .claude/skills/ to English (zero regression) (#769)
  • translate global/commands/ to English (zero regression) (#767)
  • translate decisions, integrations, UI roadmap, and research templates to English (#766)
  • translate all project content to English (#764)
  • add glossary, pipeline-internals TOC, and ADR index in INDEX.md (#756)
  • navigation improvements (usage-guide, troubleshooting) (#753)
  • restructure agent-definitions.md with navigable headings (#751)
  • improve navigation and deep-dive internals (#747)
  • add enforcement note for FALSE_POSITIVE two-step workflow (#707)
  • allow Edit/Write on .claude/** and agents/** without permission prompt (#708)
  • daily artifact cleanup cron + gitignore test temp patterns (#705)
  • allow codebase-memory MCP tools and fix save.md write precondition
  • bump the minor-and-patch group in /mcp with 3 updates (#685)
  • bump the minor-and-patch group with 3 updates (#686)
  • Feat/notification and session duration (#676)
  • add honest escalation rule for Doctor iterations
  • add grounding skill for core opus agents (#672)
  • Add execution spine telemetry and handoff continuity flows (#668)
  • Feat/mcp profiles (#662)
  • bump dorny/paths-filter from 3 to 4 (#651)
  • bump actions/setup-node from 4 to 6 (#650)
  • bump actions/checkout from 4 to 6 (#649)
  • bump trufflesecurity/trufflehog (#648)

2026-03

Features

  • detect verdict_conflict in review and QA phases (#633)
  • add ReasoningBank RETRIEVE step (#636)
  • token consumption optimizations + CC-inspired improvements (#632)
  • away summary + agent progress (CC-inspired) (#622)
  • expand secret scanner with 5 new provider patterns (#591)
  • awaiting-input Telegram alerts + session duration tracking (#590)
  • saturation test for overly permissive rubrics (#589)
  • FTS5 trigram search in memory-store.js (#588)
  • hash-based cache invalidation for pattern summaries (#586)
  • auto-extract learnings on /jkz:quit via Haiku (#584)
  • dedup check in storePattern() via Jaccard similarity (#583)
  • skip-limit counter for auto-cleanup of stale patterns (#543) (#585)
  • integrate codebase-memory-mcp as structural knowledge graph (#582)
  • 3-path context injection in format-patterns.js (#579)
  • rubric scoring with weighted criteria (DRACO formula) (#572)
  • auto-resolve CodeRabbit review threads after fixing (#571)
  • plan digest pre-compilation for downstream agents (#568)
  • enrich /jkz:issue with codebase context + architect evidence rule (#569)
  • file digest caching for agent context across iterations (#567)
  • reorder Builder prompt for server-side cache hits (#566)
  • deliberation caching by diff hash (#564)
  • CodeRabbit scan caching by commit SHA (#562)
  • pre-validated checks caching by diff hash (#561)
  • complexity classification fallback in pipeline entry points (#563)
  • add memory health warnings on session start (#554)
  • per-role provider fallback con cascada configurable (#540)
  • extend quality-scan with 5 new chore categories (#524) (#526)
  • subir cobertura de tests a 85% (statements, branches, lines) (#516)
  • mejorar informes Google Drive para research (Doc profesional + Sheets interactivas) (#514)
  • /jkz:commit — CR fix loop pre-push for ad-hoc commits (#501)
  • Visual Verification Pipeline — pass e2e screenshots to AI models (#499)
  • flaky test classification + formalized stop conditions in fix cycle (#498)
  • migrate research output to Google Workspace (gws CLI) (#500)
  • ontología de patterns + evidence tagging en research (#497)
  • phase timing + token tracking for dev and research pipelines (#490)
  • skill template based on TypeUI format (#495)
  • strengthen agent prompts — signal words, positional audit, model tendencies, MiniMax guidance (#488)
  • guard-destructive DB + Docker/K8s patterns (#421, #422) (#484)
  • Hardening hooks + CVE awareness + Smart Explore (#473)
  • align audit-permissions patterns with guard-destructive blocklist (#464)
  • Ollama lifecycle manager with reference counting (#460)
  • enhanced status line, context guardian, permission audit (#458)
  • memory curation skills + skill security auditor (#436)
  • Builder pre-push validators, repo structure map, entropy scan (#418) (#456)
  • two-phase degradation + role-aware strategies (#423)
  • headless AskUserQuestion via PreToolUse hook updatedInput (CC 2.1.85) (#413)
  • register jkz as Codex plugin for adversarial roles (Codex 0.117.0) (#411)
  • evaluate Codex sub-agents with path-based addressing for modular reviews (#412)
  • prioritize coderabbit:code-reviewer Agent in pipeline (#390)
  • Ambiguity Gate — proactive ambiguity detection at pipeline checkpoints (#386)
  • add /jkz:research command for financial research pipeline (#382)
  • issue complexity classifier with smart pipeline routing (#383)
  • research-output.js deliverable generator (#380)
  • templates + agent definitions para /jkz:research (#375)
  • add CodeRabbit local pre-push scan (step 4.5) (#376)
  • MCP finance servers + exceljs for /jkz:research (#374)
  • MiniMax M2.7 integration for adversarial roles (#362)
  • persistent store for researched ideas (#355)
  • apply Anthropic skill best practices (#354)
  • add context: fork to isolate heavy skills in subagents (#353)
  • add context: fork to isolate heavy skills in subagents (#350)
  • per-backend approver ID prompts in installer wizard (#338)
  • jkz update descarga desde GitHub + install limpio (#333) (#334)
  • clean install manifest + jkz update downloads from GitHub (#330)
  • harden jkz init/update (smoke test, atomic writes, tests, docs) (#325)
  • context-aware auto-save Stop hook (70%/85% thresholds) (#321)
  • fix pattern learning loop (#316)
  • improve save/load with rich context and per-chat snapshots (#317)
  • add project_id scoping to patterns table for per-project isolation (#318)
  • Haiku Transform Layer — plan-digest.js (gated, additive) (#300) (#313)
  • Spec Completeness Analysis — Architect Step 0 (32 dimensiones, adoption map, spec fidelity) (#305)
  • quality-scan —learn flag for pattern learning (#271) (#302)
  • optimización de costos — tier de modelos y fallback cross-provider (#292) (#299)
  • /jkz:quality — on-demand project quality scanner (#296)
  • bugs-scan.js — excluir test fixtures, allowPaths, async perf (#295)
  • integrar Context7 MCP en pipeline (pre-build, pre-fix, skill) (#290)
  • /jkz:bugs — Bug Finder en 3 niveles (Quick/Deep/Full) (#288)
  • Cross-Chat Awareness — chat registry + auto-context + /jkz:quit (#275) (#284)
  • Librarian Agent — knowledge broker centralizado (#276) (#285)
  • doc cache con fallback escalonado (stdin → cache → HTTP) (#282)
  • Session Survival — pm2 ecosystem config for persistent daemons (#278)
  • Deslop validator (ai-prose, diff-safe) (#283)
  • Project Scanner + Mapping (project-profile.json) (#281)
  • jkz update — sync frozen artifacts in plugin projects (#279)
  • AI traces validator + prompt injection defense + no-fabrication stability rules (#274)
  • robustizar skills con companion files y ${CLAUDE_SKILL_DIR} (#264)
  • auto-infer issue type from content in /jkz:issue and /jkz:start + fix qa.md detection (#265)
  • /jkz:e2e — agentic E2E UI testing (#257) (#263)
  • informed edges — evidence-based cross-role pattern affinity (#253) (#260)
  • skill discovery via /jkz:insights —skills (#255) (#261)
  • context inference — classify findings before asking in start/refine (#254) (#259)
  • hook server startup lock — atomic cross-platform duplicate prevention (#246)
  • adaptive KNN pre-filter with sqlite-vec for queryPatterns (#164) (#249)
  • LangFuse metrics UI for pipeline observability (#137) (#247)
  • declarative automations framework — final fixes (#142) (#250)
  • declarative automations framework — integrations (#148) (#242)
  • kanban board + goal tree — real-time pipeline view (#155) (#244)
  • cross-role pattern discovery via KIND_MAP (#163) (#241)
  • harden threat model against prompt-state poisoning (#240)
  • HTTP hook server for centralized observability (#152) (#215)
  • Beads design patterns — desire paths, section markers, agent mode (#169) (#238)
  • Experiment Journal + Post-Verdict Rollback (#168) (#236)
  • LangFuse UI integration — pipelines list, detail, metrics (#141) (#232)
  • add duration_ms to wrapper outputs for agent response time analytics (#216) (#235)
  • declarative automations — built-in actions (#147) (#231)
  • /jkz:resume — pipeline diagnosis and smart resumption (#223) (#233)
  • citation accuracy tracker en convergence-metrics (#167) (#230)
  • persistent threat model — cross-pipeline STRIDE accumulation (#151) (#218)
  • semantic routing para memory store (#162) (#210)
  • goal ancestry — GitHub sub-issues + pipeline state sync (#154) (#221)
  • verdict-blind prompting for validators (anti-groupthink) (#212)
  • trends and historical comparison for /jkz:insights (#157) (#220)
  • /jkz:issue — create issue from plan or text (#175) (#214)
  • event-driven CodeRabbit plan injection during planning phase (#209)
  • issue locking — prevent concurrent pipelines on same issue (#208)
  • echo behavior detector in convergence-metrics (#166) (#207)
  • error grouping integration in postmortem (#156) (#206)
  • analytics anti-bias improvements (#160, #161, #156, #165) (#205)
  • declarative automations framework core (#204)
  • JKZ_AUTO_APPROVE flag for pipeline checkpoint auto-approval (#202)
  • agreement rate monitoring (anti-groupthink) (#200)
  • auto-close parent issues when all children complete (#199)
  • inject fix_memory into Doctor prompt (#196)
  • Dependabot grouping, safety check, and CodeRabbit review (#189)
  • GitHub reaction-based approval polling for pipeline checkpoints (#184)
  • iterate CodeRabbit plan via Implement iterative refinement of CodeRabbit plans with feedback loop before Architect (#178)
  • LangFuse backend proxy with rate limiting (#145)
  • inject CR issue plans as Architect context (#139)
  • LangFuse observability tracing backend (#124)
  • stall detection, blocker eligibility, continuation turns, auto-cleanup (#122) (#123)
  • Mission Control sync adapter (#121)
  • web UI phase 2 — interactive chat via WebSocket + Agent SDK (#119)
  • web UI phase 1 — read-only session viewer (#115)
  • assemble-prompt centralization + heartbeat crash recovery (#107)
  • Kind.Agent classification, configurable retry, ultrathink, and CR fix loop (#105)
  • add /jkz:dev-self-review pre-PR consistency check (#106)
  • automate CHANGELOG and timeline generation (#104)
  • schema v4 — recency decay invariant + deliberation FTS (#81)
  • quality gates PR 1 — perf-quick + gitleaks + schedule integration (#87)
  • deduplicación cross-pipeline de findings (#85)
  • multi-stage clustering de findings para el Doctor (#84)
  • file locking completo en json-helper.js (#82)
  • add S1-S4 severity taxonomy to monitoring alerts (#83)
  • integrate web-quality-skills into jkz QA pipeline (#79)
  • CR reconciliation with OUT_OF_SCOPE + post-QA step (#72)
  • deep agents — 5 proposals for enhanced inter-agent communication (#71)
  • migrate shared contexts to native Claude Code skills (#70)
  • cross-phase feedback loop with root-cause analysis + smart maintenance (#69)
  • cross-phase feedback loop with structured root-cause analysis (#66)
  • step-gate enforcement for pipeline step sequencing (#68)
  • add branch discipline rule for ad-hoc work (#63)
  • pipeline improvements from codepen-extractor retrospective (#62)
  • context management + pattern learning loop (#59)
  • issue type-aware pipeline (bug/refactor/feature) (#57)
  • CLI version freshness and /jkz:health command (#58)
  • remote installer — curl | bash zero-clone setup
  • refactor jkz CLI — install (global) + init (per-project)

Fixes

  • bash 3.2 compat + expand eslint/prettier config detection (#634)
  • reset degraded_response and stale_deliberation flags on clean runs (#639)
  • use —git-common-dir for shared state dir across worktrees (#640)
  • debounce context-monitor hooks + /jkz:save hint in CRITICAL (#635)
  • add semantic prompt injection patterns to guard-injection (#627) (#631)
  • deduplicate entropy-scan findings (#578) (#593)
  • resolve 6 pre-existing test failures (#592)
  • reduce entropy scan false positives (#523) (#576)
  • resolve OUT_OF_SCOPE findings from PR #564 (#565)
  • CRLF scanner only reports shell scripts (291 warnings eliminated)
  • pass allowPaths to TODO scanner, eliminating 36 false positives
  • include .md files in config orphan scan
  • harden entropy-scan dedup to prevent issue spam
  • gws-client Windows compatibility and real API commands (#503)
  • entropy-scan dedup — worktree-safe repo name + local state file (#483)
  • codex plugin setup script Windows compatibility (#415)
  • migrate auth from localStorage to httpOnly cookies (closes #401) (#409)
  • batch CR findings (5 issues) (#404)
  • use find -L to follow symlinks in smoke test (#403)
  • allow hyphens in role names and update plugin/hook paths (#402)
  • migrate from pandoc to native Node.js libs (docx, pptxgenjs, pdfmake) (#395)
  • portabilize MCP finance paths and document FRED_API_KEY (closes #391) (#392)
  • resolve npm audit vulnerabilities (picomatch, smol-toml, yaml) (#389)
  • handle array data, dynamic sheets, auto-resolve reference docs (#388)
  • missing slash in jkz.cmd path conversion
  • use git clone instead of tarball for persistent updates
  • register research agents in resolve-wrapper + clarify output sections (#379)
  • adapt parseKnipOutput for knip v6 JSON format (#369)
  • bump flatted 3.4.2 (GHSA-rf6f-7fwh-wjgh) (#365)
  • ensure pipeline closes issue and cleans agent labels on completion (#357)
  • resolve 24 pre-existing test failures (hook-server, metrics-db, jkz-update) (#356)
  • allowlist .claude/context.md in guard-worktree
  • pass userId to dispatchCommand (was referencing undefined msg) (#341)
  • plan checkpoint displays plan content before asking for approval (#336)
  • resume delegates to /jkz:pipeline —resume instead of standalone commands (#335)
  • replace inline approval polling with dedicated script + sentinel recovery (#323)
  • changelog-review & insights — CodeRabbit detection, Haiku spawn, VSCode tab prevention (#315)
  • align spec fidelity density gate across Architect, Auditor, and Curator
  • parse Codex web changelog (developers.openai.com HTML format) (#308)
  • auto-unblock issues on merge via GitHub Action (#307)
  • repair 2 broken test files (#303)
  • dependency-reconcile.js — auto-unblock legacy blocked issues (#293)
  • dependency-reconcile.js — auto-unblock legacy blocked issues (#294)
  • use GitHub auto-close keywords (Closes/Fixes) instead of Implements in PR body
  • sweep orphaned worktree directories on disk during session-start cleanup
  • parent issues no se desbloquean cuando sub-issues se completan (#248)
  • auto-register body dependencies before check-deps (#239) (#243)
  • parse new Gemini CLI JSONL format (#222) (#237)
  • auto-close issues referenced in merged PR commit message (#217)
  • github-review.js does not support —stdin-file argument (#201)
  • add retry logic to validate-phase.sh for GitHub API eventual consistency (#203)
  • /jkz:quick no reconcilia comentarios inline de Judge/CodeRabbit (#198)
  • remove invalid &; syntax from pipeline-watcher launch (#171) (#195)
  • isolate codex-wrapper test state to prevent flaky failures (#191) (#194)
  • detect dead background tasks via heartbeat + PID tracking (#185)
  • auto-cleanup merged worktrees at session start (#188)
  • defensive cwd for gh commands in plugin mode (#181)
  • resolve-wrapper CWD inheritance + migrate mktemp to state/tmp (#182)
  • harden callHaiku() env stripping and stdin handling (#176)
  • resolve /dev/stdin ENOENT on Windows and Codex thumbs-up false FAIL
  • resolve GHSA-46wh-pxpv-q5gq + add Dependabot (#128)
  • close web UI phase 0 test and auth gaps (#118)
  • update minimatch to patch high-severity ReDoS CVEs
  • update hono and @hono/node-server to patch high-severity CVEs
  • switch gitleaks dir → detect —no-git (fixes exit 126) (#103)
  • implement finding lifecycle resolve on PASS via persisted hashes (#102)
  • correct secrets-scan output parsing and sed redaction false positive (#100)
  • prevent TOCTOU race in stale lock removal (#99)
  • async withFileLock and generic drive letter in jkz.cmd (#98)
  • add -v flag and allowlist SHA256 checksums (#96)
  • scope c8 to project files with —include flag (#95)
  • renumber schema migration to v5 to prevent collision with feat/memory-enhancements (#93)
  • FINDING_HISTORY siempre vacío — bash pipe subshell en fix.md (#92)
  • hoist require() ordering and fix multiline PR comment parsing
  • add explicit AskUserQuestion options to prevent merge-implying labels
  • installer robustness — auto-repair, version checks, pipefail safety
  • installer bugs — wizard options, banner z, junction, gemini model
  • PowerShell/CMD support for jkz CLI on Windows

Refactors

  • add path-scoped frontmatter to .claude/rules/ (#625) (#630)
  • fix ai-prose, ai-traces, and dry-check findings (#578) (#594)
  • separate plan-digest output paths by mode (compile vs summarize) (#581)
  • deduplicate shared constants (BOT_LOGIN, PRESCAN_MARKER, BLOCKED_BY_RE) (#507) (#517)
  • remove legacy research output stack (#502) (#509)
  • reduce entropy scan false positives (#489) (#505)
  • replace em dashes and AI prose patterns (#481) (#485)
  • template-based generation for research deliverables (DOCX/PPTX/PDF) (#463)
  • slim CLAUDE.md + rules (~50% token reduction) (#462)
  • block access to credential paths (#420) (#459)
  • adopt gh 2.88.x flags (—exclude, —duplicate-of, —blame) (#346) (#364)
  • document Codex 0.116 view_image capability in adversarial agents (#347) (#363)
  • CC hooks StopFailure + CRLF eval (#342) (#360)
  • document Gemini 0.34.0 flag decisions (#345) (#359)
  • plugin mode CLAUDE_PLUGIN_DATA + PLUGIN_SEED_DIR múltiple (CC 2.1.78-79) (#358)
  • add CC 2.1.78 agent frontmatter fields (effort, maxTurns, disallowedTools) (#351)
  • resolve 57 knip findings (stale cleanup) (#331)
  • estandarizar skills — naming, frontmatter y progressive disclosure (#258) (#266)
  • reorganize docs, skills, and add phase-log tracking (#88)
  • remove redundant issue approval in /jkz:start

Performance

  • pass compact-plan JSON to Curator instead of full verbatim plan (#637)
  • reduce context overhead — autocompact 70%, slim CLAUDE.md, compact instructions (#521)
  • Context7 plan-specific queries + cache docs for fix iter 2+ (#520)
  • reduce Claude quota usage across pipeline (#519)
  • pipeline cost optimizations — caching and model routing (#515)
  • add context:fork to qa-security-scan, memory-review, skill-security-audit skills (#487)
  • reduce agent effort levels for pipeline redundancy (#482)
  • Optimize querySimilarDeliberations with KNN pre-filter (#320)
  • GPT-5.4 integration + model-aware thresholds for 1M context (#117)
  • optimize GitHub Actions to reduce ~85% monthly minute usage (#116)
  • background post-processing in wrappers (#114)
  • robust feedback loop with fuzzy matching (#111)
  • add cross-phase PR diff and metadata cache (#113)
  • externalize raw output from deliberation JSON (#112)
  • gate compress/summarize by prompt byte size (#110)
  • dedupe pattern injection — remove manual patterns superseded by assemble-prompt middleware (#109)

Other

  • test+fix: global/scripts coverage and ai-prose self-exclusion (#578) (#597)
  • reframe README — multi-model rationale, command graph, mermaid diagrams (#580)
  • update README with new roles, commands, and features (#577)
  • subir cobertura de 81.65% a 90.13% (#547)
  • remove unused adm-zip dependency and fix em dash in test (#522)
  • update GWS integration docs post-PR #514 (#518)
  • bump typescript from 5.9.3 to 6.0.2 in /mcp (#513)
  • bump knip in the minor-and-patch group (#512)
  • bump @modelcontextprotocol/sdk (#511)
  • add git stash clear, reflog expire, filter-branch patterns (#443)
  • investigation report for Gemini 0.35.x AgentLoopContext (#408) (#410)
  • add research pipeline, MCP servers, complexity classifier, fix evidence-hierarchy path (#393)
  • bump knip from 5.86.0 to 6.0.1 (#367)
  • bump the minor-and-patch group with 2 updates (#366)
  • document Gemini Tracker spike + @copilot enrichment evaluation (#348) (#361)
  • configure prettier, eslint, and quality npm scripts (#340)
  • quality audit + coverage improvements for 10+ files (#328) (#332)
  • update documentation accuracy (model versions, metrics, skill names, commands) (#327)
  • add prettier, eslint, knip + fix quality-scan Windows compat (#310)
  • fix flaky tests — doc-cache Jest→node:test, orchestrate lock isolation, codex-wrapper EBUSY retry (#306)
  • bump the minor-and-patch group in /mcp with 2 updates (#298)
  • bump better-sqlite3 in the minor-and-patch group (#297)
  • deslop — replace em dashes (U+2014) across 216 files (#301)
  • standardize issue dependency format and auto-labeling rule (#280)
  • Chore/claude code 2.1.75 settings (#252)
  • adopt Claude Code 2.1.75 settings (#251)
  • add subprocess coverage for cr-plan-iterate main() loop (#190)
  • bump @types/node from 20.19.33 to 25.4.0 in /mcp (#193)
  • bump trufflesecurity/trufflehog (#192)
  • bump actions/upload-artifact from 4 to 7 (#133)
  • bump actions/github-script from 7 to 8 (#132)
  • bump actions/checkout from 4 to 6 (#131)
  • bump @modelcontextprotocol/sdk in /mcp (#136)
  • bump c8 from 10.1.3 to 11.0.0 (#130)
  • bump actions/setup-node from 4 to 6 (#129)
  • add implicit approval coverage for normalize-judge-verdict
  • LangFuse docs, UI roadmap, and installer labels (#126)
  • pause web UI, rename to _ui/ (#120)
  • run tests only on push to main, not on PRs
  • remove legacy skill dirs and apply minor doc fixes
  • Merge branch ‘main’ of https://github.com/j0KZ/jkz_Multi-Agent_System
  • Merge branch ‘main’ of https://github.com/j0KZ/jkz_Multi-Agent_System
  • Merge branch ‘main’ of https://github.com/j0KZ/jkz_Multi-Agent_System
  • Merge branch ‘main’ of https://github.com/j0KZ/jkz_Multi-Agent_System
  • Merge branch ‘main’ of https://github.com/j0KZ/jkz_Multi-Agent_System
  • Merge branch ‘main’ of https://github.com/j0KZ/jkz_Multi-Agent_System
  • Merge branch ‘main’ of https://github.com/j0KZ/jkz_Multi-Agent_System
  • Merge branch ‘main’ of https://github.com/j0KZ/jkz_Multi-Agent_System
  • increase test coverage to 90%+ (#80)
  • Merge branch ‘main’ of https://github.com/j0KZ/jkz_Multi-Agent_System
  • Merge branch ‘main’ of https://github.com/j0KZ/jkz_Multi-Agent_System
  • Chore/test coverage 86 (#74)
  • Merge branch ‘main’ of https://github.com/j0KZ/jkz_Multi-Agent_System
  • Merge branch ‘main’ of https://github.com/j0KZ/jkz_Multi-Agent_System
  • Merge branch ‘main’ of https://github.com/j0KZ/jkz_Multi-Agent_System
  • Feat/start refinement dry (#64)
  • add detailed phase explanations and Orchestrator role to README
  • update README with new pipeline steps, commands, and infrastructure
  • Feat/context management pattern learning (#60)
  • update ASCII banner to bold blocks for better readability
  • update local Bash permission patterns for installer commands
  • add API backend mention and updated CLI commands to README
  • add npm link global CLI installation instructions
  • update all documentation to reflect PRs #52-#55

2026-02

Features

  • hybrid Judge, per-role model, ADR/STRIDE/SLOs/deps-audit (#55)
  • ADR extraction, STRIDE threat modeling, pipeline SLOs, postmortem, deps audit (#54)
  • security hardening, statusline, SQLite metrics, MCP sessions (#52)
  • pipeline export, shared retry, doctor auto-fix, deep health checks
  • add stub validator, premortem risks, deslop and perf-audit commands
  • Docker CLI isolation — all CLIs native, no API routing (#49)
  • add jkz CLI entrypoint with Windows support
  • plugin architecture with dual-root path resolution (#43)
  • expand MCP server with new tools and resources
  • add hook-runner.js with JSON config and update all hooks
  • centralized env loading and MCP launcher
  • add toggle-plugins CLI with profiles and plugin manifest
  • changelog insights with Haiku analysis + CodeRabbit tracking
  • reject-with-feedback flow in Telegram bot + add lens to Gemini routing
  • add semantic memory system (embeddings + pattern scoring + fix-memory)
  • add cross-role pattern accumulation and structured fix context
  • add Chair Test rule to Architect prompt
  • add CodeRabbit Issue Planner configuration
  • add Phase 3 integration tests and telegram-bot refactor
  • add PR auto-review workflow, switch to OAuth token, remove invalid —max-turns flag
  • implement GSD-inspired improvements across pipeline
  • add unit tests for core components (Phases 1-2)
  • add calibration, scope clarification, and programmatic validators
  • add monitoring loop, task discovery, and prompt rewriting
  • add CI feedback workflow and escalation chains
  • normalize codex review output for pipeline compatibility
  • add GC for closed issues in STATE.json
  • add cortex briefing, file ingestion, and autonomy levels (SpaceBot round 2)
  • add natural language intent detection via Claude Haiku CLI
  • add PostToolUse hooks, pinned comments, stream-json, MCP resources, Codex memory, merge-gate check, Projects sync
  • add Check Runs API, minimize outdated comments, agent frontmatter
  • cost tracking, memory digest, watcher circuit breaker
  • quick wins ronda 2 - Notification/PreCompact hooks, language, spinnerVerbs, rules/
  • add message coalescing for rapid free-text input
  • Doctor fix-signal auto-governance of loops (#36) (#40)
  • pre-allocate comment slots for parallel QA/Sentinel execution (#39)
  • multi-project Docker setup + pipeline housekeeping
  • add review checkpoint (checkpoint 1 of 2 in pipeline loop)
  • add QA human checkpoint as 3rd pipeline gate
  • add pipeline watcher, harden Judge/Inspector calibration
  • add merge gate health checks to health-check.sh
  • add init-merge-gate.sh for cross-project merge protection
  • add auto-revert for unauthorized PR merges
  • add server-side merge gate — human-only PR approval
  • lock on create, unlock on clean
  • add _parse_worktrees() helper for —porcelain -z output
  • add —check-updates flag for CLI version freshness checks
  • add /jkz:refine command for pre-plan issue refinement
  • integrate CodeRabbit as enrichment step in review phase (Step 2.5)
  • per-agent token tracking with summary table in notifications
  • per-role temperature config + benchmark script
  • Telegram bot daemon for pipeline control from phone
  • stop reaction + pre-seeded checkpoint emojis
  • automatic model fallback for all LLM wrappers
  • security hardening S7 — Gemini web search off, read-only mode, optional sandbox
  • add unit tests for json-helper.js + wire into CI monitor
  • security hardening S6 — disable web search + sandbox Judge (codex review)
  • output quality Phase 3 + security hardening S1-S5
  • token efficiency Phase 1+2 — system/user split, verdict signals, diff filtering, shared signals DRY
  • structured Discord/Slack notifications — TL;DR + link
  • collapsible PR comments, checkpoint notifications, orchestrator TL;DR
  • resilient polling with sentinel files for session-reset recovery
  • Discord threads + sentinel state tracking for agent runs
  • activate unused Claude Code features (hooks, effort, CoT, TodoWrite)
  • add jkz:regression label to labels.yml and install.sh
  • add regression issue template for manual reports
  • add continuous monitoring workflow and script
  • add Discord reaction polling to E2E test
  • add Discord bot-only mode (no webhook required)
  • add bidirectional feedback, file locking, bash 3.2 compat, and E2E test
  • add universal API wrapper for OpenAI-compatible backends
  • add cross-issue dependency tracking with cycle detection (roadmap item 6)
  • add issue decomposition — complexity check in plan phase (roadmap item 4)
  • add Slack/Discord notifications, autonomous pipeline, and R2 audit fixes
  • add deliberation analytics with phase/command schema enrichment (roadmap tier 2)
  • add fetch-md.js helper for web content pre-cleaning
  • add agent issue proposals and post-merge workflow (roadmap tier 1)
  • add CLI version reporting to health-check.sh
  • add update-readme-status script (closes #1)
  • add global commands/scripts mirror and install script
  • add checkpoint system, guard hooks, phase validation, and reference docs
  • formalize orchestrator role with agent definition and state machine
  • rewrite agent personalities with distinct voices and identities

Fixes

  • use $@ for forward-compatible arg passing and error on unknown commands
  • replace MIT license with proprietary notice (#46)
  • address CodeRabbit review findings (#44)
  • address CodeRabbit review findings
  • strip all CLAUDE* env vars for nested CLI invocations
  • use spawnSync with temp file and unset CLAUDECODE for nested sessions
  • burst protection and kill switch to stop notification spam
  • timestamp parsing, recency filter, and auto-update CLIs
  • rate-limit Telegram notifications and fix emoji encoding
  • disable real Telegram notifications in orchestrate tests (#41)
  • add /usr/sbin to launchd PATH for sysctl dependency
  • address QA findings (Lens + Sentinel pass)
  • address code audit findings (Codex pass)
  • 5 critical bugs and quick wins
  • finish Lens rename in test script and docs
  • add statuses:write permission to merge gate workflows
  • warn on stderr when git worktree list fails in _parse_worktrees
  • clarify main-tree serialization in Rule 6
  • make git worktree lock best-effort in create_worktree()
  • scope Rule 6 to per-issue with worktree isolation
  • improve bot free-text response + document launchd TCC issue (#22)
  • worktree cleanup detects squash merges + MCP server tests
  • resolve 7 findings from first E2E pipeline run (#18)
  • cross-platform compat in health-check.sh
  • resolve 7 integration findings from first E2E pipeline run
  • add LICENSE commit to CHANGELOG (Judge review P2)
  • project audit — macOS compat, security hardening, docs sync, setup automation
  • pass GH_TOKEN to health-check.sh and surface issue creation errors
  • add private-key / PRIVATE_KEY redaction patterns (QA iter 3, Doctor final)
  • add Basic auth pattern and use .* for multi-word value redaction (sentinel qa3)
  • add x-api-key redaction patterns and cover api-key hyphen form (QA iter 2)
  • extend sed redaction to cover key=value and key: value forms (sentinel qa2)
  • isolate GH_TOKEN, sanitize issue output, harden eval (QA iteration 1)
  • replace eval with bash -c and sanitize issue output (sentinel qa)
  • add safe defaults for GitHub env vars (set -u compat in local runs)
  • bash 3.x compatibility for health-check.sh and api-wrapper.sh
  • apply audit findings — worktree exactness, QA worktree mode, plan contract
  • filter worktree cleanup by branch name, not path
  • resolve pipeline friction from first E2E run
  • escape JSON values and fix pipefail+head SIGPIPE in health-check
  • add explicit prompt templates to plan.md and clear stale README status
  • harden worktree guard with protected-directory denylist and require Doctor comment in fix validation
  • harden guard hooks, phase validation, and arithmetic bugs after 3-pass Codex audit
  • add Node.js launcher (run.js) to fix broken bash builtins in sandbox
  • replace jq with Node.js json-helper, add —prompt flag, fix sandbox CLI checks
  • add bash prefix to all script invocations
  • improve install.sh chmod messaging for Windows
  • harden gemini-wrapper.sh for Windows compatibility
  • harden codex-wrapper.sh + add Judge codex review path
  • reimplement MCP health_report in native Node.js

Refactors

  • rename QA agent to Lens
  • rewrite list and cleanup-merged with callback parser

Other

  • Feature/security statusline metrics sessions (#53)
  • Merge branch ‘main’ of https://github.com/j0KZ/jkz_Multi-Agent_System
  • Feature/docker cli isolation (#51)
  • Feature/notification redesign (#48)
  • Merge branch ‘main’ of https://github.com/j0KZ/jkz_Multi-Agent_System
  • Feat/plugin installer (#47)
  • Merge branch ‘main’ of https://github.com/j0KZ/jkz_Multi-Agent_System
  • comprehensive documentation overhaul (#45)
  • Merge branch ‘main’ of https://github.com/j0KZ/jkz_Multi-Agent_System
  • update local permissions and tool settings
  • improve wrappers, add utilities, env integration
  • improve pipeline commands and skill definitions
  • add .worktrees/ to .gitignore
  • round 4 coverage to 93.25% with 490 total tests
  • Fix/test notify spam (#42)
  • round 3 coverage to 81% with 54 new tests (416 total)
  • add 6 test files for round 2 coverage (hooks, utils, analytics, checkpoint)
  • add 9 test files (49 tests) for validators, hooks, and utilities + c8 coverage
  • add Claude DevTools installation guide (Windows, macOS, Docker)
  • add v0.1.4 changelog entry for ronda 2 features
  • mark Windows as tested in notifications platform table
  • Revert “feat: Doctor fix-signal auto-governance of loops (#36) (#40)”
  • Revert “feat: pre-allocate comment slots for parallel QA/Sentinel execution (#39)”
  • Revert “Fuzzy repair en parsing de verdict JSON (#38)”
  • Fuzzy repair en parsing de verdict JSON (#38)
  • Revert “Add plan-diff monitoring to Build→Review handoff (#34)”
  • Add plan-diff monitoring to Build→Review handoff (#34)
  • Reinforce anti over-eagerness instructions in Builder/Doctor prompts (#33)
  • document merge gate across CLAUDE.md, setup-guide, and SELF-REVIEW
  • undo PRs #30 and #32 — merged without QA phase
  • Git worktree upgrades — Parallel Builders: state migration + guard hooks (#31)
  • Add plan-diff monitoring to Build→Review handoff (#32)
  • Reinforce anti over-eagerness instructions in Builder/Doctor prompts (#30)
  • Merge pull request #29 from j0KZ/jkz/issue-22
  • Merge pull request #28 from j0KZ/jkz/issue-24
  • update header with cleanup-merged, lock, and git version note
  • add worktrees comparison section to usage guide
  • add .claude/worktrees/ to .gitignore
  • add usage guide reference to README
  • add usage guide with workflows, commands, and tips
  • sync documentation with Feb 22 features (CHANGELOG 0.1.3, CodeRabbit, Telegram, token tracking)
  • Revert “feat: per-role temperature config + benchmark script”
  • Merge pull request #19 from j0KZ/jkz/issue-18
  • add CHANGELOG v0.1.1 — model fallback, E2E fixes, cleanup
  • Topic 10 nice-to-have — model upgrade, cleanup, test docs
  • Merge pull request #17 from j0KZ/jkz/issue-16
  • add OrbStack as Docker alternative, troubleshooting for macOS osascript bug
  • add CHANGELOG.md for v0.1.0 (72 commits, Feb 17-21)
  • add S6 security hardening to README table and setup guide
  • sync documentation to latest commits (Feb 19-20)
  • Merge pull request #13 from j0KZ/jkz/issue-12
  • allow notify.sh bash invocations in local settings
  • mark roadmap item 5 (Continuous Monitoring) as COMPLETED
  • add state/monitor-report.json to .gitignore
  • update Gemini model to 3.1-pro-preview and read models from .env
  • update notifications and roadmap for Discord bot-only mode
  • update CLAUDE.md for universal API wrapper architecture
  • add npm and install permissions to settings
  • update README and roadmap for deliberation analytics (roadmap items 1-3 complete)
  • apply 14 iterate audit resolutions to roadmap
  • add setup guide and auto-improvement roadmap
  • Merge branch ‘main’ of https://github.com/j0KZ/jkz_Multi-Agent_System
  • Merge pull request #3 from j0KZ/jkz/issue-2
  • add MCP server documentation, troubleshooting guide, and update README structure
  • sync README structure diagram and checklist with actual project state
  • add pipeline test results (codepen_extractor)
  • update README with bash prefix + mark e2e test complete
  • update CLAUDE.md with bash prefix + Judge quota note
  • Add LICENSE, fix broken README links, add repo metadata
  • Initial commit: jkz multi-agent development system