Repository navigation
fix(server): thread titles use the thread's own provider and model - #1
Closed
IEatCodeDaily wants to merge 417 commits into
Closed
IEatCodeDaily wants to merge 417 commits into
IEatCodeDaily wants to merge 417 commits into
Conversation
…pingdotgg#33543) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…op (pingdotgg#33598) Co-authored-by: Claude Fable 5.2 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
) OpenCode usage scans materialized complete message bodies and queried empty rowid ranges. Select in-window rowids first and project usage fields in SQLite, keeping message bodies off the JS heap. Read each database in one snapshot and record scan row and page counts. On a read-only snapshot of a 3.32 GB real database, five fresh-process runs measured 2.33x faster 30-day reads and 2.82x faster 90-day reads with identical records. These are cold application-cache measurements; OS caches were not cleared. Local check:changed and CI passed. Adapted SQL projection from pingdotgg#27679 and window selection/snapshot handling from pingdotgg#26613. Model and harness: GPT 6.1 Sol through Codex in T3 Code. Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Tymoteusz Bielski <31070271+TymekTM@users.noreply.github.com> Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#33627) Co-authored-by: Claude Fable 5.2 <noreply@anthropic.com>
…ingdotgg#33629) Co-authored-by: Claude Fable 5.2 <noreply@anthropic.com>
…gg#33632) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Normalize Cursor usage pages as they arrive, retain bounded raw page data, and preserve count-proven boundary deduplication and stable event keys. Use direct hex hashing, limit concurrent account refreshes to two, reuse unchanged cached records, and persist retention pruning. Validation: check:changed passed with 61 focused tests; 40 differential reader cases matched the original output. CI and agentic reviews passed on the merged head. GPT 6.1 Sol via Codex in T3 Code.
…pingdotgg#32643) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…approve" (pingdotgg#33645) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
New threads started without an active thread or draft used the first project in sidebar order, even after working in another project. This was visible when creating a draft from Settings or delivering a pending snapshot after reopening the app. Remember the project from the current thread or draft, including its environment, and prefer it when a new draft needs a project. Removed or archived projects fall back to sidebar order. The new-thread keyboard shortcut reads the same preference when invoked. Pending snapshots wait while the remembered environment loads and retry when its project state becomes available. Validation: regression coverage for project selection across environments, missing and archived projects, and a preference changed after shortcut registration. Verified Settings → reload → New thread in the client. `vp run check:changed` covers formatting, lint, affected typechecks, tests, and React compiler checks. Model: GPT 6.1 Sol via the Codex harness.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…s that build (pingdotgg#33617) Co-authored-by: Claude Fable 5.2 <noreply@anthropic.com>
…w at rest (pingdotgg#33599) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…g#13809) Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net>
…bar changes (pingdotgg#33611) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…rashpad pipe (pingdotgg#26374) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…#33618) Co-authored-by: Claude Fable 5.2 <noreply@anthropic.com>
…tgg#26630) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net>
…ab (pingdotgg#23589) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net>
Add a Details action for pending background commands and subagents. Preserve Claude command metadata across roster updates and bind output visibility to the explicit command item. Keep internal task IDs, duplicate command labels, and empty output headings out of the dialog. Validation: check:changed passed with 371 tests; CI and agentic reviews completed on a0326ab. Verified command details in real Codex and Claude runs. Implemented and verified with GPT 6.1 Sol in the Codex harness.
…anup (pingdotgg#33664) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…tgg#33663) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…tgg#33674) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#33678) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
…otgg#21968) Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ingdotgg#24138) Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…gdotgg#30575) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: Julius Marminge <julius0216@outlook.com>
… answers (pingdotgg#26992) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gdotgg#17042) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…pingdotgg#27192) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…host returns without this update's outcome (pingdotgg#27275) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…me (pingdotgg#20809) Co-authored-by: Yannic Charlon <52761674+JustYannicc@users.noreply.github.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
…ock (pingdotgg#23001) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ar file (pingdotgg#26594) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…ds the inspection limit (pingdotgg#26593) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…eckpoints (pingdotgg#27425) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ngdotgg#34170) Co-authored-by: Claude Fable 5.2 <noreply@anthropic.com>
…ingdotgg#10495) Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net>
…gdotgg#14170) Co-authored-by: Julius Marminge <julius0216@outlook.com>
…at t3_thread_list takes allProjects (pingdotgg#26525) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Title generation always ran the global text generation model (Codex by default), even when that instance was disabled, and failures only reached the server log. ACP Registry instances could not generate text at all. - TextGeneration.generate treats a disabled selected instance as unusable, so every text task falls back to an enabled provider or explains why. - Titles default to the thread's own model selection and pass its native session; threadTitleModelSelection overrides it (Settings > Threads). - ACP Registry instances generate text in a hidden, deleted session that forks the thread's session when the agent negotiated session/fork. - A failed title leaves a system notice on the thread with the cause. - Title input drops the Context handoff header from handoff prompts. Model: custom:9router:opus via Hermes (acpRegistry) in T3 Code
Owner
Author
|
Superseded by upstream pingdotgg#36513 and pingdotgg#36514 (rebuilt from pingdotgg#34725). Not maintaining a fork. |
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.
Title regeneration ran the global text generation model (Codex by default) even when that instance was disabled, failed with 401, and only logged a server warning. ACP Registry instances (e.g. Hermes) could never generate text.
Fix
TextGeneration.generate(shared seam): a disabled selected instance is unusable, so commit/PR/branch/review/title generation falls back to an enabled provider, or fails with a clear reason.modelSelectionand pass the active provider thread's native session id. NewthreadTitleModelSelectionsetting (Settings → Threads → Text generation → Advanced → Title model) pins one model instead. No provider-specific code in the title service.fromRunner: a hidden session (reusing the management runtime) that forks the thread's session when the agent negotiatedsession/fork, else a one-shot session. Every session it opens is deleted; tool permissions are refused.system_noticeon the thread with the cause (renders on web and mobile, no new UI).Context handoff (...)header viawithoutContextHandoff, next towithInlineContext, which builds it.Coverage (existing files): ThreadTitleRegenerationService (failure notice; own model + session + header strip), CodexTextGeneration preflight table (
disabledrow), AcpRegistryProbe (fork vs one-shot against the mock agent; source session never deleted), acp-registry driver snapshot.Gates (fork has no Blacksmith runners, so upstream
ci.ymlcannot start here; equivalent full-repo gates ran on hosted runners fromci/title-gen-thread-model= this head + one workflow file, run 43117786489): format+lint+knip ✅, typecheck all 41 packages ✅, packages+desktop ✅, web ✅, server shards 2–8 ✅, server shard 1 ❌ only onstorageCleanup.test.ts > compares the checked-out branch without a full status, which fails identically on the PR based2c25950(baseline job), so it is pre-existing and unrelated.Base note: fork
mainis behindpingdotgg/t3codemain; only the last commit is this change.Model: custom:9router:opus via Hermes (acpRegistry) in T3 Code