Skip to content

GJC 0.19.3

Latest

Choose a tag to compare

@github-actions github-actions released this 03 Nov 09:49

What's Changed

  • feat(sdk): add btw.ask ephemeral side-question control by @Heyaaz in dffdfeb66f
  • fix(utils): ignore a project dotenv Hindsight API URL by @Oreochococukie in #7005
  • docs(memories): describe /memory clear scope accurately by @Oreochococukie in #7069
  • fix(memories): keep over-long project memory names within a directory limit by @Oreochococukie in 335f64f0cc
  • test(sdk): observe router reconcile timer lifecycle by @snowykr in #7086
  • test(notifications): observe inbound acceptance on the wire by @snowykr in #7087
  • test(cli): exercise the dispatched native smoke receipt handler by @snowykr in #7089
  • test(doctor): observe restart budgets through the real dispatcher by @snowykr in #7091
  • test(edit): replace critical-section sleeps with held overlap by @snowykr in #7092
  • fix(session): restore a saved plan through its controller on session switch by @Oreochococukie in #7101
  • fix(memories): keep the existing directory mapping and document clear scope by @Oreochococukie in 0f18416e38
  • test(ai): replace Cursor burst padding with request arrival by @snowykr in #7103
  • test(config): replace retry schema source oracle with behavior by @snowykr in #7110
  • test(ai): remove empty Mistral thinking registration by @snowykr in #7117
  • test(ai): verify Mythos tool choice through request payloads by @snowykr in #7154
  • feat(ai): retain trusted endpoint routing across supplied scopes (successor to #6375) by @snowykr in #7156
  • test(ai): resolve compatibility from message fixture models by @snowykr in #7179
  • test(ai): resolve composer fixture compatibility from models by @snowykr in #7180
  • test(ai): reuse the tool-normalization model fixture by @snowykr in #7184
  • chore(repo): retire historical sticky viewport capture bundle by @snowykr in 47c310d397
  • test(plugins): exercise deterministic marketplace failure paths by @snowykr in #7223
  • fix(sdk): stream other owners' turns to turn_stream connections without making them observers by @yazzang-homelab in 84c13a3f41
  • fix(sdk): stream other owners' turns to turn_stream connections without making them observers by @yazzang-homelab in #7286
  • fix(tui): strip terminal controls from painted tool cards by @Oreochococukie in #7332
  • fix(coding-agent): dial harness owner verbs only on the private socket by @Oreochococukie in #7340
  • fix(ci): retain runtime Markdown consumer tests in PR plans by @lee3Q in #7353
  • fix(tools): preserve prototype-named keys in root JSON previews by @lee3Q in #7369
  • fix(compaction): preserve code in summaries without lossy entity encoding by clawdbot in ff8a63f6d8
  • fix(session): fence workflow recovery goal ids and source hashes by @Oreochococukie in #7379
  • test(session): name the recovery frame attack separately from the allowed case by @Oreochococukie in a088969f26
  • Fixes #7371 by @Yeachan-Heo in #7376
  • feat(sdk): unify settings, routing and headless command surfaces by @snowykr in #7374
  • fix(agent): fence handoff focus after the tail clip by @Oreochococukie in #7380
  • fix(agent): frame stored previous summaries in compaction prompts by @Oreochococukie in #7382
  • test(agent): cover tail-only truncation before the previous-summary fence by @Oreochococukie in 72b1ce35b5
  • fix(compaction): align local-exec frame with wrapper-tag neutralization by @Yeachan-Heo in #7384
  • fix(settings): keep memory equal to disk after an overlapping atomic batch by @snowykr in 3779a2f531
  • fix(runtime): admit managed tmux children on macOS through a native owner-only reader by @najy97 in ca2f185a19
  • docs(runtime): state why the 64 KiB binding bound is not a prompt limit by @najy97 in 103b35774b
  • fix(runtime): canonical managed state paths and owner-only reader capability by @najy97 in e2355093b0
  • fix(runtime): canonicalize only the trusted state anchor by @najy97 in f4b80c76af
  • fix(runtime): durable link-fallback publication and platform-aware fixtures by @najy97 in c6f4b57fd6
  • test(runtime): prepare owner lifecycle roots and read scoped tmux argv on Linux by @najy97 in 699b85f940
  • style(natives): apply rustfmt to the default ACL fixture call by @najy97 in 24ff58d782
  • fix(sdk): select headless on Windows before any managed launch by @najy97 in a3b223cc64
  • fix(sdk): publish Windows headless proofs without a directory flush by @najy97 in aef16cee69
  • fix(sdk): close spawned headless hosts through their pinned endpoint before any signal by @najy97 in cfba428983
  • fix(sdk): prove spawned host close by absence and time its grace monotonically by @najy97 in ce1aa288e4
  • fix(sdk): keep absence-proven close to headless spawned children by @najy97 in 901fbda83a
  • docs(sdk): describe the headless close and Windows headless selection by @najy97 in fbffa01f8b
  • feat(natives): add reassertRawTty to re-apply raw termios without an echo window by @jihoon-lee-nuvilab in 21e876aa31
  • fix(tui): stop kernel echo of probe replies after screen lock / display sleep by @jihoon-lee-nuvilab in dbd9a6efd6
  • test(natives): probe released owner-read descriptors in an isolated child by @najy97 in bf1e843a59
  • fix(runtime): close managed tmux owners on macOS through a generation-fenced owner intent by @najy97 in f6e9522f7a
  • fix(gjc-runtime): refuse a managed child whose generation a relaunch replaced first by @najy97 in e126848d23
  • fix(coding-agent): strip terminal controls from resume and bundle rows by @Oreochococukie in #7390
  • fix(sdk): bind managed spawn registration to the resolved SDK host by @najy97 in ae202a7ddb
  • test(runtime): run the real managed session.spawn lanes on macOS and cover the Windows Broker entry by @najy97 in 8409bd3c78
  • fix(utils): keep a project-dotenv SSH_ASKPASS out of filtered spawn environments by @10kH in 4f4406a099
  • fix(coding-agent): frame image provider prose before it reaches the model by @Oreochococukie in bcb2d1e8f2
  • fix(runtime): check the managed predecessor inside every generation publication by @najy97 in 958ec5bfa9
  • test(runtime): pin every publisher's predecessor check behind the generation lock by @najy97 in c90fd31b12
  • fix(sdk): snapshot responder addresses before checking renderer authority by @snowykr in 55a5093c07
  • fix(session): retire exact grants on same-path identity replacement by @snowykr in #7386
  • fix(sdk): redact recovered endpoint and path metadata by @snowykr in #7400
  • fix(sdk): keep catalog layers outside mutation metadata by @snowykr in #7395
  • fix(sdk): fence renderer authority after reading reply addresses by @snowykr in #7401
  • fix(sdk): skip the spawn authority journal directory flush on Windows by @najy97 in 9f77b2e636
  • fix(sdk): allow move-session to complete when dispose races it by clawdbot in f8f14c13bf
  • fix(sdk): don't rebind MCP tools after a move races disposal (#7403 follow-up) by @Yeachan-Heo in #7404
  • fix(runtime): normalize an absolute operator state-file pin at its source by @najy97 in c87b131d2f
  • test(runtime): drive a real root launch and close through a non-normalized operator pin by @najy97 in 65d4f3e1c7
  • docs(natives): scope reassertRawTty to the OSC 11 probe path by @jihoon-lee-nuvilab in #7409
  • fix(sdk): preserve receipt ownership and embedding contracts by @snowykr in #7394
  • docs(sdk): clarify canonical public embedding contracts by @snowykr in #7393
  • fix(runtime): normalize an absolute operator state-file pin at its source by @najy97 in 5744c43a72
  • fix(ai): Kiro native reasoning fields and signature replay (#7405) by @Yeachan-Heo in #7410
  • fix(ai): Kiro native reasoning — GPT off sends effort none, shared typed replay decoder, API-key transport tests (#7405) by @gaebal-gajae in 9ba3a34038
  • fix(ai): Kiro native reasoning — version-based model detection, API-key quarantine for native reasoning, OAuth inline flush and error close, typed request fields (#7405) by @gaebal-gajae in 2b3157e26b
  • fix(ai): keep an open inline region across native Kiro reasoning events (#7405) by @gaebal-gajae in 5202f13bef
  • fix(coding-agent): start the ssh tool's programs without project-dotenv hook variables by @10kH in 46b95f3982
  • fix(runtime): refuse an unsupervisable operator pin instead of rewriting it by @najy97 in 76901d7ba6
  • fix(runtime): stage the coordinator bootstrap without touching disk by @najy97 in 08fd460072
  • docs: state exactly when an operator state-file pin is refused by @najy97 in 568a3c9b99
  • fix(runtime): require exact child-exit proof before replacing a supervised generation off Linux by @najy97 in 35ce1280a3
  • fix(coding-agent): filter the lspmux status probe environment by @Oreochococukie in #7413
  • test(coding-agent): cover a repeated project hook value on the lspmux status probe by @Oreochococukie in aeb7f9757a
  • docs(coding-agent): limit which shell values the lspmux status note keeps by @Oreochococukie in 84f5ef4efb
  • fix(coding-agent): drop a project-supplied HERDR_BIN_PATH before spawn by @Oreochococukie in #7414
  • feat(coding-agent): add Runcrate provider preset by @heydryft in #7427
  • fix(runtime): admit an unpublished generation's child only while its launch baseline is current by @najy97 in 35fabea9a0
  • test(runtime): expect the launch baseline in the bash coordinator env scrub by @najy97 in afd1c11952
  • fix(utils): exclude contents of directories ignored without a trailing slash by @Krish0703-irl in dd32b1c6d9
  • fix(coding-agent): require visible decision context before every ask (#7324) by @Krish0703-irl in #7415
  • fix(tui): fuzzy search scores the best alignment, not the first occurrence (openai o3-pro ranked 765th for "pro") by @Krish0703-irl in #7417
  • fix(coding-agent): run GJC's direct git callers without project-dotenv hook variables by @10kH in 022f31f222
  • feat(mcp): connect a single declared server for a session (split 1/3) by @chlee1001 in #7419
  • test(sdk): re-anchor the diagnostics G1 owner-write baseline to the #7399 admission contract by clawdbot in 44a442e419
  • fix(coding-agent): refuse a linked lifecycle path before creating the owner root by @najy97 in 60543789c5
  • fix(coding-agent): run normally when a project .env names only the managed-owner child token by @najy97 in 41813d8d1a
  • feat(mcp): add session-local MCP controls to root interactive sessions (split 2/3) by @chlee1001 in #7420
  • feat(mcp): expose session MCP controls as /mcp in interactive root sessions by @chlee1001 in 805c308168
  • fix(test): create proper lifecycle root in managed-owner admission baseline by clawdbot in 640e424271
  • fix(ultragoal): admit ralplan finals that share stage_n with their pass by @Dayoooun in #7432
  • feat(mcp): expose session MCP controls as /mcp in interactive root sessions (split 3/3) by @chlee1001 in #7421
  • fix(coding-agent): refuse a linked lifecycle path in every owner lifecycle writer by @najy97 in ef944f9dce
  • fix(sdk): classify the #7420 session MCP seams in the SDK operation inventory by clawdbot in 29f455d020
  • fix(master): inject the peer snapshot once per session (#7438) by @najy97 in #7441
  • fix(coding-agent): launch session helpers without project-dotenv hook variables by @10kH in 9d71be3a72
  • docs(coding-agent): describe the insane bridge as dormant in the helper env note by @10kH in 9a92783aef
  • fix(coding-agent): run recipe runner detection without project-dotenv hook variables by @10kH in 74a8189871
  • fix(coding-agent): run the bisect predicate with the bash tool's environment by @10kH in 348e239cd2
  • feat(master): show the spawning master on peer rows (#7439) by @najy97 in #7445
  • fix(acp): resume a broker-live session when the Router holds no attachment by @namekun in b6421b640f
  • fix(acp): resume a broker-live session when the Router holds no attachment by @namekun in #7447
  • fix(sdk): bound the session-index rejection audit and stop re-archiving it by @lifrary in 97fe0c6087
  • fix(mcp): let a moved session's MCP tools replace retiring cwd tools by @chlee1001 in #7449
  • fix(tui): strip terminal controls from file-list names by @Oreochococukie in #7456
  • fix(coding-agent): keep terminal controls out of file slash command text by @Oreochococukie in #7454
  • fix(edit): block auto-generated names on hashline writes by @Oreochococukie in #7455
  • feat(prompts): add premise and measurement triggers to verification rules by @najy97 in 0e274af0c3
  • feat(prompts): check readers a symbol search misses when a shared value changes by @najy97 in 3678a2b163
  • fix(tui): close model selector before queued profile activation by @laerad777 in #7458
  • fix(image): post Codex images to the generations route by @cheong-yi in #7299
  • fix(image-gen): route Codex images by model identity and parse base URL paths by @cheong-yi in 32a1fcd27e
  • fix(sdk): bound the session-index rejection audit and stop re-archiving it by @lifrary in #7450
  • fix(tui): show queued profile notice for post-prompt work by @laerad777 in #7460
  • fix(mcp): keep live non-MCP owners of MCP-shaped tool names by @chlee1001 in #7461
  • fix(coding-agent): keep owner socket lookup read-only and keyed by the real state root by @Oreochococukie in 9e2b5ca5d4
  • test(task): publish the cross-process owner-access readiness record atomically by clawdbot in 3e8927c882
  • style(test): format atomic readiness publish by @clawdbot in 153134ff6e
  • Revert "style(test): format atomic readiness publish" by @clawdbot in f536b1010d
  • test(task): publish the cross-process owner-access readiness record atomically by @Yeachan-Heo in #7462
  • fix(sdk): cap plugin MCP startup wait at the declared timeout by @Yeachan-Heo in #7467
  • fix(utils): keep project-dotenv GTK module loaders out of filtered spawn environments by @10kH in 4140b47554
  • fix(coding-agent): start background gh calls with the github tool's environment by @10kH in eaa47285cb
  • ci: move macOS arm64 jobs from retiring macos-14 to macos-15 by @Yeachan-Heo in #7468
  • fix(coding-agent): run the YouTube reader's yt-dlp without project-dotenv hook variables by @10kH in e5c3dcbb84
  • docs(install): add Windows DACL and ACL remediation guidance for acl_present errors by clawdbot in 6bf1c383d7
  • fix(update): add acl_failure_principal and acl_failure_inherited to NativeExactUnlinkResult by clawdbot in 2f6d086136
  • fix(update): report the offending principal for Windows acl_present failures by @Yeachan-Heo in #7471
  • fix(acl): correct camelCase properties and branch remedies on inherited flag by clawdbot in 05156e52c8
  • chore(telegram-guard): refresh native authority digest for path_identity.rs by @clawdbot in c68ccc1da0
  • fix(telegram): bump daemon generation (v212→v213, telegram:crates/pi-natives/src/path_identity.rs) by clawdbot in 99604389d0
  • fix(acl-diagnostic): add aclFailureSide to identify source vs destination ACL failures by clawdbot in bf500135dd
  • fix(pi-natives): initialize acl_failure_side everywhere and satisfy rustfmt/clippy doc lints by clawdbot in 9c039d8db3
  • chore(telegram-guard): refresh native authority digest for path_identity.rs by clawdbot in 4a2b0e9919
  • fix(acl-diagnostic): pass the SID byte slice in the Windows principal test and drop the unused formatter by clawdbot in 5310ea95ae
  • fix(update): remediate the staged source when its ACL is the one rejected by clawdbot in 6474de3399
  • fix(session): cold-spill tool-result details and thinking signatures on compaction by mongbee-macmini in c6e8be2cdc
  • fix(session): cold-spill tool-result details and thinking signatures safely by clawdbot in ba3d0dd056
  • fix(session): keep cold-spill payload paths compatible with shipped sessions by @clawdbot in 2e15fbc936
  • fix(ai): give Cloud Code Assist streams a 300s idle window (#7474) by @kook-oh in #7475
  • fix(session-manager): cold-spill encoding versioning, safe ref lookup, and usage exception for task tools by clawdbot in c17c1815c1
  • fix(session): cold-spill tool-result details and thinking signatures on compaction by @Dayoooun in #7473
  • fix(harness): avoid stale PID socket record temp collisions by @snowykr in #7476
  • fix(update): make ACL guidance work in PowerShell 5.1 by @snowykr in #7478
  • docs(install): fix numeric SID removal example by @snowykr in #7479
  • fix(utils): skip a FIFO project dotenv layer instead of blocking startup by @10kH in #7480
  • fix(update): surface ACL diagnostics when rollback is unverified by @snowykr in #7481
  • refactor: remove duplicate and dead code across ai, tui, and coding-agent by @Yeachan-Heo in #7452
  • feat(sdk): report continuation acceptances to prompt observers by @snowykr in #7483
  • Fixes #7343 by @Yeachan-Heo in #7345
  • fix(gates): decode workflow gate answers to one validated shape by @snowykr in #7489
  • Fixes #7487: expect sanitized file paths to exclude clean SIXEL sequences by @Yeachan-Heo in #7488
  • fix(ai): address review findings from #6966 by @Yeachan-Heo in #6998
  • feat(coding-agent): add CloudGPU provider preset by @mrhy7176 in #7477
  • fix(session): keep the active goal across a same-file switchSession reload by @Yeachan-Heo in #7490
  • chore(ai): drop a leftover test diagnostic from the usage-limit suite by @snowykr in #7491
  • feat(sdk): add bounded internal permission approval queue by @Heyaaz in 79ed7658b7
  • fix(sdk): reserve distinct BTW operation identity by @Heyaaz in 5ddd8db0f3
  • test(sdk): verify native diagnostics admission evidence by @Heyaaz in #7494
  • feat(session): bound idle admissions and propagate sticky chunk errors by @snowykr in #7499
  • test(sdk): property-check permission queue validation and lifecycle by @Heyaaz in 5a600b6c3a
  • fix(sdk): propagate BTW request cancellation through session hosts by @Heyaaz in fee29ec950
  • fix(sdk): refresh BTW daemon digest and validate runner replies by @Heyaaz in 67933fafcd
  • feat(session): judge title persistence ownership by logical session identity by @snowykr in #7500
  • feat(async): expose subagent job control scope by @snowykr in #7506
  • feat(runtime): expose per-server MCP control snapshot by @snowykr in #7507
  • fix(sdk): fence permission lifecycle and task inheritance by @Heyaaz in #7496
  • ci(sdk): request fresh BTW validation after MCP timing failure by @Heyaaz in 089485de41
  • test(session): hand the permission lease between bridge and SDK provider by @Yeachan-Heo in #7509
  • fix(session): stop discovered-tool activation once disposal starts by @Yeachan-Heo in #7511
  • fix(cli): restore Windows input after the startup resume picker by @jeanlorencini in #7519
  • feat(session): own agent-model selection state and role readers per session by @snowykr in #7512
  • fix(sdk): classify agent-model seams added by #7512 in the operation inventory by @Yeachan-Heo in #7520
  • feat(sdk): expose permission polling on SDK-only native hosts by @Heyaaz in #7497
  • feat(sdk): connect broker permission polling and CLI coverage by @Heyaaz in #7498
  • fix(mcp): capture the /new restore flight before awaiting disconnect in session cleanup by @Yeachan-Heo in #7522
  • fix(gjc-session): refuse links in the shell and Python owner lifecycle writers (#7429) by @najy97 in d8e25c5f84
  • feat(session): run model profile activation as a fenced transaction by @snowykr in #7513
  • feat(herdr): report lifecycle status to herdr-core through OSC 7501 by @chlee1001 in #7525
  • fix(herdr): keep OSC status out of JSON output and finish short exit writes by @chlee1001 in 4d43107658
  • fix(config): resolve macOS ioreg outside PATH by @Yeachan-Heo in #7530
  • feat(session): wire profile activation and the image admission seam by @snowykr in #7514
  • feat(session): opt-in session recap linked to its turn, with read-only listing exposure by root in 633e489c76

New Contributors

Full Changelog: v0.19.2...v0.19.3