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 createto 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
textlanguage 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
configdebug 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
runsubcommand 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
versionsubcommand 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