feat: allow disabling AI-generated thread titles - #3
Conversation
RESULT — canonical fork-only handoffStatus: PASS Canonical PR: #3 Final head: Fork base Placement: fork-only. This customization is not intended for submission to Implementation: AI thread-title generation can be disabled with Restore-default repair: global Restore default settings now includes Prior durable receipts: the implementation and repair were originally recorded on accidental upstream PR Validation: targeted server/settings/web tests, restore regression tests, scoped typechecks, lint, and formatting were reported passing on this exact head. |
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Repository: nullStack65/t3code/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Add an environment-wide generateThreadTitles server setting, default on. When off, T3 makes no title-generation LLM call: the first-turn generation, refinement, and manual regeneration paths all return early, leaving the deterministic first-prompt title in place. Manual regeneration still completes through the existing path so no spinner or titleRegeneration state is left pending. The setting is surfaced in Settings > General > Text generation, is searchable, and hides the per-thread Regenerate title action when off. Conversation inference and provider/agent rename behavior are untouched.
Global "Restore default settings" omitted generateThreadTitles, so turning AI thread titles off and then restoring defaults reported success while leaving the setting false. Its default is true. Add it to the changed-setting labels, the changed-setting memo dependencies, and the restore updateSettings patch, matching the other server settings. Cover the hook with a focused regression test proving the false -> true reset and the changed label.
b3bd003 to
baba583
Compare
Thread transfer impact
This comment will update automatically after the next completed run. |
RESULT — current-main refreshStatus: PASS Canonical PR: fork PR #3 Prior head: Final head: Fork main: Upstream main observed: Merge base (head vs fork main): Refresh / rebaseFork
Feature proof
LLM call-site audit (current
|
RESULT — MERGEDStatus: PASS Accepted head: Pre-merge base: Merge commit: Resulting fork main: Acceptance
Feature landed
Scope
Ownership Landed only in nullStack65/t3code. pingdotgg/t3code remains read-only upstream. |
INSTALL RECEIPT — macOSStatus: PASS Machine: macOS 26.6.2 (x86_64) Architecture
Previous installation
Fork source
Artifact
Installed fork
State preservation
Update ownership
Feature proof
Issues / deviations
Installed by the T3 Code machine migration agent; source |
INSTALL RECEIPT — Windows (START)Scope: migrate the Windows T3 Code desktop install from the stock upstream build ( Head: fork Recon (observed):
Plan: build x64 NSIS from fork |
INSTALL RECEIPT — WindowsStatus: PASS (one documented deviation: no bundled WSL runtime archive) Machine: Windows x64 (AMD64), Windows 10.0.26200, host Previous installation
Fork source
Artifact
Installed fork
State preservation
Update ownership
Feature proof
Issues / deviations
|
START — Windows final verification / handoffScope: determine actual current Windows T3 install state, finish anything genuinely incomplete, post durable Windows INSTALL RECEIPT.
|
INSTALL RECEIPT — WindowsStatus: PASS The prior migration did finish on this machine. No reinstall was performed; this is verification + a durable receipt. I confirmed the running app is a fork build, confirmed state preservation, confirmed update ownership cannot silently revert to upstream, and confirmed the fork feature with source, bundle, persisted-settings, and live-UI evidence. Machine
Previous/current installation
Fork provenance
State preservation
Update ownership
Feature proof
Issues / deviations
|
COORDINATION — fork releases, new-machine installation, and WSL backendOwner request: support the Windows WSL backend and establish proper, repeatable builds/releases/install/update procedures for this fork. Desktop migration alone is not distribution completion. Refreshed baseline
Work ownership / discoveryR — release implementation owner: sole repository code writer for this wave; create a narrowly scoped release/distribution PR into W — Windows/WSL qualification owner: on the actual Windows machine; no competing source edits. Rebuild native helper and matching Linux runtime, exercise packaged Windows-to-WSL startup in isolated state, correct WinGet pinning, and post machine/toolchain/artifact/test evidence here and on R's PR once available. Send source defects/patch proposals to R. M — macOS qualification owner: on the actual Intel Mac; no competing source edits. Qualify reproducible DMG packaging, clean-profile downloaded-artifact launch, signing/notarization/update limitations, and state-preserving replacement/rollback. Post evidence here and on R's PR once available. All agents refresh state and read this comment before work. Do not busy-wait for another agent; complete independent work, state remaining dependencies, and return. Baseline qualification is NOT final release-candidate acceptance. Product contract
Completion gateSource PR, successful real build receipts, complete candidate asset set, fork provenance/update checks, Windows native+WSL smoke, macOS clean-install smoke, upgrade/state/rollback checks, and an actual verified published release are separate gates. Do not report the whole setup DONE after only writing YAML or building locally. R may implement/commit/push/open a fork PR and prepare draft candidate artifacts. Stable publication, new trust roots/runner services, and replacement of the live installed apps remain separate explicit gates. Results belong on GitHub: exact base/head, commands, artifact hashes, executed vs deferred tests, unresolved decisions, and the next executable action. Chat responses should return only status, PR/receipt URLs, and exact SHAs. |
START — R, fork release implementation ownerScope: fork-specific build/release entry point, release-quality artifact checks, fork identity/update isolation, signing honesty, new-machine install/maintenance docs. Base Refreshed state: fork DESIGN / DECISIONSRunner plan. Thin Versioning. Fork releases use a fork-owned, strictly increasing plain App identity. Update policy. Signing. Honest three-level model: unsigned manual-install artifacts always build; signed/notarized artifacts only when Apple/Azure secrets exist (reusing the existing auto-detect path); in-app desktop updates only where a feed is published and the platform supports it. macOS Intel auto-update is not claimed. No signing credentials are provisioned or purchased in this wave. Gates remaining (separate, none claimed done). Source PR; real workflow build receipts; complete candidate asset set with WSL archive + checksums; Windows native+WSL smoke; macOS clean-install smoke; upgrade/state/rollback checks; and an actual verified published release. Publication, new trust roots/runner services, and replacing live installs remain owner-controlled and out of scope here. Continuing implementation now. |
RESULT — WINDOWS WSL QUALIFICATIONStatus: PASS (baseline qualification, independent of R's release PR). Final-candidate acceptance against R's published installer is still required and is listed below. No competing source edits were made; Source SHA/version: R's implementation PR: not yet posted. Rechecked the fork PR list: only #1, #2, #3 (merged), #4 (metrics). No release/distribution PR exists to comment on. This receipt will be mirrored to it when it appears. Toolchain and prerequisite changes (machine-local, no reboot, no security weakening)
Actual build commandsWSL (Linux x64 runtime, same SHA): Windows cross-compile (helper only) and desktop packaging: Native helper provenance (built from source — nothing copied from the installed app)
Artifacts and hashes
WSL acceptance (executed; isolated
|
R — implementation PR openedImplementation PR: #5
What landed
Gate discovered (operator action required)
Continuing with local validation on PR #5. |
R — RESULT posted on the implementation PRRESULT — FORK RELEASE IMPLEMENTATION: #5 (comment)
|
RESULT — MACOS RELEASE QUALIFICATIONStatus: PASS (baseline qualification) with an explicit signing boundary and one deferred owner gate. Toolchain (exact, resolved — not ambient)
Native build requirement — root cause + working recipe (previously undocumented)The reported "native node-pty/compiler requirement" is now precisely reproduced and fixed:
Successful build: Resulting Artifacts and reproducibility
Reproducibility detail: of the 2,642 files inside Embedded provenance verified in both artifacts: Signing / notarization capability
Downloaded-bytes / quarantine (SIMULATION — not a real second machine)Simulated a browser download by copying the DMG to an isolated dir and setting
New-machine install + launch (isolated profile and test install location)Copied the app to an isolated
Update-source isolation
State-preserving replacement + rollback (isolated; synthetic state)Procedure deliberately staged and validated the candidate before touching the install:
Is this machine suitable for authorized isolated release builds?
Defects for R (source edits belong on PR #5)
Outstanding final-candidate / owner gates
No secrets, auth tokens, pairing URLs, or private state are included in this receipt. |
Fork-only customization
This PR carries the T3 customization to let users disable AI-generated thread titles.
This is intentionally a fork-only change for
nullStack65/t3code. It is not an upstream submission.Behavior
generateThreadTitles, defaulttrue.true.Validation
The implementation and restore-default repair were validated at exact head:
b3bd0032f529995d90a99b99a9b7fbcd804edb05Targeted results included:
Provenance
This work was accidentally opened against upstream as
pingdotgg/t3code#12980. The canonical review/home is this fork PR. The upstream PR should remain closed.