Repository navigation
Conversation
Keep this work in progress while completing lifecycle and persistence acceptance. Patch the interpreter select state locally to allow independent runtimes to execute concurrently without IPC or repeated Init. Add concrete provider records, validation, owned callbacks, a compiled streaming adapter, instance metadata and offline greeting/tool fixtures.
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
Comment |
|
Connected to Huly®: KIT-255 |
added 27 commits
October 22, 2026 20:27
Retain replay data for text, files and tool parts and reconstruct message-level metadata. Add session clone and resolver isolation regressions. Snapshot resolver/factory publication without holding locks across callbacks.
Cancel retained generation runtimes on final shutdown, keep close idempotent, and reject synchronous self-close from stream callbacks. Add a regression for the reentrant boundary.
Only reuse inherited registrations from the same extension source and keep child shutdown from closing all parent-owned runtimes. Exercise a real interpreted child request followed by another parent request.
Check strict candidate failure leaves the active runtime usable and future constructions use a successful replacement. Reject overlapping emit calls deterministically. Do not let an in-flight auth status check repopulate an explicitly invalidated cache.
Respect iter.Seq backpressure even when the stream failure path would otherwise emit a terminal error after yield returned false. Add an early-break regression.
Redact transient host-resolved keys at the compiled adapter boundary before surfacing backend errors. Keep code classification available without exposing credentials.
added 25 commits
October 22, 2026 21:12
Track callback cancellation and generation drain state. Cancel work across all retained owners before waiting, keep pending Create and auth callbacks owned, and reject self-shutdown before changing registry state.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Work in progress toward #253 and the approved extension-provider specification. Not ready to merge.
_selectnow copies its compiled case template per invocation. The upstream release and current master both share mutable case data. Regression tests exercise actual concurrent interpreted callbacks and cancellation, not compiled fakes.models --extensions, and host-owned picker entries.Validation
Observed locally during this work:
go test -race ./...passed on the current branch; focused race suites and the interpreter concurrency probe passed repeatedly throughout.go vet ./...passed.go build -o output/kit ./cmd/kitpassed.Hello from a fake provider.5and asserted one host tool execution.internal/app/mcp_ready_test.goandinternal/auth/callback_server_test.go. New Kit-owned code findings were fixed. Copied interpreter source is excluded from style lint to keep the upstream diff narrow.Remaining work / compatibility
The approved acceptance matrix is not complete. Subsequent fixes add publication snapshots, same-source child inheritance, retained generation cleanup, reentrant stream close/reload rejection, replay part/message persistence, host-result origin, capability flags, instance thinking controls, unknown-price display, and retry/usage regression tests. Remaining release blockers include bounded handling and ownership of noncooperative auth/Create callbacks; cancellation of all generations before waiting on any one; shutdown called from auth/Create/Close callbacks; complete auth refresh and live picker refresh; full schema validation and malformed event-payload validation; missing-extension resume diagnostics; complete save/reopen/branch and code-mode/denial/concurrent reload acceptance coverage. Passing existing tests does not establish these guarantees.
The local interpreter copy is intentionally large but has a narrow documented patch; generated stdlib tables remain pinned upstream. This avoids sockets, worker processes, repeated Init side effects and per-extension serialization. Review this maintenance tradeoff before release.
UI evidence
The picker now accepts host-owned instance metadata. No visual verification or screenshots have been performed; terminal interaction and auth availability need manual verification after integration is complete.
Latest evidence
Current head
63516b6f7fb49332631effd2e06792c6800e2b4f: GitHub lint, test, and staticcheck-advisory all succeeded. CodeRabbit skipped the draft; its success status is not a completed code review. No inline or summary reviews have been posted. Local full race tests, vet, and build pass; the documented offline CLI greeting and extension catalog command work. The PR remains draft/WIP because the full approved specification is not complete.Further work now tracks and cancels Create/auth generation leases, cancels all owners before draining, rejects runtime Close reentry, validates tool schemas without network loaders, validates assembled arguments against schemas, and rejects mismatched event fields. Release acceptance remains incomplete: noncooperative authentication deadline behavior, live auth/picker refresh, missing-extension resume diagnostics, complete concurrent reload and branch/code-mode/denial coverage, and session-resource lifetime after timed-out shutdown still require work.