T3 Code audit: pull requests, volume 7

pingdotgg/t3code. All authors. Drafts included. Default branch main. 570 issue assessments and 925 PR assessments. Initial inventory: 570 open issues and 924 open PRs. Current assessed open inventory: 570 issues and 924 PRs. Final reconciliation: 2026-09-01T11:57:41.491617+00:00.

Source baseline: e86604d3372acccd9f6a33a2c4ae46f4e2685541. A fix in this commit is not necessarily in a stable release.

Pull requests, volume 7

106 items. Each GitHub number links to its item. Recommendations and GitHub metadata are shown separately.

PR #8666. feat(web): reorder active sidebar threads

Request. Let users reorder active unpinned threads and keep that order in the browser.

Audit finding. Main only makes pinned rows sortable and sorts active rows by their activity anchor. The patch adds local persisted active order, preserves hidden project slots, and updates sidebar deletion fallback. Pinned order is server-synced while this order is browser-only, and other delete entry points still omit the new preferred order, so the storage and navigation rules need a deliberate decision.

Recommendation. Keep open: decision needed. Decide whether active order should sync across clients, then make every deletion entry point use the chosen order.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author abcdmku. Updated 2026-08-29T17:40:17Z. Draft no. Target main. Head 98da5ea9bd4068ec3bf74c8ae27d9aa0a80e67a4. Branch feat/unpinned-thread-reordering. Size +419 / -33, 7 files, 3 commits. Mergeability MERGEABLE. Merge state CLEAN. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 17 passed, 0 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:51:51.853946+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8039, #5581, #5767.

PR #8672. fix: clear implicit project model defaults

Request. Stop implicit project model defaults from overriding the last selected model.

Audit finding. Main still writes a concrete model during bootstrap, CLI add, and command-palette project creation. This patch stops those writes but migrates only bare legacy Codex defaults, so it leaves newer implicit model values reported in the related issue. Its migration cannot distinguish an intentional creation-time value with the same shape, and another open PR proposes broader cleanup plus Codex config defaults.

Recommendation. Keep open: decision needed. Choose one migration policy with the broader defaults proposal and explicitly test intentional creation-time values.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author HamzaNa1. Updated 2026-08-29T23:05:14Z. Draft no. Target main. Head 89486e9f3f4c3a7b53cd50dcc020daa4e1586cc7. Branch fix/clear-implicit-project-model-defaults. Size +194 / -25, 7 files, 1 commits. Mergeability MERGEABLE. Merge state BLOCKED. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 10 passed, 0 failed, 0 pending, 3 skipped. Checks captured 2026-09-01T11:51:51.854264+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #6011, #8913, #8829.

Limits. Canonical latest-commit metadata has no results for these required checks: Test, Check, Mobile Native Static Analysis, Release Smoke.

PR #8674. feat(codex): add native GLM parent profile

Request. Add an isolated native GLM profile with parent and child model verification.

Audit finding. Main allows configured Codex models but has no named GLM profile policy or post-turn profile proof enforcement. This PR hard-codes one profile, changes child attribution and terminates sessions when proof fails, beyond a model-picker addition. The author explicitly says this is an external-system CI mirror and must not be merged or activated from GitHub.

Recommendation. Keep open: decision needed. Ask the author whether a separate upstream proposal is intended and keep this mirror out of the merge queue.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author only21mil. Updated 2026-08-29T23:16:44Z. Draft no. Target main. Head 651d2bc64e9cb3fc3f529e89fa0ee5f92ce5b375. Branch sats/glm-native-parent-ed6ef194-20260829. Size +2419 / -70, 27 files, 1 commits. Mergeability MERGEABLE. Merge state BLOCKED. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 7 passed, 1 failed, 0 pending, 4 skipped. Checks captured 2026-09-01T11:51:51.854388+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 8. Counts do not replace review of the findings.

Evidence read. body yes, discussion no, full diff no, current source yes, history yes.

Related work: #8655, #8502.

Limits. The profile policy and selected integration code were inspected, but the full 27-file diff was not reviewed. The external review system named in the PR was not accessed. Only selected current review findings were read. The complete discussion and resolved review history were not reviewed. Latest-head required check results are absent for Test, Check, Mobile Native Static Analysis, Release Smoke.

PR #8676. feat(mcp): organize thread state

Request. Expose project-scoped thread organization and deletion through orchestrator MCP.

Audit finding. The intended four commits add typed organization fields, batch actions, permanent deletion, and an atomic pending-request archive guard. Main has neither this MCP toolkit nor its unmerged orchestration prerequisite, and the recorded PR base now produces a 954-file, 14 MB diff rather than the intended 15-file change. The intended code can be identified, but the actual PR comparison is not a trustworthy merge scope.

Recommendation. Keep open: evidence needed. Retarget the PR to the preserved prerequisite snapshot and request review of the intended four commits.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author juliusmarminge. Updated 2026-09-01T05:36:37Z. Draft no. Target t3code/codex-turn-mapping. Head 938895bc356d5ff205f3ea3a5d760b44b7acd422. Branch agents/mcp-thread-state/organization. Size +193107 / -102178, 954 files, 328 commits. Mergeability CONFLICTING. Merge state DIRTY. Target is not main. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 16 passed, 1 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:51:51.854453+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #2829, #8683.

Limits. The current 954-file PR diff was not reviewed in full. The intended contracts and mutation paths were inspected separately from the rewritten base, but this does not validate the current PR comparison. Test Server 3 fails on the current head despite the aggregate Test check succeeding; its cause was not investigated. An older related reference could not be retrieved from GitHub. It is excluded from verified dependencies and fix evidence.

PR #8677. feat(mcp): add project management tools

Request. Let agents list, read, create, update, and delete project records through MCP.

Audit finding. Main has project mutation commands and preview MCP tools but no project-management toolkit. The inspected contracts and service add clone-or-directory creation, explicit-null defaults, and record-only cascade deletion. The actual base is t3code/codex-turn-mapping rather than the stated isolated rollout base, leaving a large unrelated diff and an unmerged V2 dependency.

Recommendation. Keep open: work remains. Restore a focused project-management review base for the V2 rollout.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author juliusmarminge. Updated 2026-09-01T05:36:37Z. Draft no. Target t3code/codex-turn-mapping. Head 4e9c9a50cd3789059e364ff93f948b580525e0ac. Branch agents/mcp-projects/management. Size +195492 / -102232, 965 files, 339 commits. Mergeability CONFLICTING. Merge state DIRTY. Target is not main. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 16 passed, 2 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:51:58.085431+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #8678.

Limits. The full retargeted diff is about 14 MB and contains over 950 files. Only the feature-specific portions were inspected. An older related reference could not be retrieved from GitHub. It is excluded from verified dependencies and fix evidence.

PR #8678. feat(mcp): target thread launches by project

Request. Launch and manage MCP threads in a selected project with explicit workspace strategies.

Audit finding. The diff adds projectId, root and worktree strategies, expected-branch checks, and policy ceilings in ThreadLaunchService. None of this orchestration MCP path exists on pinned main. It depends on the open project-management layer, so its passing branch checks cannot establish an independently mergeable main change.

Recommendation. Keep open: work remains. Review project targeting after the project-management dependency has a stable rollout base.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author juliusmarminge. Updated 2026-08-30T20:41:34Z. Draft no. Target agents/mcp-projects/management. Head c0063cd63f3f3c1d900573f4a90151922eac6f03. Branch agents/mcp-projects/targeted-threads. Size +2731 / -206, 20 files, 16 commits. Mergeability MERGEABLE. Merge state UNSTABLE. Target is not main. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 16 passed, 1 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:51:58.085867+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #8677.

Limits. The 20-file, 194 KB diff was inspected for contracts and launch behavior but not reviewed in full. An older related reference could not be retrieved from GitHub. It is excluded from verified dependencies and fix evidence.

PR #8680. feat(mcp): let agents change thread workspaces

Request. Let an agent move its thread between branches, project roots, and worktrees.

Audit finding. The inspected contract adds checkout targets and explicit partial-failure reporting, while the branch depends on V2 workspace inventory. Pinned main has no t3_thread_checkout MCP registration. This is not worktree retention or pruning, and the separate lifecycle proposal is not a replacement.

Recommendation. Keep open: work remains. Complete the checkout and rollback review after workspace inventory lands in the rollout stack.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author juliusmarminge. Updated 2026-08-30T20:44:06Z. Draft no. Target agents/mcp-workspaces/inventory. Head 0e3839f3b794914aac1353e6ebe03d7ffa9d2c76. Branch agents/mcp-workspaces/checkout. Size +3653 / -324, 17 files, 17 commits. Mergeability MERGEABLE. Merge state UNSTABLE. Target is not main. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 16 passed, 2 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:51:58.086075+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #8685, #5589.

Limits. The 17-file, 202 KB diff was not reviewed in full, including all Git race and rollback paths. An older related reference could not be retrieved from GitHub. It is excluded from verified dependencies and fix evidence.

PR #8683. feat(mcp): defer thread organization safely

Request. Let an active agent schedule settlement or archival after its current run completes.

Audit finding. The proposal adds a durable run-bound organization intent with read and cancel operations. Main server-side settlement does not expose that deferred agent request or archive-after-run behavior. This remains a V2 lifecycle extension on the open organization layer, not a fix already supplied by server settlement.

Recommendation. Keep open: work remains. Review the deferred-intent lifecycle after the immediate organization layer is integrated.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author juliusmarminge. Updated 2026-08-30T20:45:03Z. Draft no. Target agents/mcp-thread-state/organization. Head 284b9dca6933303a56fe7ce10748847444cfe2e7. Branch agents/mcp-thread-state/deferred. Size +1469 / -21, 20 files, 8 commits. Mergeability MERGEABLE. Merge state UNSTABLE. Target is not main. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 16 passed, 1 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:51:58.086387+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #8676, #8600.

Limits. The 20-file, 91 KB diff was not reviewed in full, including startup recovery and terminal-run tests. An older related reference could not be retrieved from GitHub. It is excluded from verified dependencies and fix evidence.

PR #8685. feat(mcp): expose thread workspace inventory

Request. Expose read-only physical worktree inventory and recorded-versus-actual thread workspace state.

Audit finding. The inspected contracts distinguish recorded state, actual branch and dirty state, missing entries, bounded bindings, and pagination. Main has Git ref APIs but no t3_worktree_list or enriched MCP status result. Its actual retargeted base includes the unmerged V2 rollout, and checkout mutations remain a separate dependent PR.

Recommendation. Keep open: work remains. Restore the inventory-only review diff on the intended V2 rollout base.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author juliusmarminge. Updated 2026-09-01T05:36:36Z. Draft no. Target t3code/codex-turn-mapping. Head 9eaeae02a118a77cd3449be72c516b1d2921b0e7. Branch agents/mcp-workspaces/inventory. Size +193483 / -102212, 957 files, 338 commits. Mergeability CONFLICTING. Merge state DIRTY. Target is not main. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 16 passed, 1 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:51:58.086567+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #8680, #5589.

Limits. The full retargeted diff is about 14 MB and contains over 950 files. Only the feature-specific portions were inspected. An older related reference could not be retrieved from GitHub. It is excluded from verified dependencies and fix evidence.

PR #8689. fix(orchestration): persist linked pull requests

Request. Persist linked pull request metadata in the proposed V2 orchestrator, including unlink and projection rebuilds.

Audit finding. The intended commit adds the missing V2 metadata assignment and a link/rebuild/unlink lifecycle test. Main uses the older orchestrator and already persists its own link field, which does not prove the V2 defect fixed. The PR targets a feature branch and currently includes 953 files of prerequisite changes, so its narrow commit is not a main fix.

Recommendation. Keep open: work remains. Repair the stack base so this PR exposes only the two-file V2 metadata change for review.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author juliusmarminge. Updated 2026-09-01T05:36:36Z. Draft no. Target t3code/codex-turn-mapping. Head 7bc232e6bea476bcd43c82c780aa9f83f9c823d5. Branch agents/mcp-thread-metadata/persistence. Size +192192 / -102178, 953 files, 325 commits. Mergeability CONFLICTING. Merge state DIRTY. Target is not main. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 17 passed, 1 failed, 0 pending, 8 skipped. Checks captured 2026-09-01T11:51:58.086745+00:00.

Reviews. GitHub review decision APPROVED. Current-head approvals 1. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #8690, #8488.

Limits. The complete 14 MB, 953-file PR diff was not reviewed. The intended two-file commit was reviewed. GitHub reports merge conflicts with the target branch. Latest head has failing checks: Test Server 3. Failure logs were not triaged in this audit. An older related reference could not be retrieved from GitHub. It is excluded from verified dependencies and fix evidence.

PR #8690. feat(mcp): update thread metadata

Request. Let provider agents rename threads, regenerate titles, and link or unlink pull requests through MCP.

Audit finding. Main has only the preview MCP capability and no thread-metadata tool. The patch adds all four actions, project-scoped lookup, receipt-based retries, and matching read state, with the reviewed idempotency and missing-caller cases corrected. It depends on unmerged V2 linked-PR persistence in PR #8689, and CI fails the same four OpenCode V2 replay scenarios as the other native MCP stack branches.

Recommendation. Keep open: work remains. Fix the four OpenCode replay scenarios on the shared V2 base, then land the linked-PR prerequisite before this tool.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author juliusmarminge. Updated 2026-08-30T20:21:37Z. Draft no. Target agents/mcp-thread-metadata/persistence. Head 13b1c0a15097a8ef0f46310af92d43ba02e7ef39. Branch agents/mcp-thread-metadata/update. Size +773 / -5, 16 files, 5 commits. Mergeability MERGEABLE. Merge state UNSTABLE. Target is not main. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 16 passed, 1 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:51:58.086941+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8689.

Limits. The four shared OpenCode replay failures were identified in CI logs, but their root cause was not isolated.

PR #8695. feat(mcp): configure existing conversations

Request. Allow an agent to read and change an existing project thread configuration through MCP.

Audit finding. The new service validates provider choices and caller permission ceilings and uses V2 receipts for configuration retries. Main registers preview tools only and has neither these tools nor the V2 command model they require. This is pending feature-branch work, not a duplicate of a landed main configuration fix.

Recommendation. Keep open: decision needed. Review the configuration service and dispatch-lock changes after the V2 base is fixed for landing.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author juliusmarminge. Updated 2026-09-01T05:36:37Z. Draft no. Target t3code/codex-turn-mapping. Head 8c07d9190b7e6a69967cb9596535427d66cf32bf. Branch agents/mcp-conversations/configuration. Size +194568 / -102178, 958 files, 328 commits. Mergeability CONFLICTING. Merge state DIRTY. Target is not main. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 16 passed, 1 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:51:58.087120+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #8696, #8716.

Limits. The complete 958-file diff was not reviewed. The V2 base is not an ancestor of pinned main. GitHub reports merge conflicts at the reviewed head.

PR #8696. feat(mcp): fork existing conversations

Request. Create durable conversation forks and inspect their transfer records through scoped MCP tools.

Audit finding. The new transfer service selects completed source runs, checks same-project authority and mode ceilings, and derives retry-stable fork identities. Pinned main has no conversation-transfer MCP tools or V2 transfer contracts. The merge-back proposal depends on this branch, so it remains active stack work rather than a main fix.

Recommendation. Keep open: decision needed. Review the fork layer with its V2 base before the dependent merge-back layer.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author juliusmarminge. Updated 2026-09-01T05:36:37Z. Draft no. Target t3code/codex-turn-mapping. Head 9fb708321bbe4717656aba85f98a93e43bfde159. Branch agents/mcp-conversations/fork. Size +193407 / -102178, 958 files, 326 commits. Mergeability CONFLICTING. Merge state DIRTY. Target is not main. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 17 passed, 1 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:51:58.087299+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #8697.

Limits. The complete 958-file diff was not reviewed. The V2 base is not an ancestor of pinned main. GitHub reports merge conflicts at the reviewed head. An older related reference could not be retrieved from GitHub. It is excluded from verified dependencies and fix evidence.

PR #8697. feat(mcp): merge back conversation context

Request. Return a completed fork conversation to its original parent through MCP.

Audit finding. Main does not register conversation-fork or merge-back MCP tools. The proposal adds lineage checks and a receipt-backed context transfer consumed by a later parent turn, not a Git merge. It is still the upper layer of the open conversation-transfer stack.

Recommendation. Keep open: work remains. Review merge-back after the conversation-fork dependency has been integrated.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author juliusmarminge. Updated 2026-08-30T20:43:58Z. Draft no. Target agents/mcp-conversations/fork. Head efbb1863ab254b0cabe6e816681861a28ba08e13. Branch agents/mcp-conversations/merge-back. Size +808 / -27, 16 files, 3 commits. Mergeability MERGEABLE. Merge state UNSTABLE. Target is not main. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 16 passed, 1 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:51:58.087498+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #8696.

Limits. The 16-file, 56 KB diff was not reviewed in full, including provider consumption and retry integration tests. An older related reference could not be retrieved from GitHub. It is excluded from verified dependencies and fix evidence.

PR #8699. feat(mcp): manage queued thread work

Request. Let agents inspect, edit, reorder, cancel, and promote queued thread work through MCP.

Audit finding. The inspected QueueMcpService keeps targets within the caller project, uses durable receipts, and applies fresh permission ceilings to edit and promote. Main exposes none of the queue MCP tools. The public diff includes the unrelated V2 rollout after retargeting, so this remains queue-control work awaiting a focused review.

Recommendation. Keep open: work remains. Restore a focused queue-tool diff and review it against the final V2 dispatch APIs.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author juliusmarminge. Updated 2026-09-01T05:36:37Z. Draft no. Target t3code/codex-turn-mapping. Head e2f3c0f77de313c08caf40e9ca20cd64b1fe4eae. Branch agents/mcp-queue-inputs/controls. Size +194032 / -102178, 960 files, 333 commits. Mergeability CONFLICTING. Merge state DIRTY. Target is not main. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 17 passed, 1 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:51:58.087674+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Limits. The full retargeted diff is about 14 MB and contains over 950 files. Only the feature-specific portions were inspected.

PR #8700. feat(mcp): support thread attachments

Request. Let MCP thread creation and send operations use signed attachment references.

Audit finding. Main supports user attachment uploads but does not expose the proposed MCP upload-preparation or discard tools. The inspected service reuses signed uploads, rejects discard of thread-owned files, and returns metadata rather than bytes. Provider-specific thread claiming and retry behavior remain part of the unmerged V2 branch, so the recent client attachment feature does not close this MCP scope.

Recommendation. Keep open: work remains. Restore an attachment-only review diff on the V2 rollout base.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author juliusmarminge. Updated 2026-09-01T05:36:37Z. Draft no. Target t3code/codex-turn-mapping. Head 31682e6ea5f7a68b8dd6f4e76f8cbeffbb9de2d7. Branch agents/mcp-queue-inputs/attachments. Size +193998 / -102178, 962 files, 336 commits. Mergeability CONFLICTING. Merge state DIRTY. Target is not main. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 17 passed, 1 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:51:58.087866+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #8236, #8048.

Limits. The full retargeted diff is about 14 MB and contains over 950 files. Only the feature-specific portions were inspected.

PR #8702. feat(mcp): inspect durable checkpoints

Request. Expose bounded, project-scoped checkpoint listing and diff inspection through MCP.

Audit finding. Main registers preview MCP tools but has no checkpoint list or diff toolkit and no V2 checkpoint projection. The intended changes validate scope/ref identity, page checkpoint metadata, and report provider restore blockers. This PR targets an unmerged foundation branch and its full diff includes 960 files, so the tools are not available on main.

Recommendation. Keep open: work remains. Restore a narrow stack diff and complete the checkpoint-tool review before merging its dependent restore PR.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author juliusmarminge. Updated 2026-09-01T05:36:37Z. Draft no. Target t3code/codex-turn-mapping. Head 09971c67b215895538353552ccbea40fdae6c4c6. Branch agents/mcp-checkpoints/inspect. Size +193437 / -102178, 960 files, 328 commits. Mergeability CONFLICTING. Merge state DIRTY. Target is not main. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 16 passed, 1 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:51:58.088061+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #8703.

Limits. The complete 14 MB, 960-file PR diff was not reviewed. Intended checkpoint service, contracts, registration, and restore-support changes were inspected. GitHub reports merge conflicts with the target branch. Latest head has failing checks: Test Server 3. Failure logs were not triaged in this audit. An older related reference could not be retrieved from GitHub. It is excluded from verified dependencies and fix evidence.

PR #8703. feat(mcp): restore durable checkpoints

Request. Let MCP request and observe a guarded, idempotent durable checkpoint restore.

Audit finding. Main has no checkpoint MCP restore tool, and this branch depends on the unmerged V2 inspection stack. The inspected contract permits expectedWorkspaceFingerprint without expectedIdle, while process-loss recovery treats a rollback as guarded only when both fields exist. That current review finding matches the code and can leave fingerprint-only restores on the replay path. The full destructive-restore diff still needs review.

Recommendation. Keep open: work remains. Require the restore guard fields together or treat every fingerprinted restore as guarded before the full safety review.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author juliusmarminge. Updated 2026-08-30T20:22:57Z. Draft no. Target agents/mcp-checkpoints/inspect. Head 221eb619a806c845a4931bb21a75075c28885265. Branch agents/mcp-checkpoints/restore. Size +3150 / -185, 32 files, 12 commits. Mergeability MERGEABLE. Merge state UNSTABLE. Target is not main. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 13 passed, 2 failed, 0 pending, 11 skipped. Checks captured 2026-09-01T11:51:58.088252+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 3. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #8702.

Limits. The full 186 KB diff was not reviewed. Tool contract, fingerprint, idempotency interface, dispatch-lock, and process-loss paths were inspected. Latest head has failing checks: Test Server 3, Macroscope - Effect Service Conventions. Failure logs were not triaged in this audit. An older related reference could not be retrieved from GitHub. It is excluded from verified dependencies and fix evidence.

PR #8707. feat(mcp): control managed terminals

Request. Expose project-scoped managed terminal operations to agents through MCP.

Audit finding. Main registers no managed-terminal MCP tools and has none of the required V2 admission services. The inspected service enforces caller and target policy, bounds in-memory reads, and reports input acceptance rather than shell success. The PR changes terminal incarnation and event ordering inside a conflicting 964-file, 14 MB diff that was not completely reviewed. CI also fails four OpenCode V2 replay scenarios and the Effect Service Conventions check.

Recommendation. Keep open: work remains. Restore a focused diff on the agreed V2 stack base, then review terminal event ordering and rerun its failing checks.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author juliusmarminge. Updated 2026-09-01T05:36:37Z. Draft no. Target t3code/codex-turn-mapping. Head 8116d35b35d341f1daa54f5973ace73dadbd314d. Branch agents/mcp-terminals/controls. Size +194713 / -102292, 964 files, 329 commits. Mergeability CONFLICTING. Merge state DIRTY. Target is not main. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 14 passed, 2 failed, 0 pending, 10 skipped. Checks captured 2026-09-01T11:51:58.088553+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #8714, #8690, #8728.

Limits. The full 964-file diff, Manager changes, and all embedded dependency changes were not completely reviewed. The four shared OpenCode replay failures were identified in CI logs, but their root cause was not isolated. The current head conflicts with main, and post-rebase checks are not available.

PR #8714. feat(mcp): run saved project scripts

Request. Let agents list, run, and stop saved project scripts in dedicated managed terminals.

Audit finding. The reviewed implementation binds stop authority to a terminal incarnation and handles terminal invalidation without accepting arbitrary command text. Main has neither the terminal MCP controls it calls nor the V2 toolkit registration. This is an upper stack layer on PR 8707, so it cannot be treated as an independent main-ready fix.

Recommendation. Keep open: decision needed. Review and land the managed-terminal dependency before the saved-script layer.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author juliusmarminge. Updated 2026-08-30T20:19:23Z. Draft no. Target agents/mcp-terminals/controls. Head a2ab88a9ade8359fd7a8449148187e2a1e1e2598. Branch agents/mcp-terminals/scripts. Size +1367 / -2, 17 files, 3 commits. Mergeability MERGEABLE. Merge state UNSTABLE. Target is not main. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 16 passed, 1 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:51:58.088725+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #8707.

Limits. All production changes were read, but the complete test diff was not reviewed. The managed-terminal and V2 dependencies are not on pinned main. An older related reference could not be retrieved from GitHub. It is excluded from verified dependencies and fix evidence.

PR #8716. feat(mcp): answer delegated user-input requests

Request. Let a parent agent read and answer direct delegated-child user questions through MCP.

Audit finding. The new service limits discovery to app-owned children and user-input requests, bounds pages and question payloads, and replays accepted response receipts. Main has no pending-request MCP toolkit or V2 request-response policy model. The feature is still a V2 sibling branch and does not replace general approval or stop-question handling.

Recommendation. Keep open: decision needed. Review delegated-child authority and idempotent response behavior with the V2 integration.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author juliusmarminge. Updated 2026-09-01T05:36:37Z. Draft no. Target t3code/codex-turn-mapping. Head 894490d2d3ed2d6119aa92f13dde15af667c90f9. Branch agents/mcp-queue-inputs/pending-requests. Size +194364 / -102178, 961 files, 332 commits. Mergeability CONFLICTING. Merge state DIRTY. Target is not main. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 16 passed, 1 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:51:58.088896+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #7987, #8695.

Limits. The complete 961-file diff was not reviewed. The V2 base is not an ancestor of pinned main. GitHub reports merge conflicts at the reviewed head.

PR #8721. feat(server): add bounded thread content search

Request. Add bounded project-scoped search over durable thread titles and messages.

Audit finding. Main has legacy global thread search but no searchThreadContent service with V2-visible anchors. This proposal adds a separate bounded query with archive opt-in and visibility rules for rolled-back, queued, and inherited content. The actual retargeted diff includes the unmerged V2 data model, so the scope is not covered by existing global search.

Recommendation. Keep open: work remains. Restore the bounded-query diff against the intended V2 projection base.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author juliusmarminge. Updated 2026-09-01T05:36:36Z. Draft no. Target t3code/codex-turn-mapping. Head d22f88dbc8d801f1761a3006c5167ae94aa08a0b. Branch agents/mcp-thread-search/search. Size +192993 / -102177, 953 files, 328 commits. Mergeability CONFLICTING. Merge state DIRTY. Target is not main. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 16 passed, 1 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:51:58.089389+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #8722.

Limits. The full retargeted diff is about 14 MB and contains over 950 files. Only the feature-specific portions were inspected.

PR #8722. feat(mcp): expose thread search

Request. Expose project-scoped thread search and stable message read anchors through MCP.

Audit finding. The inspected service checks caller and target project shells and maps bounded search hits to stable source-thread and message anchors. Its read change rejects stale anchors rather than using storage positions. Main has neither this toolkit nor the required V2 search query, so the lower search layer must be integrated first.

Recommendation. Keep open: work remains. Review MCP hit-to-read behavior after the bounded search query is integrated.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author juliusmarminge. Updated 2026-08-30T20:44:43Z. Draft no. Target agents/mcp-thread-search/search. Head 37bc3762ccfc2abd27f7fce6a8db6aeeb9f0b7d5. Branch agents/mcp-thread-search/tool. Size +466 / -13, 13 files, 1 commits. Mergeability MERGEABLE. Merge state UNSTABLE. Target is not main. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 16 passed, 1 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:51:58.089580+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #8721.

Limits. The 13-file, 40 KB diff was inspected for service and contract behavior but not reviewed in full.

PR #8724. feat(mcp): list and close preview tabs

Request. Let MCP agents list thread-owned preview tabs and close an exact tab.

Audit finding. Main has client list and close operations but no preview_list or preview_close MCP tools. The reviewed service adds thread-scoped pagination and exact close with broker cleanup. Its 964-file diff includes an unmerged orchestration base, so the claimed standalone feature cannot be assessed as a small ready-to-merge patch.

Recommendation. Keep open: work remains. Retarget the list-and-close slice to its intended orchestration base and produce a feature-only diff.

Confidence low. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author juliusmarminge. Updated 2026-09-01T05:36:36Z. Draft no. Target t3code/codex-turn-mapping. Head 76b5db2d6e8e7b2a4a25e305e4a4b368cb8cd19a. Branch agents/mcp-preview-controls/list-close. Size +193271 / -102260, 964 files, 328 commits. Mergeability CONFLICTING. Merge state DIRTY. Target is not main. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 16 passed, 1 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:51:58.089755+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #2829.

Limits. The 14,132,237-byte diff was not fully read. Review covered the named feature paths and current main, not every file or test. GitHub reports merge conflicts with the current base.

PR #8726. feat(mcp): expose current environment diagnostics

Request. Expose bounded current-environment identity, capabilities, provider health, and safe preferences through MCP.

Audit finding. Pinned main only registers preview MCP tools and does not expose t3_environment_read. The intended service uses an environment-bound orchestration capability and explicit redacted fields, but the submitted diff spans 961 files because it targets the open orchestrator branch. The whole stack was not reviewed, so there is no basis to call it landed or safe to merge.

Recommendation. Keep open: work remains. Retarget the feature onto its intended reviewed orchestration base and produce a small current diff.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author juliusmarminge. Updated 2026-09-01T05:36:36Z. Draft no. Target t3code/codex-turn-mapping. Head 0775269476cdf90303985e3e3d11bcbd512747a7. Branch agents/mcp-environment/read. Size +193021 / -102178, 961 files, 328 commits. Mergeability CONFLICTING. Merge state DIRTY. Target is not main. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 15 passed, 2 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:51:58.089927+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #2829, #8728.

Limits. The complete submitted diff is about 14 MB across 961 files. The intended environment service, toolkit, and contracts were inspected, not the whole stack. GitHub reports merge conflicts with the current base. Current review checks still fail: Macroscope - Effect Service Conventions.

PR #8728. feat(mcp): update environment preferences

Request. Allow full-access agents to update a narrow set of durable environment preferences through MCP.

Audit finding. Main has the underlying server settings but no environment MCP read or update tool. The patch checks caller policy under the V2 dispatch lock through persistence and tests a concurrent downgrade. The custom-profile review is a false positive because the input schema allows only three presets. It depends on unmerged PR #8726 and the V2 runtime, whose CI fails four OpenCode replay scenarios while waiting for idle.

Recommendation. Keep open: work remains. Fix the shared V2 OpenCode replay failures and land the environment-read prerequisite before this mutation tool.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author juliusmarminge. Updated 2026-08-30T20:19:50Z. Draft no. Target agents/mcp-environment/read. Head 57a6aeb014bb99d40710d930d0b4fb91528a3ca9. Branch agents/mcp-environment/preferences. Size +657 / -24, 16 files, 5 commits. Mergeability MERGEABLE. Merge state UNSTABLE. Target is not main. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 16 passed, 1 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:51:58.090264+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8726, #8707.

Limits. The four shared OpenCode replay failures were identified in CI logs, but their root cause was not isolated.

PR #8730. feat(mcp): expose environment usage summary

Request. Expose bounded token and cost usage summaries for the current environment through MCP.

Audit finding. Main has UsageService and recent incremental transcript scanning, but no t3_environment_usage registration. The intended service validates daily and hourly windows and removes paths and raw diagnostics, while still permitting existing scan and pricing-cache work. The submitted 959-file diff includes the unmerged orchestrator base and was not fully reviewed, so it is not a safe-merge candidate.

Recommendation. Keep open: work remains. Retarget the usage tool onto the reviewed orchestration base and rerun its registration tests on a small diff.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author juliusmarminge. Updated 2026-09-01T05:36:36Z. Draft no. Target t3code/codex-turn-mapping. Head 9114fbc46eb5ef04f44266c4162f9dda4a0cbe86. Branch agents/mcp-environment/usage. Size +192989 / -102178, 959 files, 329 commits. Mergeability CONFLICTING. Merge state DIRTY. Target is not main. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 16 passed, 1 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:51:58.090417+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #2829, #9024.

Limits. The complete submitted diff is about 14 MB across 959 files. The intended usage service, toolkit, and contracts were inspected, not the whole stack. GitHub reports merge conflicts with the current base. An older related reference could not be retrieved from GitHub. It is excluded from verified dependencies and fix evidence.

PR #8731. feat(mcp): run scheduled tasks immediately

Request. Run an existing scheduled task immediately with durable retry identity.

Audit finding. The proposal adds run_scheduled_task_now and a receipt-backed manual scheduler admission path. Pinned main does not expose this scheduled-task MCP API or the V2 scheduler it depends on. The requested guarantee covers duplicate retries and overlap with scheduled runs, not merely launching another thread.

Recommendation. Keep open: work remains. Restore a scheduler-only review diff against the stable V2 rollout base.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author juliusmarminge. Updated 2026-09-01T05:36:36Z. Draft no. Target t3code/codex-turn-mapping. Head c3f04e2a146fac89e7b323a6a9f06853ec496622. Branch agents/mcp-scheduled-tasks/run-now. Size +193936 / -102178, 955 files, 331 commits. Mergeability CONFLICTING. Merge state DIRTY. Target is not main. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 16 passed, 1 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:51:58.090569+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Limits. The full retargeted diff is about 14 MB and contains over 950 files. Only the feature-specific portions were inspected.

PR #8739. feat(markdown): load images outside project roots

Request. Render images stored outside a project through signed environment-scoped asset URLs.

Audit finding. Main still confines filesystem markdown images to workspace-file assets. The patch replaces those requests with environment-image without an older-server fallback, so existing project images need compatibility handling. It also reuses an extension helper that strips question marks and hash characters from literal file paths, leaving the current filename-validation finding valid.

Recommendation. Keep open: work remains. Preserve older-server image loading and validate literal filesystem extensions before issuing environment-image URLs.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author SunkenInTime. Updated 2026-08-31T14:59:13Z. Draft no. Target main. Head f157edc2b013fbf0b8952b78cfab8cc5a8d17881. Branch t3code/show-images-outside-workspace. Size +428 / -72, 13 files, 4 commits. Mergeability CONFLICTING. Merge state DIRTY. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 17 passed, 0 failed, 0 pending, 10 skipped. Checks captured 2026-09-01T11:52:06.852980+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 3. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Limits. Signed-image serving and version-skew behavior were not reproduced in a running client. GitHub reports merge conflicts at the reviewed head.

PR #8751. fix(server): allow local-only worktree bases

Request. Allow start-from-origin bootstrap to use a base branch that exists only locally.

Audit finding. Main still fetches origin and resolves a remote-tracking commit unconditionally once origin exists. This diff exposes the existing remoteBranchExists helper and skips that resolution for a missing branch. PR #8349 fixes the same user failure by catching resolution errors, while PR #8393 separately changes fetch freshness.

Recommendation. Keep open: work remains. Consolidate this missing-branch fix with PR #8349 and retain real Git coverage.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author yashranaway. Updated 2026-08-30T10:16:28Z. Draft no. Target main. Head b9187641cd3df693bd2620444eeeb908c35e00ff. Branch fix/local-base-with-origin-default. Size +179 / -109, 6 files, 1 commits. Mergeability MERGEABLE. Merge state CLEAN. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 18 passed, 0 failed, 0 pending, 4 skipped. Checks captured 2026-09-01T11:52:06.853546+00:00.

Reviews. GitHub review decision APPROVED. Current-head approvals 1. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8191, #8349, #8393.

PR #8752. fix(preview): preserve completed navigation results

Request. Preserve completed preview navigation after host setup consumes part of the deadline.

Audit finding. Main still starts one timeout before delivery and removes a request on the first successful response. The complete PR adds a started acknowledgment and a new navigation deadline. New hosts send that acknowledgment unconditionally, so an older server would treat it as final success with no result.

Recommendation. Keep open: work remains. Add version or capability negotiation for started acknowledgments and test new-client to old-server behavior.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author yashranaway. Updated 2026-08-30T10:00:51Z. Draft no. Target main. Head 55bcee5126ccbbdada342abc4604d08e603ce2da. Branch fix/preview-navigate-response-grace. Size +310 / -8, 8 files, 4 commits. Mergeability MERGEABLE. Merge state CLEAN. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 18 passed, 0 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:52:06.853644+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8732, #8272.

PR #8753. fix(desktop): recover from obsolete catalog keys

Request. Recover connection management when an old desktop catalog cannot be decrypted with the current key.

Audit finding. Main still raises a protection error when safeStorage cannot decrypt the catalog. The patch returns an empty catalog and preserves the original file on read, with tests for key recovery and later replacement. Treating all decrypt failures as empty needs a decision about how the user learns that saved connections remain unreadable.

Recommendation. Keep open: decision needed. Choose the user-visible recovery behavior before accepting silent empty-catalog fallback.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author yashranaway. Updated 2026-08-30T10:16:25Z. Draft no. Target main. Head 09fa518146635b0c7f5af435459a808cf9dd2c34. Branch fix/undecryptable-connection-catalog. Size +25 / -30, 2 files, 1 commits. Mergeability MERGEABLE. Merge state CLEAN. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 17 passed, 0 failed, 0 pending, 5 skipped. Checks captured 2026-09-01T11:52:06.853750+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8341.

PR #8767. fix(terminal): retain intended Ghostty scrollback

Request. Configure independent Ghostty line and byte limits after upgrading the web and Android engine.

Audit finding. Main has neither the new constructor ABI nor independent scrollback limits. The inspected adapter changes set 10,000 physical lines and a 32 MiB cap, update both artifact builders, and test the production web constructor against actual WASM. This is broader than hotfix #8766 and overlaps upgrade #8563, but it does not change the separate iOS terminal or server history retention.

Recommendation. Keep open: work remains. Reconcile the two Ghostty upgrade revisions and complete native artifact review for the selected patch.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author zero-two-rafaeltab. Updated 2026-08-30T22:47:14Z. Draft no. Target main. Head 98fb079fad6e0bcbde9277bc4e2190fd2bc13c8a. Branch t3code/upgrade-ghostty-scrollback. Size +1394 / -254, 30 files, 11 commits. Mergeability MERGEABLE. Merge state BLOCKED. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 13 passed, 0 failed, 0 pending, 4 skipped. Checks captured 2026-09-01T11:52:06.854036+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #8701, #8766, #8563, #7938.

Limits. The vendored header changes and rebuilt native/WASM binaries were not fully audited. The posted recordings are acknowledged to show restored server history, not the complete fresh-output retention scenario. Required Check, Test, Release Smoke, Mobile Native Static Analysis checks are absent on the collected head.

PR #8768. fix(codex): keep live collab children from false watchdog interrupts

Request. Interrupt repeated empty Codex collaboration waits only when no registered child is live.

Audit finding. Main has child live-turn bookkeeping but no empty-wait watchdog. This diff introduces automatic interruption after three empty wait completions, so it is a new recovery policy rather than a correction to an existing main watchdog. The guard depends on the same late-registration and retryable-error ordering being changed in other child lifecycle PRs.

Recommendation. Keep open: decision needed. Decide whether automatic interruption after three empty waits is wanted before reviewing the guard with child lifecycle changes.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author mikeyperes. Updated 2026-08-30T17:55:23Z. Draft no. Target main. Head 49eb874eaba36cc4c803eec3e828e9e79e788f7d. Branch fix/codex-collab-watchdog-upstream. Size +811 / -7, 2 files, 3 commits. Mergeability MERGEABLE. Merge state BLOCKED. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 9 passed, 0 failed, 0 pending, 3 skipped. Checks captured 2026-09-01T11:52:06.854110+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #5723, #7848.

Limits. The runtime guard was inspected, but the full integration-test diff was not reviewed. Latest-head required check results are absent for Test, Check, Mobile Native Static Analysis, Release Smoke.

PR #8770. fix(cursor): populate $ picker from filesystem skills

Request. Populate the Cursor skill picker from filesystem skill definitions.

Audit finding. Main Cursor snapshots still contain no discovered skills. The PR adds user and project roots, but calls discovery with process.cwd rather than the selected workspace and ignores the instance environment when choosing the home. Client skill deduplication does not solve either discovery problem, and the workspace catalog proposals must be considered with this change.

Recommendation. Keep open: work remains. Pass the selected workspace and instance environment into Cursor skill discovery.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author Svyk. Updated 2026-08-30T16:33:22Z. Draft no. Target main. Head 12e5f186bbfabbdecf2f901c70d879cc587f742c. Branch feat/cursor-skills-discovery. Size +356 / -0, 4 files, 1 commits. Mergeability MERGEABLE. Merge state BLOCKED. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 8 passed, 0 failed, 0 pending, 4 skipped. Checks captured 2026-09-01T11:52:06.854292+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 1. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #2736, #7882, #8756, #8043.

Limits. Required checks have no results on this head: Test, Check, Mobile Native Static Analysis, Release Smoke.

PR #8771. feat(server): clean worktree build artifacts when threads settle

Request. Remove ignored build artifacts from linked worktrees when their threads settle.

Audit finding. Main has no artifact cleanup setting or reactor. This diff checks settlement and same-project sharing before deleting ignored artifact directories, but it does not serialize cleanup with a resumed turn or terminal activity. Main now emits thread.settled for automatic settlement too, so the PR claim that automatic settlement is out of scope is no longer true.

Recommendation. Keep open: decision needed. Decide the automatic-settle policy and add lifecycle coordination before enabling artifact deletion.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author IAmJSD. Updated 2026-08-30T17:20:32Z. Draft no. Target main. Head 12d955019ba909919b0ac373983ed066fecf8d07. Branch clean-settled-worktree-artifacts. Size +1023 / -1, 11 files, 6 commits. Mergeability CONFLICTING. Merge state DIRTY. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 9 passed, 0 failed, 0 pending, 3 skipped. Checks captured 2026-09-01T11:52:06.854370+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8600, #8816, #4742.

Limits. Latest head has no results for required checks: Test, Check, Mobile Native Static Analysis, Release Smoke. GitHub reports merge conflicts with the target branch.

PR #8772. feat: color-code projects as an accessibility aid

Request. Persist a shared project color and show it in project-identifying UI.

Audit finding. Main exposes project favicons but no project color field or picker. The patch carries color through commands and projections, gates writes by server capability, and includes a clear-color path. Mobile, command palette, and draft project pickers remain explicitly outside its implementation, so the accessibility feature is not complete across clients and entry points.

Recommendation. Keep open: decision needed. Decide the initial client scope and add the missing project-identification views before shipping.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author IAmJSD. Updated 2026-08-30T17:15:31Z. Draft no. Target main. Head faf3e3f8afd8aacf0aa2427722fdc70c317cdb98. Branch t3code/add-repo-color-coding. Size +605 / -3, 24 files, 3 commits. Mergeability MERGEABLE. Merge state BLOCKED. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 9 passed, 0 failed, 0 pending, 3 skipped. Checks captured 2026-09-01T11:52:06.854435+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Limits. Required CI checks are absent at the reviewed head: Test, Check, Mobile Native Static Analysis, Release Smoke.

PR #8778. fix(server): discover project skills for Codex and OpenCode

Request. Discover project-local Codex and OpenCode skills for the active workspace.

Audit finding. Main exposes only machine-level provider skills, and mobile reads that same list. The PR adds cwd-specific snapshots and connects the web menus, but leaves mobile selectors unchanged. Once a cwd snapshot exists, refreshWorkspaceSnapshot refuses to probe it again and normal refresh preserves it, so a newly installed project skill has no refresh path.

Recommendation. Keep open: work remains. Add mobile workspace selection and an explicit refresh path for an existing cwd snapshot.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author UtkarshUsername. Updated 2026-08-30T18:56:58Z. Draft no. Target main. Head f1f91e137a2a20d757b86444e7c53f33c0000dde. Branch fix/show-project-skills. Size +692 / -40, 24 files, 3 commits. Mergeability MERGEABLE. Merge state CLEAN. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 18 passed, 0 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:52:06.854505+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8792.

PR #8786. fix(web): preserve file attachments after input reset

Request. Preserve generic attachment bytes before resetting the native file input.

Audit finding. Main still clears the input before handing its File objects to the async attachment path. The diff snapshots generic files first, but reads all files into memory before existing size limits run and leaves the input reusable while that read is pending. Those paths match the current review concerns about memory exhaustion and successive selections.

Recommendation. Keep open: work remains. Apply staging limits before reading bytes and protect the input against overlapping selections.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author mikeyperes. Updated 2026-08-30T17:45:34Z. Draft no. Target main. Head a83a7123bf0f4c64249b85109eaed6bc6fe003b2. Branch fix/upstream-attachment-c01ff86f2. Size +75 / -4, 3 files, 1 commits. Mergeability CONFLICTING. Merge state DIRTY. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 8 passed, 0 failed, 0 pending, 5 skipped. Checks captured 2026-09-01T11:52:06.854780+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 3. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Limits. Latest head has no results for required checks: Test, Check, Mobile Native Static Analysis, Release Smoke. GitHub reports merge conflicts with the target branch.

PR #8800. fix(android): prevent last thread line from clipping at bottom

Request. Keep the last Android reply line clear of the composer.

Audit finding. Main still has no content-container bottom padding, but the feed already accounts for composer and keyboard insets. The diff adds 12 points to the shared iOS and Android list, despite the body calling it Android-only. The separate iOS layout PR is not evidence that Android is fixed.

Recommendation. Keep open: retest. Reproduce the Android clipping on current main and verify the padding with both short and long iOS threads.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author Fluffy-Bunny-23. Updated 2026-08-30T21:00:27Z. Draft no. Target main. Head 34bf7ca215acefb0e9a3c54e2682bd7698822905. Branch t3code/eb897a9e. Size +1 / -0, 1 files, 1 commits. Mergeability MERGEABLE. Merge state BLOCKED. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 8 passed, 0 failed, 0 pending, 2 skipped. Checks captured 2026-09-01T11:52:06.855259+00:00.

Reviews. GitHub review decision APPROVED. Current-head approvals 1. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8220, #9013.

Limits. No current Android reproduction or iOS layout comparison. Required CI checks are not present on the current head in canonical check metadata.

PR #8808. feat(providers): add context compaction across harnesses

Request. Offer native context compaction through a shared command across five providers.

Audit finding. Main has Claude compaction behavior but no shared compactThread service across providers. The inspected diff routes Codex to thread/compact/start without closing the synthetic turn-start created for the slash command, matching an unresolved lifecycle finding. The broader provider routing, failure recovery, and mobile command behavior still require review.

Recommendation. Keep open: work remains. Close the pending Codex compact turn and verify each provider completion path.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author maria-rcks. Updated 2026-09-01T01:58:19Z. Draft no. Target main. Head 54662f397a0c5d91b0cc951fb90706a92bc20015. Branch t3code/add-compact-command. Size +1337 / -98, 38 files, 11 commits. Mergeability MERGEABLE. Merge state CLEAN. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 16 passed, 0 failed, 0 pending, 11 skipped. Checks captured 2026-09-01T11:52:06.855430+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 3. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #8144.

Limits. The 38-file, 96 KB diff was inspected for compaction routing and lifecycle findings, but not reviewed in full.

PR #8816. feat(worktrees): add safe automatic cleanup

Request. Automatically remove clean, idle, managed worktrees after deletion or a configured settlement delay.

Audit finding. Main has no automatic deletion setting, although it can recreate a missing worktree when work resumes. This diff adds clean-state checks, canonical managed-path checks, terminal/session checks, and a global lifecycle lock. Its manual-settle-only description no longer matches main because server-owned automatic settlement creates the same settled state.

Recommendation. Keep open: decision needed. Decide whether automatic settlement also permits deletion, then update eligibility and tests for that policy.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author Bil0000. Updated 2026-08-31T02:57:09Z. Draft no. Target main. Head f278a34558bf4bb93370ae7c8441659ec68ada8d. Branch t3code/a657fb11. Size +900 / -13, 20 files, 6 commits. Mergeability CONFLICTING. Merge state DIRTY. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 17 passed, 0 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:52:14.061615+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8771, #8600, #7839.

Limits. GitHub reports merge conflicts with the target branch.

PR #8824. feat(cli): open projects in the running desktop app

Request. Open a project in an already-running local desktop app with t3 app.

Audit finding. Main has no app subcommand or local desktop activation socket. The reviewed CLI and broker add bounded requests, local path/platform checks, and renderer acknowledgements, and deliberately reject SSH use or an absent desktop app. Native focus and full activation lifecycle verification remain necessary for this new feature.

Recommendation. Keep open: work remains. Verify the local desktop activation lifecycle on supported operating systems.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author t3dotgg. Updated 2026-08-31T12:19:02Z. Draft no. Target main. Head 956227883eb9de377fe7cca230a734d9403b7b5d. Branch t3code/audit-app-project-command. Size +1890 / -3, 26 files, 4 commits. Mergeability MERGEABLE. Merge state CLEAN. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 18 passed, 0 failed, 0 pending, 10 skipped. Checks captured 2026-09-01T11:52:14.061873+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Limits. The socket, broker, CLI, and renderer handler were reviewed, but not the complete 26-file diff. No Electron window focus or native IPC session was run.

PR #8825. feat(web): add compact file chip paths

Request. Offer an optional workspace-relative or home-relative label for web and desktop file chips.

Audit finding. Main still renders a basename, optional disambiguating parent, and line position. The diff adds a client-local preference and conservative POSIX, Windows, and UNC formatting while leaving mobile unchanged. This is an unapproved display preference, not a bug already fixed by other markdown work.

Recommendation. Keep open: decision needed. Decide whether the File chip paths preference belongs in the product.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author ricardosalta. Updated 2026-08-30T23:49:51Z. Draft no. Target main. Head 3c17dca30f727102dd0e4e3e61e64797c01d0ded. Branch codex/readable-path-chips-upstream. Size +653 / -16, 14 files, 3 commits. Mergeability CONFLICTING. Merge state DIRTY. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 9 passed, 0 failed, 0 pending, 3 skipped. Checks captured 2026-09-01T11:52:14.062001+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Limits. Latest head has no results for required checks: Test, Check, Mobile Native Static Analysis, Release Smoke. GitHub reports merge conflicts with the target branch.

PR #8835. fix(server): isolate Claude capability probe cwd

Request. Use a neutral working directory for Claude capability probes while preserving config resolution.

Audit finding. Main still passes the server cwd into the capability query, and the merged hook, MCP, and IDE changes do not isolate workspace settings. This diff uses an existing temporary directory and resolves relative config directories before the switch. However, initialization is also the only source of workspace slash commands, so the cwd change drops those commands while only skills are rescanned.

Recommendation. Keep open: work remains. Separate account probing from workspace slash-command discovery before changing the probe cwd.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author Michel-Liao. Updated 2026-08-31T02:17:11Z. Draft no. Target main. Head 2b7faf5a2a8b97f59697073696ce5f5f620257ed. Branch codex/fix-8818-claude-probe-cwd. Size +101 / -24, 5 files, 1 commits. Mergeability MERGEABLE. Merge state BLOCKED. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 9 passed, 0 failed, 0 pending, 3 skipped. Checks captured 2026-09-01T11:52:14.062533+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8104, #8652, #8818, #8908.

Limits. Latest-head required checks are not reported: Test, Check, Mobile Native Static Analysis, Release Smoke.

PR #8837. fix(clients): inherit model preferences for unconfigured projects

Request. Stop automatic project defaults and unstored model options from overriding inherited preferences.

Audit finding. Main still persists create-time models and builds dispatch options from catalog defaults. This proposal clears creation defaults at the domain boundary and changes web and mobile option dispatch, while its migration clears all creation values lacking a later default-setting event. The other inheritance PR instead preserves option-bearing creation values and reads Codex config, so the migrations and behavior need one agreed design.

Recommendation. Keep open: decision needed. Choose one migration and explicit-option policy with the related inheritance PR.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author coygeek. Updated 2026-08-31T01:08:09Z. Draft no. Target main. Head 117bb162646e6dab0b61fb8f0228901729085285. Branch codex/fix-auto-project-default-provenance. Size +345 / -41, 16 files, 1 commits. Mergeability MERGEABLE. Merge state BLOCKED. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 9 passed, 0 failed, 0 pending, 3 skipped. Checks captured 2026-09-01T11:52:14.062666+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8829, #8913, #8892, #6011.

PR #8841. feat(preview): route remote ports through t3 connect

Request. Route desktop environment-port previews through an authenticated T3 Connect gateway.

Audit finding. Main still rejects public-relay environment ports because no authenticated preview gateway exists. The reviewed ticket and session code adds port-scoped access and a per-environment desktop proxy, but direct loopback navigation clears that shared proxy. Multi-tab ownership and the competing mobile proxy need review before this can replace the current rejection.

Recommendation. Keep open: work remains. Verify gateway ownership with multiple ports and a simultaneous client-local tab before choosing the shared proxy design.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author maria-rcks. Updated 2026-08-31T02:28:20Z. Draft no. Target main. Head 4f7845bf2695478e85051c7804a45d1bd7775521. Branch t3code/fix-remote-environment-port-preview. Size +2447 / -43, 39 files, 8 commits. Mergeability MERGEABLE. Merge state CLEAN. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 18 passed, 0 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:52:14.062795+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion no, full diff no, current source yes, history yes.

Related work: #8020, #4039, #7639, #8902, #8931.

Limits. The PR body states that its real MCP gateway flow remains unverified. The 131,159-byte diff was not fully read. Review covered the named feature paths and current main, not every file or test. Current review findings and general discussion were sampled, but historical resolved review threads were not read in full.

PR #8845. fix(server): bound DPoP replay state

Request. Expire DPoP replay markers and reject invalid bootstrap credentials before allocating replay state.

Audit finding. Main creates a permanent secret file for every accepted proof and claims it before token exchange checks the bootstrap credential. The diff adds time-bucketed empty markers, credential preflight, and boundary/failure tests. Its legacy bridge stops after six minutes and then deletes all legacy markers, so the rollout needs an explicit rule for older processes that remain active against the same secrets directory.

Recommendation. Keep open: work remains. Resolve and test the mixed-version legacy-marker cleanup boundary before merging.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author solomonneas. Updated 2026-08-31T03:48:39Z. Draft no. Target main. Head e584549980660c754d6b59275b31fbbcdb0b9251. Branch fix/dpop-replay-retention. Size +791 / -76, 9 files, 5 commits. Mergeability MERGEABLE. Merge state BLOCKED. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 7 passed, 0 failed, 0 pending, 3 skipped. Checks captured 2026-09-01T11:52:14.062977+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8426.

Limits. The new directory fsync path has no Windows validation in the supplied test report. Required current-head checks are absent: Test, Check, Mobile Native Static Analysis, Release Smoke.

PR #8852. Cursor integration

Request. Extend Cursor behavior while adding P2P connections and changing the app to T3 Pear.

Audit finding. The human body is still an empty PR template, while the inspected diff changes Cursor behavior, adds HyperDHT connections, and replaces the default desktop name and T3 home directory. Main already supports Cursor, but none of those additional changes follow from that fact or the recent Grok fixes. This mixed fork-sized change needs a stated upstream scope before its code can be judged for merge. No Cursor or P2P behavior is supplied. The PR changes settingsUpdated to carry remoteAccess in the old projection function.

Recommendation. Keep open: evidence needed. Ask the author to submit a Cursor-only change with a completed problem statement. Keep its existing scope decision and move remoteAccess handling to serverConfigProjection.ts.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author amaan75. Updated 2026-08-31T04:38:08Z. Draft no. Target main. Head c8113393ea9dd1f633fb28f88a9cc627d42efbf3. Branch cursor-integration. Size +6899 / -249, 102 files, 3 commits. Mergeability CONFLICTING. Merge state DIRTY. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 5 passed, 2 failed, 0 pending, 5 skipped. Checks captured 2026-09-01T11:52:14.063099+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 8. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #5455, #5405, #8443, #7245, #7278.

Latest main change. No Cursor or P2P behavior is supplied. The PR changes settingsUpdated to carry remoteAccess in the old projection function. Keep its existing scope decision and move remoteAccess handling to serverConfigProjection.ts.

Limits. The 102-file, 1.17 MB diff was not fully reviewed. Cursor scope, P2P contract and tunnel code, and branding/state-path changes were inspected. The PR author did not provide a problem statement or validation plan. Required checks have no results on this head: Test, Check, Mobile Native Static Analysis, Release Smoke.

PR #8857. feat(orchestration): add context-limit handovers

Request. Add context-limit handovers, a 250,000-token default limit, and an eight-turn concurrency limit.

Audit finding. These hard limits and the handover RPC do not exist on main and require an explicit product decision. The inspected mobile route adds hooks after existing early returns, and the reservation is not released for all failures between admission and send. Those source-confirmed failures remain open alongside the wider handover and budget behavior.

Recommendation. Keep open: decision needed. Fix hook ordering and reservation cleanup before reviewing the new hard-limit policy.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author saphid. Updated 2026-09-01T05:26:00Z. Draft no. Target main. Head bb8eab3217659643dad66ec47f3888ae73409184. Branch codex/context-limit-handover. Size +1559 / -38, 44 files, 1 commits. Mergeability MERGEABLE. Merge state CLEAN. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 16 passed, 0 failed, 0 pending, 11 skipped. Checks captured 2026-09-01T11:52:14.063250+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 17. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Limits. The 44-file, 109 KB diff was inspected for admission, capability, and mobile handover paths, but not reviewed in full.

PR #8859. fix(server): close sessions when provider turns abort

Request. Finish the durable session lifecycle when a matching provider turn aborts.

Audit finding. Main still excludes turn.aborted from the lifecycle branch that clears activeTurnId and finalizes buffered output. Recent OpenCode stop fixes ensure the adapter aborts correctly but do not add this ingestion transition. The alternative abort PR uses interrupted session status instead of ready and has broader ordering tests, so the two proposals need one agreed lifecycle rule.

Recommendation. Keep open: work remains. Choose the abort session status and combine the useful tests from both abort PRs.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author hahasagined. Updated 2026-08-31T07:38:38Z. Draft no. Target main. Head 891ab7d9fa00ff10603e3f25996cda487d0cfda7. Branch fix/provider-aborted-session-lifecycle. Size +205 / -4, 2 files, 1 commits. Mergeability MERGEABLE. Merge state BLOCKED. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 9 passed, 0 failed, 0 pending, 2 skipped. Checks captured 2026-09-01T11:52:14.063552+00:00.

Reviews. GitHub review decision APPROVED. Current-head approvals 1. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8802, #6018, #8813, #8480, #9005.

Limits. Required checks have no results on this head: Test, Check, Mobile Native Static Analysis, Release Smoke.

PR #8874. fix(server): verify repositories before checkpointing

Request. Use real VCS detection before checkpointing instead of trusting any .git path.

Audit finding. Main still treats the existence of a .git entry as a valid repository. The diff replaces both capture and revert prechecks with CheckpointStore.isGitRepository and adds an incomplete-metadata test. PR #8527 includes the same production precheck change for nested projects, so the implementations should be consolidated without losing either case.

Recommendation. Keep open: work remains. Choose one repository-precheck implementation with PR #8527 and retain both focused tests.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author eltmon. Updated 2026-08-31T11:42:37Z. Draft no. Target main. Head 933faf8c494a85d1d973a9e5f3572ac2e3b1a367. Branch fix/partial-git-checkpoint-detection. Size +33 / -6, 2 files, 1 commits. Mergeability MERGEABLE. Merge state BLOCKED. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 10 passed, 0 failed, 0 pending, 2 skipped. Checks captured 2026-09-01T11:52:21.833626+00:00.

Reviews. GitHub review decision APPROVED. Current-head approvals 1. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8873, #8527.

Limits. Latest head has no results for required checks: Test, Check, Mobile Native Static Analysis, Release Smoke.

PR #8884. fix(server): Grok status check uses grok models, not a full ACP session

Request. Use grok models for provider health while retaining current skill discovery.

Audit finding. Main still uses ACP model discovery and marks its timeout as an error. This PR preserves the newly merged skills path, but replaces model capability parsing with EMPTY_CAPABILITIES, which removes the reasoning options main gets from ACP model metadata. The lightweight probe remains needed, with that regression fixed before merge.

Recommendation. Keep open: work remains. Preserve reasoning options while replacing the ACP health probe.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author IsaiahCalvo. Updated 2026-08-31T13:17:09Z. Draft no. Target main. Head 07efb9a6c0cf7ab07f0b337a55891a4f5e57e4d9. Branch fix/grok-provider-status-models-cli. Size +238 / -68, 2 files, 1 commits. Mergeability MERGEABLE. Merge state BLOCKED. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 8 passed, 0 failed, 0 pending, 4 skipped. Checks captured 2026-09-01T11:52:21.833713+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 2. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #7746, #7747, #7232, #8358.

Limits. Required checks have no results on this head: Test, Check, Mobile Native Static Analysis, Release Smoke.

PR #8892. fix(web): new threads keep the viewed thread's model

Request. Make a new web thread prefer the viewed thread model over the project default.

Audit finding. Main deliberately puts projectDefaultSelection before the carried model after the project-default fix. This PR reverses that order, including for explicitly configured projects. The inherited-default proposals address the seeded-default problem without making the same blanket precedence choice, so these are competing behavior decisions.

Recommendation. Keep open: decision needed. Choose whether an explicit project default or the viewed model takes priority.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author Gigioxx. Updated 2026-08-31T14:21:10Z. Draft no. Target main. Head 759df789fc84f89b752a1fa7663af4fc1a77e050. Branch fix/new-thread-carries-model. Size +35 / -12, 3 files, 1 commits. Mergeability MERGEABLE. Merge state BLOCKED. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 10 passed, 0 failed, 0 pending, 3 skipped. Checks captured 2026-09-01T11:52:21.834014+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #6011, #8837, #8913.

PR #8902. fix(web): preserve explicit preview navigation URLs

Request. Treat every explicit preview URL as client-local while still resolving discovered environment ports.

Audit finding. Main still remaps explicit loopback URLs to a remote environment host. The complete PR stops that remapping for every connection, while the competing relay-only PR preserves LAN and Tailscale remapping. Both are unmerged, and they choose different meanings for an explicit localhost URL.

Recommendation. Keep open: decision needed. Choose the explicit-URL contract, then keep one implementation and its connection-mode tests.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author nateEc. Updated 2026-08-31T15:31:11Z. Draft no. Target main. Head 49a7407a96e3299854ac18b9d0ece00745702c4a. Branch codex/fix-8885-preview-navigate-loopback-url. Size +49 / -39, 2 files, 1 commits. Mergeability MERGEABLE. Merge state CLEAN. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 19 passed, 0 failed, 0 pending, 4 skipped. Checks captured 2026-09-01T11:52:21.834255+00:00.

Reviews. GitHub review decision APPROVED. Current-head approvals 1. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8885, #8931, #8062, #4039, #8841.

PR #8903. fix(chat): preserve assistant responses when folding

Request. Prevent a trailing provider note from hiding the substantive assistant answer.

Audit finding. Main still folds nonterminal assistant segments, so the hidden-answer defect remains. This diff keeps all messages visible on web and mobile, but leaves a neighboring web test asserting the old row order and still folds native agent-spawn groups. The response-segment proposal makes a different display choice, so the rule and these defects must be settled before merge.

Recommendation. Keep open: decision needed. Choose whether to keep every assistant message visible or fold by complete user response.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author nateEc. Updated 2026-08-31T15:37:16Z. Draft no. Target main. Head 57e3fd4cafecd1bf5530005d30c1e6856e320e99. Branch codex/fix-8879-preserve-final-turn-answer. Size +21 / -26, 4 files, 1 commits. Mergeability MERGEABLE. Merge state BLOCKED. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: FAILURE, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 16 passed, 2 failed, 0 pending, 6 skipped. Checks captured 2026-09-01T11:52:21.834353+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 2. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8879, #8828, #8973.

Limits. The author reports that web tests and mobile typecheck were blocked by workspace problems.

PR #8913. fix(models): restore inherited new-thread defaults

Request. Restore inherited project model defaults and honor effective Codex configuration.

Audit finding. Main still seeds project models and applies preferred catalog defaults during Codex probing. The full diff removes automatic seeds, reads Codex config, and migrates model-only creation defaults while retaining option-bearing and later-written defaults. It overlaps the other migration numbered 44 but does not include that PR's cross-provider explicit-option dispatch change.

Recommendation. Keep open: decision needed. Agree on one model-default migration and integrate the complementary provider-option behavior.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author SunkenInTime. Updated 2026-08-31T16:25:52Z. Draft no. Target main. Head a59d6d3e628a15d8ed0b020c3814c9f1a58077f5. Branch t3code/fix-codex-default-model. Size +685 / -35, 10 files, 2 commits. Mergeability MERGEABLE. Merge state CLEAN. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 17 passed, 0 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:52:21.835061+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8837, #8892, #6011.

PR #8918. fix(usage): show opencode tokens and models on usage page

Request. Add OpenCode history to the Usage page and live token usage to threads.

Audit finding. Main still has neither OpenCode usage collection nor live token events. The PR adds both, but the accumulator uses separate message and part keys for the same usage, so overlapping assistant and step events can still be counted twice. The stale-event branch also emits the old snapshot with the current turn ID, matching the latest unresolved review finding, and the database resolver ignores configured OPENCODE_DB overrides.

Recommendation. Keep open: work remains. Separate history collection from live metering, then fix cross-event deduplication and stale-turn attribution.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author Mina-Sayed. Updated 2026-08-31T23:12:20Z. Draft no. Target main. Head 897e1ff284115b554acc61a55befdceec6bacef8. Branch fix/usage-opencode-support. Size +1391 / -17, 13 files, 10 commits. Mergeability CONFLICTING. Merge state DIRTY. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 8 passed, 0 failed, 0 pending, 4 skipped. Checks captured 2026-09-01T11:52:21.835204+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 4. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #7221, #8456, #7072, #8659.

Limits. Canonical latest-commit checks do not include Check, Test, Mobile Native Static Analysis, Release Smoke. GitHub reports a merge conflict with current main.

PR #8926. fix(server): load archived threads by exact id

Request. Read archived thread shells and details by exact ID while keeping active lists filtered.

Audit finding. Main exact-ID reads still exclude archived threads, so the requested read fix remains needed. However, this diff also widens getThreadShellById while ws.ts turns every successful result into a live-shell upsert, allowing archived threads to reappear after later events. Its latest-turn lookup still filters out archives, so archived shells also lose turn metadata.

Recommendation. Keep open: work remains. Separate archived exact-ID reads from active-shell upserts and preserve archived latest-turn data.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author glopyglerky. Updated 2026-08-31T18:05:25Z. Draft no. Target main. Head 3432a56082826ca7eaae18470b1b80a6c552c887. Branch codex/archived-thread-subscribe. Size +53 / -7, 3 files, 1 commits. Mergeability MERGEABLE. Merge state BLOCKED. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 7 passed, 0 failed, 0 pending, 5 skipped. Checks captured 2026-09-01T11:52:21.835452+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 2. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #6128, #7183, #8942.

PR #8928. feat(desktop): add configurable local voice input

Request. Add local desktop microphone recording, transcription, and voice settings.

Audit finding. Main has the shared voice controller and iPhone voice input, but no desktop speech bridge. In the proposed desktop code a rejected model-load promise is retained, so preparation retries cannot recover. The composer also leaves submission and editing enabled during voice work, which the shared controller rejects as a stale draft when transcription returns.

Recommendation. Keep open: work remains. Fix preparation retry and wire the shared submission/editor guards before native package verification.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author UtkarshUsername. Updated 2026-08-31T18:11:27Z. Draft no. Target main. Head 2a657fa25727d87f8fef4acdd05067985c5c9392. Branch feat/local-speech-to-text. Size +2111 / -10, 37 files, 14 commits. Mergeability MERGEABLE. Merge state UNSTABLE. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 14 passed, 2 failed, 0 pending, 7 skipped. Checks captured 2026-09-01T11:52:21.835521+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 20. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #8614.

Limits. Speech runtime, model download, microphone capture, and composer integration were reviewed, but not all 37 files. Native speech binaries and microphone permissions were not exercised.

PR #8931. fix(web): stop rejecting client-local localhost previews on T3 Connect

Request. Allow explicit client-local localhost URLs when the environment uses T3 Connect.

Audit finding. Main rejects explicit loopback URLs on public relays through environment-port resolution. This patch allows relay-only passthrough, while the competing PR makes all explicit URLs client-local. The current patch also passes 0.0.0.0 through unchanged because the wildcard rewrite is behind the new private-host guard.

Recommendation. Keep open: decision needed. Choose the explicit-URL semantics and preserve wildcard-to-localhost normalization in the selected patch.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author ApexYash11. Updated 2026-09-01T01:50:15Z. Draft no. Target main. Head 7d2de91cb3741bb77e3437428f65302d15f918cb. Branch fix/preview-connect-localhost. Size +24 / -5, 2 files, 3 commits. Mergeability MERGEABLE. Merge state BLOCKED. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 8 passed, 1 failed, 0 pending, 2 skipped. Checks captured 2026-09-01T11:52:21.835680+00:00.

Reviews. GitHub review decision APPROVED. Current-head approvals 1. Current-head change requests 0. Unresolved review threads 1. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8062, #8902, #8885, #8841.

Limits. The collected latest head has no results for these required checks: Test, Check, Mobile Native Static Analysis, Release Smoke.

PR #8939. fix(orchestration): persist OpenCode abort state

Request. Persist OpenCode aborts so durable sessions stop showing running after Stop.

Audit finding. Main emits turn.aborted from the OpenCode adapter but excludes that event from the durable thread-session update and completion cleanup paths. This PR adds turn-start message correlation, preserves prompt errors, and finalizes streamed text and plans, which the child-stop merges did not do. The current diff addresses the reviewed stale-start, steering-token, and pending-start races, but it conflicts with main and still needs integration review against recursive child cancellation.

Recommendation. Keep open: work remains. Rebase and review the durable abort path against current cancellation, then run the focused OpenCode and Codex ingestion tests.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author dlowzzxx. Updated 2026-09-01T08:25:31Z. Draft no. Target main. Head 8d30884e43f3038f663eb1ad4137c40e8095256f. Branch fix/issue-8895-opencode-abort. Size +1154 / -36, 6 files, 10 commits. Mergeability CONFLICTING. Merge state DIRTY. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 8 passed, 0 failed, 0 pending, 3 skipped. Checks captured 2026-09-01T11:52:21.835859+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8895, #8813, #6018, #8859, #8480, #9005.

Limits. Canonical latest-commit checks do not include Check, Test, Mobile Native Static Analysis, Release Smoke. GitHub reports a merge conflict with current main.

PR #8940. chore(deps): bump Electron to 44.1.0

Request. Upgrade Electron to 44.1.0 and adapt desktop clipboard writes to its asynchronous API.

Audit finding. Main remains on Electron 43.4.1, so the earlier runtime upgrade does not include this major version. The patch migrates screenshot and text writes, but the unresolved review is valid: text-copy rejection becomes an untyped defect and its context-menu caller discards the returned promise. The macOS 13 minimum and incomplete Linux packaged-build result also need an explicit release decision.

Recommendation. Keep open: decision needed. Accept or reject the macOS support-floor change, then require handled clipboard rejection before approving the upgrade.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author StiensWout. Updated 2026-08-31T20:03:33Z. Draft no. Target main. Head 908ae2756d16bb8e87aba99af1a9f462dcb05cf3. Branch t3code/upgrade-electron-44. Size +76 / -24, 7 files, 1 commits. Mergeability MERGEABLE. Merge state CLEAN. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 16 passed, 0 failed, 0 pending, 10 skipped. Checks captured 2026-09-01T11:52:21.835924+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 1. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8590, #8389.

Limits. No packaged cross-platform Electron 44 runtime was tested in this audit.

PR #8950. fix(server): cache the resolved git top level per workspace root

Request. Stop repeated Git top-level discovery during repository identity lookup and extend metadata cache lifetimes.

Audit finding. PR #8187 already added repositoryRootCache on main and tests repeated lookup reuse, fixing the uncached rev-parse step. This PR still differs by using ten-minute positive TTLs and caching failed root discovery, while main deliberately retries failed discovery immediately. Keep only the remaining cache-policy decision instead of merging a second root-cache implementation.

Recommendation. Keep open: partial fix. Rescope the PR to the remaining TTL and negative-cache policy after measuring current main.

Confidence high. Release: In nightly source. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author willsheldon. Updated 2026-08-31T20:45:32Z. Draft no. Target main. Head c71aa17fa131c150d3b5b65c740eaf7c8965dd9e. Branch fix/cache-repository-root. Size +86 / -13, 2 files, 1 commits. Mergeability CONFLICTING. Merge state DIRTY. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 9 passed, 0 failed, 0 pending, 3 skipped. Checks captured 2026-09-01T11:52:28.698860+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8949, #8951, #8187. Merged PRs that cover all or part: #8187.

Limits. Latest head has no results for required checks: Test, Check, Mobile Native Static Analysis, Release Smoke. GitHub reports merge conflicts with the target branch.

PR #8957. fix(preview): restore browser tab recording via display media handler

Request. Restore desktop tab recording after Electron removes the legacy tab media-source path.

Audit finding. Main still uses getMediaSourceId and legacy getUserMedia tab constraints after the recording-quality change. The complete PR replaces them with an exclusive one-use display-media grant. The reported cross-tab requester warning does not match the architecture because the trusted host renderer requests capture and preview guests use separate session partitions. Later open branches extend recording handoff and capture lifetime, so one integration target is still needed.

Recommendation. Keep open: work remains. Choose one recording integration branch after reviewing its current Electron concurrency and capture-lifetime evidence.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author Gigioxx. Updated 2026-08-31T23:19:37Z. Draft no. Target main. Head 2b4a2c4f959c57425d5a40517c54701640551e97. Branch fix-preview-recording-display-media. Size +414 / -168, 8 files, 4 commits. Mergeability MERGEABLE. Merge state BLOCKED. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 9 passed, 0 failed, 0 pending, 3 skipped. Checks captured 2026-09-01T11:52:28.699211+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion no, full diff yes, current source yes, history yes.

Related work: #8626, #8839, #9001, #8981.

Limits. The supplied native recording evidence was not replayed in this audit. Current review findings and general discussion were sampled, but historical resolved review threads were not read in full. The collected latest head has no results for these required checks: Test, Check, Mobile Native Static Analysis, Release Smoke.

PR #8962. feat(settings): add open source license notices

Request. Generate and display third-party license notices in web, desktop, and mobile Settings.

Audit finding. Main has static notices but no generated license browser. The generator checks the shared notice map before concurrent reads finish, so sibling notice selection depends on read completion order. Its Windows /@fs/C:/ path conversion also adds an invalid leading slash and can silently skip bundled modules. Merged PR 8970 only changes this feature branch and is not on main, so it does not replace this work.

Recommendation. Keep open: work remains. Make notice selection deterministic and correct Windows module paths before checking packaged notice coverage.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author juliusmarminge. Updated 2026-09-01T00:47:40Z. Draft no. Target main. Head ca7a2541ec9c1356ec7babb4fe5b73c7d8d56ef6. Branch feat/open-source-licenses. Size +2960 / -14, 53 files, 3 commits. Mergeability MERGEABLE. Merge state CLEAN. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 17 passed, 0 failed, 0 pending, 10 skipped. Checks captured 2026-09-01T11:52:28.699318+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 11. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #8970.

Limits. Generator and build integration were reviewed, but the complete 53-file diff and license texts were not verified. PR 8970 landed only on the feature branch, not main.

PR #8964. feat(claude): profile custom model effort

Request. Configure reasoning effort profiles for manually added Claude gateway models.

Audit finding. Main gives unknown Claude models default empty capabilities and has no customModelProfiles setting. The diff adds validated profiles, exact custom-slug handling, default-effort omission, live effort updates, and profile removal on settings reload. This is a configuration-first feature across contracts and clients, with no profile editor, so its public settings contract needs a maintainer decision.

Recommendation. Keep open: decision needed. Approve the configuration-first profile contract and check default-effort behavior on mobile.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author mimen. Updated 2026-09-01T04:13:27Z. Draft no. Target main. Head 1d08ed003f453fa282f1dc50e1a9c38003247208. Branch feat/custom-model-reasoning-profiles. Size +911 / -54, 21 files, 4 commits. Mergeability MERGEABLE. Merge state BLOCKED. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 9 passed, 0 failed, 0 pending, 3 skipped. Checks captured 2026-09-01T11:52:28.699455+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #4192, #8409.

Limits. Mobile profile selection was not exercised in this audit. Latest-head required checks are not reported: Test, Check, Mobile Native Static Analysis, Release Smoke.

PR #8967. feat(server): customize generated text per project

Request. Allow project-specific prompts for generated commits, pull requests, branch names, and thread titles.

Audit finding. Main now follows repository instructions for source-control text, but its t3.json schema still has no per-task prompt overrides. The reviewed patch adds those overrides and treats custom branch output as a complete Git-validated name, beyond the existing global writing settings. It still needs a complete review of the provider, worktree, and manual-commit paths.

Recommendation. Keep open: work remains. Review the custom branch and prompt behavior across all generation entry points.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author t3dotgg. Updated 2026-08-31T23:49:10Z. Draft no. Target main. Head 3f36e949d43cb89b302cdf1ea23fd957ec626d8a. Branch t3code/customize-generation-prompts. Size +1279 / -80, 30 files, 3 commits. Mergeability CONFLICTING. Merge state DIRTY. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 17 passed, 0 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:52:28.699643+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #8804, #4204.

Limits. The prompt resolver, schema, prompt builders, sanitizers, and branch validator were reviewed, but not the complete 30-file diff. GitHub reports merge conflicts at the reviewed head.

PR #8972. fix(web): render chat math with KaTeX

Request. Render inline and display math in chat without rewriting code, prices, or links.

Audit finding. Main has no math parser or renderer. The full diff adds KaTeX and a source normalizer, but that normalizer changes the offsets used by editable task lists, rewrites reference-link destinations, and strips blockquote structure. These are shared Markdown regressions in file preview as well as chat, not just missing math edge cases.

Recommendation. Keep open: work remains. Preserve editable source offsets, link destinations, and Markdown container structure before enabling math normalization.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author orbitingflea. Updated 2026-09-01T10:19:29Z. Draft no. Target main. Head b7a83a045824b5b30f6cf1a5c362ec3511047d43. Branch side/chat-math. Size +454 / -6, 6 files, 1 commits. Mergeability CONFLICTING. Merge state DIRTY. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 6 passed, 1 failed, 0 pending, 5 skipped. Checks captured 2026-09-01T11:52:28.700064+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 24. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

PR #8973. fix(web): fold complete response segments

Request. Fold complete user-response segments across synthetic provider continuation turns.

Audit finding. Main groups settled folds by provider turn ID, so the continuation grouping and stable segment identity remain missing. The full diff groups by user boundaries, but it removes the live agent-spawn exception and still clears an expanded fold when the provider turn ID changes before new content arrives. That leaves distinct correctness work and a display-policy overlap with the keep-all-responses proposal.

Recommendation. Keep open: work remains. Preserve live agent controls and expansion across continuation-only turn changes.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author orbitingflea. Updated 2026-09-01T00:16:52Z. Draft no. Target main. Head ef68daf1f38661c092d63fe5af584b815cf30fb9. Branch side/whole-segment-fold. Size +513 / -100, 3 files, 1 commits. Mergeability MERGEABLE. Merge state BLOCKED. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 6 passed, 1 failed, 0 pending, 5 skipped. Checks captured 2026-09-01T11:52:28.700155+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 12. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8945, #8946, #8903, #8828.

PR #8976. feat(desktop): support custom update release sources

Request. Let desktop users follow Nightly update assets from a custom public GitHub repository.

Audit finding. Main selects a repository at build time and has no runtime Custom update track. The patch adds normalized repository settings and return paths to bundled channels, but it also changes macOS app identity, downstream packaging, and install shutdown. The Keychain review remains disputed by a one-machine observation, while the added identity test only asserts setName calls and does not prove existing-secret migration. The operations guide still describes empty-field reset and custom Stable selection, which do not match the final UI.

Recommendation. Keep open: work remains. Verify packaged custom-source migration with existing Stable and Nightly macOS credentials before resolving the Keychain review.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author saphid. Updated 2026-09-01T10:35:54Z. Draft no. Target main. Head 6502c33a421e4bf742e9f70d83b57ac34643611d. Branch codex/custom-update-release. Size +1226 / -118, 31 files, 8 commits. Mergeability MERGEABLE. Merge state CLEAN. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 17 passed, 0 failed, 0 pending, 10 skipped. Checks captured 2026-09-01T11:52:28.700511+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 1. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8870, #8983.

Limits. No macOS Keychain migration or real custom-repository update was executed.

PR #8981. fix(preview): stabilize background browser automation

Request. Keep background preview capture usable and drain debugger work before desktop teardown.

Audit finding. Main still parks hidden guests outside the compositor and does not drain preview work in desktop shutdown. The reviewed branch changes both lifetime rules and adopts the display-media recording path, overlapping the snapshot and recording PRs. Its body explicitly lacks the required packaged macOS Electron matrix, so unit results cannot establish native readiness.

Recommendation. Keep open: work remains. Run the packaged macOS capture and teardown matrix after choosing the recording and snapshot integration branches.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author maria-rcks. Updated 2026-09-01T05:39:36Z. Draft no. Target main. Head 7a896dbece657e30aa0b8aa9a9c75aa31c7ebbb9. Branch t3code/fix-browser-automation-capture. Size +3256 / -604, 30 files, 9 commits. Mergeability MERGEABLE. Merge state CLEAN. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 18 passed, 0 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:52:28.700894+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion no, full diff no, current source yes, history yes.

Related work: #4685, #6317, #8486, #8957, #9001, #8567.

Limits. The PR reports Linux-only checks and no packaged macOS verification. The 225,690-byte diff was not fully read. Review covered the named feature paths and current main, not every file or test. Current review findings and general discussion were sampled, but historical resolved review threads were not read in full.

PR #8986. ci: gate quality checks by changed paths

Request. Skip CI jobs when changed paths cannot affect their checks while keeping required check names.

Audit finding. Main only gates native mobile analysis by paths and still runs the other jobs unconditionally. The new classifier treats every Markdown file and all .github/triage files as documentation, but the server triagePrompt test reads .github/triage/PLAYBOOK.md and requires exact parity. That direct input is currently skipped, so the claimed complete dependency classification is not ready.

Recommendation. Keep open: work remains. Add the triage prompt dependency and audit other read-time file inputs before enabling the classifier.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author t3-code. Updated 2026-09-01T02:01:18Z. Draft no. Target main. Head 25c2b2fac6671bb005e4b08422e8b6c2c3d8976c. Branch ci/gate-current-ci. Size +839 / -112, 6 files, 2 commits. Mergeability MERGEABLE. Merge state CLEAN. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SUCCESS, Release Smoke: SUCCESS. Observed: 15 passed, 0 failed, 0 pending, 8 skipped. Checks captured 2026-09-01T11:52:28.701174+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #7283, #7286.

PR #8991. fix(server): bound thread activity payload hydration

Request. Bound thread-detail activity payload hydration before JSON decoding.

Audit finding. The merged snapshot-memory change now projects client payloads in batches of 25 and preserves pinned requests, but does not add this PR's per-payload or aggregate byte caps. The proposed cap uses SQLite text length rather than byte length and replaces large pending-request payloads with markers that omit requestId and action data. Keep the remaining memory-limit work open, but revise it against the current projected-read path.

Recommendation. Keep open: partial fix. Redesign byte limits on current main without discarding pending-request fields.

Confidence high. Release: In nightly source. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author rcawston. Updated 2026-09-01T02:57:04Z. Draft no. Target main. Head f25c1aef7be83be8171fcb682fee1e669f0a8ce2. Branch fix/bound-thread-activity-payloads. Size +161 / -36, 2 files, 1 commits. Mergeability CONFLICTING. Merge state DIRTY. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 8 passed, 0 failed, 0 pending, 4 skipped. Checks captured 2026-09-01T11:52:28.701544+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 2. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #9000, #8988. Merged PRs that cover all or part: #9000.

PR #8995. fix(server): route runtime events without thread history

Request. Remove complete thread-detail reads from provider completion handling.

Audit finding. The merged selective-read fix skips unrelated activity payloads, but completion paths still hydrate full message and plan detail. This PR has remaining narrow-query work, and its newest-task-row lookup can lose an older title when a later progress or usage row has none. The streaming append fix changes a different projector path and does not close this scope.

Recommendation. Keep open: partial fix. Rebase the narrow queries and select the newest task activity that contains a usable title.

Confidence high. Release: In nightly source. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author rcawston. Updated 2026-09-01T02:57:35Z. Draft no. Target main. Head 061f96e09246933ceb05d70edc32e6e35fe1299b. Branch fix/provider-runtime-history-hydration. Size +347 / -97, 8 files, 1 commits. Mergeability CONFLICTING. Merge state DIRTY. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 7 passed, 0 failed, 0 pending, 5 skipped. Checks captured 2026-09-01T11:52:28.701827+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 2. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8988, #9000, #9032. Merged PRs that cover all or part: #8988.

PR #9001. fix(preview): restore recording and macOS rendering after Electron 43

Request. Restore recording and macOS preview painting after the Electron 43 upgrade.

Audit finding. Main still uses legacy tab capture and parks every hidden preview outside the window. The reviewed branch adds supported display capture, serialized stream handoff, and capture-active compositing while keeping inactive macOS guests paintable. The body supplies Linux package evidence, but that does not verify the macOS blank-preview claim or replace review of the overlapping lifecycle branch.

Recommendation. Keep open: work remains. Verify restored and background previews in packaged macOS Electron before choosing this recording branch.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author StiensWout. Updated 2026-09-01T09:11:19Z. Draft no. Target main. Head 0e6eefb7c1e1de2e377f439019af1d053c6e20a1. Branch t3code/fix-electron-43-preview. Size +1068 / -335, 11 files, 17 commits. Mergeability MERGEABLE. Merge state CLEAN. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 18 passed, 0 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:52:36.072745+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion no, full diff no, current source yes, history yes.

Related work: #8957, #8981, #8626, #8567, #8839.

Limits. Linux package evidence was supplied, but macOS behavior was not verified in this audit. The 89,312-byte diff was not fully read. Review covered the named feature paths and current main, not every file or test. Current review findings and general discussion were sampled, but historical resolved review threads were not read in full.

PR #9016. feat(usage): add thread and subagent breakdown Draft.

Request. Add bounded thread and subagent usage breakdowns with expandable daily costs.

Audit finding. Main has no thread-breakdown RPC or thread table. Publishing head 46d852c fixes zero-cost bars, invalid timestamps, and closed-table refreshes, while retaining the earlier range and project layers. The current UI review still flags the inherited buffered date-input behavior, and the full attribution stack needs a maintainer review.

Recommendation. Keep open: work remains. Resolve the inherited date-input review and review the isolated thread-breakdown layer.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author saphid. Updated 2026-09-01T11:48:24Z. Draft yes. Target main. Head 46d852cb8eb0df88f094f579499c1ce154c76222. Branch saphid/usage-thread-breakdown. Size +3383 / -86, 31 files, 14 commits. Mergeability MERGEABLE. Merge state UNSTABLE. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 16 passed, 1 failed, 0 pending, 8 skipped. Checks captured 2026-09-01T11:52:36.074058+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 1. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #9014, #9015, #9017.

Limits. The full stacked diff was not reviewed in full. Feature-specific code and publishing-head changes were inspected.

PR #9018. feat(usage): surface estimated cache-write cost Draft.

Request. Show estimated cache-write cost separately in usage totals and breakdowns.

Audit finding. Main includes cache creation in total cost but has no separate cache-write amount. Publishing head 00aac0a passes required jobs, but its thread-response schema requires cache-cost fields absent from version 8 even though the client still queries version-8 environments. Codex fallback titles can also select copied parent prompts or injected shell-command context. This accounting feature needs changes in the inherited thread layer before it is ready.

Recommendation. Keep open: work remains. Make the thread-breakdown response compatible with version 8 before merging the cache-write layer.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author saphid. Updated 2026-09-01T11:48:24Z. Draft yes. Target main. Head 00aac0aae24fd1bb07025288c786959122b2f884. Branch saphid/usage-cache-write-cost. Size +3906 / -104, 32 files, 17 commits. Mergeability MERGEABLE. Merge state CLEAN. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 16 passed, 0 failed, 1 pending, 8 skipped. Checks captured 2026-09-01T11:52:36.074308+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 3. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #9014, #9015, #9016, #9017, #8806.

Limits. The full stacked diff was not reviewed in full. Feature-specific code and publishing-head changes were inspected.

PR #9019. fix(usage): correct Claude cost accounting Draft.

Request. Count final Claude usage snapshots, fallback attempts, and cache-write TTLs correctly.

Audit finding. Pinned main has the merged rate-lookup fix but still keeps first snapshots and lacks iteration and cache-TTL accounting. Head 342fe14 fixes progressive-snapshot deduplication and filtered project shares, and the prior Check failure is gone. The parser still drops model-less compaction iterations, which the installed Anthropic SDK permits, so their tokens remain uncounted. This draft still includes a 35-file stack whose full diff was not reviewed.

Recommendation. Keep open: partial fix. Retain model-less compaction iteration usage and test its accounting before reviewing the full stack.

Confidence medium. Release: In stable source. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author saphid. Updated 2026-09-01T11:48:24Z. Draft yes. Target main. Head 342fe145de8b4811813d7034cd7befa925773edd. Branch saphid/usage-claude-accounting. Size +4454 / -217, 35 files, 20 commits. Mergeability MERGEABLE. Merge state CLEAN. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 14 passed, 0 failed, 0 pending, 8 skipped. Checks captured 2026-09-01T11:52:36.074417+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #8806, #9015, #9016, #9017, #9018, #9020, #9024. Merged PRs that cover all or part: #8806.

Limits. The full 246 KB stacked diff was not reviewed. No transcript replay was run during this audit. The latest GitHub review targets the previous head, not 342fe14.

PR #9020. feat(usage): refresh incrementally every thirty minutes Draft.

Request. Refresh usage every thirty minutes and strengthen incremental transcript caching.

Audit finding. Main already resumes appended transcript reads after the merged scanner change, but has no page-lifetime refresh timer. Publishing head e7bdca7 fixes progressive Claude snapshot deduplication and passes current checks. It inherits the version-8 thread-response mismatch from the cache-write layer and still hashes every full transcript before cache reuse. The compatibility defect needs a fix, and the full-file disk cost remains an explicit product choice.

Recommendation. Keep open: partial fix. Resolve the inherited thread-response mismatch before reviewing the refresh and full-file hashing policy.

Confidence medium. Release: Main only. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author saphid. Updated 2026-09-01T11:48:24Z. Draft yes. Target main. Head e7bdca78176c67fb1d14f3136d38e40fe39ea473. Branch saphid/usage-deterministic-refresh. Size +4856 / -304, 39 files, 21 commits. Mergeability MERGEABLE. Merge state CLEAN. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 14 passed, 0 failed, 0 pending, 8 skipped. Checks captured 2026-09-01T11:52:36.074518+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff no, current source yes, history yes.

Related work: #9024, #9018, #9017, #9016, #9015, #9014. Merged PRs that cover all or part: #9024.

Limits. The full stacked diff was not reviewed in full. Feature-specific code and publishing-head changes were inspected.

PR #9021. fix(web,mobile): match GitHub strikethrough parsing

Request. Keep single tildes literal in web and mobile markdown while retaining double-tilde strikethrough.

Audit finding. Main still uses single-tilde parsing on web and the native parser used by both mobile platforms. This diff requires double tildes in both parsers. The longer-tilde-run review finding is not a new regression because the original native <= 2 guard already rejected runs of three or more. The rendering-policy change needs approval and native build verification.

Recommendation. Keep open: decision needed. Decide whether web and mobile markdown should require double tildes.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author ahalekelly. Updated 2026-09-01T09:11:13Z. Draft no. Target main. Head 3390922cb905cf1402b6af1eab1994a238d253cd. Branch fix/single-tilde-strikethrough. Size +61 / -11, 5 files, 2 commits. Mergeability MERGEABLE. Merge state BLOCKED. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 8 passed, 0 failed, 0 pending, 4 skipped. Checks captured 2026-09-01T11:52:36.074621+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 1. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Limits. Native behavior was checked with a standalone parser driver, not an integrated mobile build. Latest head has no results for required checks: Test, Check, Mobile Native Static Analysis, Release Smoke.

PR #9023. fix(media): preview host files and stream videos across clients

Request. Preview host media outside the workspace and stream videos through web and mobile file viewers.

Audit finding. Main still rejects external workspace assets, reads selected videos through the existing file path, and fetches full web attachment videos into blobs. The reviewed asset changes add descriptor-bound media capabilities and direct signed-video URLs, which are not supplied by the landed image viewer and video attachment features. The PR leaves legacy Android attachment downloading and Markdown-file media reuse as explicit follow-ups.

Recommendation. Keep open: work remains. Complete the full media diff review and verify the untested iOS and Electron paths before integration.

Confidence medium. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author juliusmarminge. Updated 2026-09-01T10:21:17Z. Draft no. Target main. Head bde2af5bfef28e2b52a7898d44faa6a400cea810. Branch t3code/explain-chat-media-paths. Size +4997 / -522, 81 files, 6 commits. Mergeability MERGEABLE. Merge state CLEAN. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 18 passed, 0 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:52:36.074812+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion no, full diff no, current source yes, history yes.

Related work: #5047, #5126, #5112, #8688, #8959, #8936, #8769, #7683.

Limits. The PR reports Chromium and Android proof, but no manual iOS or Electron pass. The 328,050-byte diff was not fully read. Review covered the named feature paths and current main, not every file or test. Current review findings and general discussion were sampled, but historical resolved review threads were not read in full.

PR #9027. perf(terminal): stream output and history

Request. Stream terminal output and retained history with bounded queues across server, web, desktop, and mobile.

Audit finding. Main still rewrites full terminal history and rebuilds the client buffer for each event. The latest head adds a 50-millisecond SGR mouse-release wait and a process-identity guard. It still drops overflow output before persistence on PTYs without pause support, and its 32-event WebSocket queue still replaces extended replay with a 64 KB snapshot. These source-confirmed losses remain merge blockers.

Recommendation. Keep open: work remains. Fix non-pausable PTY overflow and extended-replay backpressure before another complete terminal review.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author StiensWout. Updated 2026-09-01T11:52:22Z. Draft no. Target main. Head adc9b5a3391bd37e37910e0327bdc67ffc1af1d7. Branch t3code/terminal-output-streaming. Size +4363 / -391, 40 files, 32 commits. Mergeability MERGEABLE. Merge state UNSTABLE. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SUCCESS, Release Smoke: SUCCESS. Observed: 14 passed, 0 failed, 6 pending, 7 skipped. Checks captured 2026-09-01T11:52:36.074926+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 14. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8564, #6377, #5319.

Limits. The latest head's Approvability and Bugbot reviews were not complete when inspected. No native mobile build or slow-link terminal run was performed.

PR #9028. feat(mobile): environment-backed voice transcription

Request. Add environment-backed voice transcription for Android and iOS devices without local speech support.

Audit finding. Main only transcribes locally on supported iOS 26 devices, and its voice design document explicitly leaves environment transcription unimplemented. This diff adds server-held credentials, a signed audio route, and per-environment mobile selection. However, the signed token is never consumed, and removing the remote service hides the picker while its saved selection still prevents a local transcriber from being selected, so the advertised one-shot and recovery behavior need fixes. Remote voice transcription is not supplied by this merge. The PR adds transcriptionServices to settingsUpdated in the old projection function.

Recommendation. Keep open: work remains. Fix token reuse and unavailable-source selection, then test those cases through the actual upload route. Port that logic to serverConfigProjection.ts so session replay and durable state share service availability.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author ahalekelly. Updated 2026-09-01T10:12:38Z. Draft no. Target main. Head bc830138b6c5dd31eb3cd0e0e2619c04f6d8a3cb. Branch feat/environment-voice-transcription. Size +1200 / -48, 33 files, 5 commits. Mergeability CONFLICTING. Merge state DIRTY. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 5 passed, 2 failed, 0 pending, 5 skipped. Checks captured 2026-09-01T11:52:36.075066+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 10. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8718, #8614, #5213.

Latest main change. Remote voice transcription is not supplied by this merge. The PR adds transcriptionServices to settingsUpdated in the old projection function. Port that logic to serverConfigProjection.ts so session replay and durable state share service availability.

Limits. The supplied runtime evidence is an iOS 26.5 simulator, not Android or an older iOS device. Required current-head checks are absent: Test, Check, Mobile Native Static Analysis, Release Smoke. GitHub reports merge conflicts with the current base. Current review checks still fail: Macroscope - Effect Service Conventions, Macroscope - UI Consistency.

PR #9037. feat: add Clauded and Dodex provider aliases Draft.

Request. Add Clauded and Dodex as default alternate Claude and Codex instances with wrapper model catalogs and reasoning options.

Audit finding. Main does not register these aliases or supply their wrappers, and this draft enables them by default while leaving the executables in a separate branch. The latest revision fixes the shared capability map by passing each instance's catalog to chat and text generation. Existing custom instances with matching IDs still lose deletion, Windows path detection still differs between health and catalog loading, and health probes still check bare claude instead of the configured wrapper. The native Claude manifest also still marks the wrapper model rows as legacy.

Recommendation. Keep open: decision needed. Decide whether these external wrappers belong in the default provider catalog before completing and validating their integration.

Confidence high. Release: Not applicable. PR readiness: Needs work or a decision.

Observed GitHub metadata. GitHub state OPEN. Author Dhruv2mars. Updated 2026-09-01T11:52:54Z. Draft yes. Target main. Head d684a09a689d79b1b5d81c4d357d968364f7ee0f. Branch feat/clauded-dodex-t3code. Size +543 / -53, 10 files, 2 commits. Mergeability MERGEABLE. Merge state BLOCKED. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 8 passed, 0 failed, 0 pending, 2 skipped. Checks captured 2026-09-01T11:55:45.772422+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 3. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8908, #8227, #8504, #4168.

Limits. The wrapper branch is not linked and its Clauded/Dodex executables are outside this ten-file diff. End-to-end compatibility and installation behavior are unverified. Required CI is absent at the audited head. No live wrapper test was run in this read-only audit. No before/after evidence is supplied for the settings UI change.

PR #7770. fix(server): abort OpenCode child sessions on interrupt

Request. Abort OpenCode child sessions when a turn is interrupted.

Audit finding. The entire diff adds parent-first abort followed by child enumeration and child aborts. Main now does that recursively, limits SDK concurrency, handles failures, and waits for child cleanup before completing interruption. The merged fix is newer than the latest collected stable and nightly releases.

Recommendation. Close: fixed. Close this PR as covered by the merged recursive child-session stop fix.

Confidence high. Release: Main only. PR readiness: Close or archive.

Observed GitHub metadata. GitHub state OPEN. Author NitayRabi. Updated 2026-08-24T13:31:30Z. Draft no. Target main. Head a677515ba5fd2aac85afbf69e4fe3dbe5c7b13b1. Branch fix/opencode-abort-child-sessions. Size +70 / -3, 2 files, 3 commits. Mergeability CONFLICTING. Merge state DIRTY. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 17 passed, 0 failed, 0 pending, 6 skipped. Checks captured 2026-09-01T11:50:51.615385+00:00.

Reviews. GitHub review decision APPROVED. Current-head approvals 1. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #7769, #9005. Merged PRs that cover all or part: #9005.

Independent closure check. The entire current diff and the full discussion concern stopping surviving OpenCode child sessions after the parent abort. Pinned main stops the parent first, walks every descendant with bounded SDK concurrency, and keeps Stop pending until cleanup ends. Its tests include children created during the parent abort and the next-turn gate. The merged replacement is in main but not in stable 0.0.37 or the latest collected nightly.

PR #8439. fix(codex): avoid rescanning fragmented jsonl frames

Request. Stop repeated scans of unfinished Codex JSONL records.

Audit finding. Merged PR 8605 changed protocol input to store fragments, scan each new chunk once and join only at a line boundary or EOF. Main includes large fragmented-record, CRLF, UTF-8 and malformed-final-line tests. This covers the one-file PR's material behavior without depending on Stream.splitLines.

Recommendation. Close: fixed. Close this PR as handled by merged PR 8605.

Confidence high. Release: In stable source. PR readiness: Close or archive.

Observed GitHub metadata. GitHub state OPEN. Author tarik02. Updated 2026-08-27T19:05:34Z. Draft no. Target main. Head 8c1db600ee77a767f4131c129e302a1556ca4867. Branch fix/linear-codex-jsonl-framing. Size +6 / -20, 1 files, 4 commits. Mergeability CONFLICTING. Merge state DIRTY. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 18 passed, 0 failed, 0 pending, 4 skipped. Checks captured 2026-09-01T11:51:27.061795+00:00.

Reviews. GitHub review decision APPROVED. Current-head approvals 1. Current-head change requests 0. Unresolved review threads 1. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8605, #7068. Merged PRs that cover all or part: #8605.

Independent closure check. The full one-file diff replaces repeated whole-buffer scans with a stream line splitter. Pinned main instead retains fragments and scans each arriving chunk once, covering the same performance mechanism. The one review finding requests fragmented, coalesced, and EOF coverage, all present in the merged replacement tests. The replacement is in stable 0.0.37.

Limits. GitHub reports a conflict with main. Any passing checks apply to the existing head, not a rebased result.

PR #7544. fix(shared): strip stray quotes from the repaired Windows PATH

Request. Windows PATH repair must remove stray quotes before child cmd.exe commands resolve executables.

Audit finding. Merged PR #8746 now strips quotes before deduplication in both the shared server PATH merge and the desktop PATH merge. This covers the original malformed-entry failure while preserving quoted directory contents and leaving POSIX unchanged. The fix commit is an ancestor of stable v0.0.37.

Recommendation. Close: fixed. Close this PR as covered by merged PR #8746.

Confidence high. Release: In stable source. PR readiness: Close or archive.

Observed GitHub metadata. GitHub state OPEN. Author TriptoAfsin. Updated 2026-08-19T13:18:56Z. Draft no. Target main. Head 4a757850c7fe21112616268d7cddeaa4825c90af. Branch fix/windows-path-stray-quote. Size +76 / -9, 4 files, 1 commits. Mergeability CONFLICTING. Merge state DIRTY. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SUCCESS, Release Smoke: SUCCESS. Observed: 13 passed, 1 failed, 0 pending, 2 skipped. Checks captured 2026-09-01T11:50:38.674911+00:00.

Reviews. GitHub review decision APPROVED. Current-head approvals 1. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #7543, #8746. Merged PRs that cover all or part: #8746.

Independent closure check. The full diff strips every quote from emitted Windows PATH entries in both shared server and desktop merges, not just comparison keys. Pinned main has that same sanitation before deduplication in both functions. It skips empty sanitized entries, preserves quoted directory contents, and leaves POSIX entries unchanged. The discussion adds no separate scope. The replacement is in stable 0.0.37.

PR #7687. fix(shared): stop putting %APPDATA%\npm ahead of PATH on Windows

Request. Windows PATH repair must keep existing shell entries ahead of package-manager fallback directories.

Audit finding. Merged PR #8748 reverses the same baseline merge order as this PR and updates baseline, profile-loaded, and profile-fallback tests. Pinned main now keeps the shell and inherited PATH ahead of npm, Volta, pnpm, and Scoop fallback directories. The fix is in the latest published nightly but is not an ancestor of stable v0.0.37.

Recommendation. Close: fixed. Close this PR as covered by merged PR #8748.

Confidence high. Release: In nightly source. PR readiness: Close or archive.

Observed GitHub metadata. GitHub state OPEN. Author shubhxho. Updated 2026-08-20T13:59:55Z. Draft no. Target main. Head 479917ab23b79cf29ed0ac6ca3ded2a5508323f7. Branch fix/windows-cli-path-order. Size +33 / -5, 2 files, 1 commits. Mergeability CONFLICTING. Merge state DIRTY. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 9 passed, 1 failed, 0 pending, 2 skipped. Checks captured 2026-09-01T11:50:45.059324+00:00.

Reviews. GitHub review decision APPROVED. Current-head approvals 1. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #7570, #8748. Merged PRs that cover all or part: #8748.

Independent closure check. The sole production change reverses the baseline Windows PATH merge so known CLI directories follow the shell and inherited entries. Pinned main has the same merge order, and baseline, profile-loaded, and profile-fallback tests preserve it. The full body and discussion contain no extra behavior. The merged replacement is in the latest collected nightly, but not stable 0.0.37.

Limits. Required CI is absent on the current head: Check, Test, Mobile Native Static Analysis, Release Smoke.

PR #5198. fix(client-runtime): tolerate transient foreground probe timeouts

Request. Tolerate one desktop or web foreground health-check timeout before reconnecting.

Audit finding. Main still fails a session after the first 15-second foreground probe timeout, so this is not fixed. The complete replacement diff in PR 8522 carries the same two-timeout policy, success reset, and unchanged mobile behavior, while preserving the newer immediate-reconnect marker in main. That PR explicitly identifies this branch as the source approach and is an active replacement.

Recommendation. Close: duplicate. Close this PR as replaced by PR 8522 and keep the replacement open for review.

Confidence high. Release: Not applicable. PR readiness: Close or archive.

Observed GitHub metadata. GitHub state OPEN. Author Zeus-Deus. Updated 2026-08-01T17:12:14Z. Draft no. Target main. Head 3fdbd155b93f90d9b9e24ca89ed010b3ff097887. Branch fix-t3code-render-glitch. Size +115 / -7, 2 files, 1 commits. Mergeability CONFLICTING. Merge state DIRTY. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 9 passed, 0 failed, 0 pending, 3 skipped. Checks captured 2026-09-01T11:49:21.070283+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #5561, #7231, #8522.

Independent closure check. Both full diffs tolerate the first desktop/web foreground probe timeout, reconnect on a second consecutive timeout, reset after success, and leave explicit mobile probes and definite failures unchanged. Replacement 8522 is open, explicitly identifies 5198 as its source approach, and preserves main's newer wakeProbeFailed immediate-reconnect behavior. Full discussions add no separate scope. Main still fails on the first timeout, so this is duplicate cleanup only.

Limits. Required checks absent from the canonical latest-commit rollup: Check, Test, Mobile Native Static Analysis, Release Smoke.

PR #5290. fix: keep auto-settle policy consistent across clients

Request. Auto-settle policy and thread classification should agree across web, desktop, and mobile clients.

Audit finding. I read the full 739-line diff and full discussion. The shared per-environment policy goal is now handled by merged 8600, including streamed server settings, web/desktop controls, and mobile rendering of durable settlement state. However, 5290 deliberately keeps client-derived settlement and lets policy changes reclassify existing rows, while main persists settlement and does not reopen settled rows after a rule change. Close as obsolete after the accepted server-owned design, not as behavior-identical fixed code. The replacement is main-only.

Recommendation. Close: obsolete. Close as superseded by server-owned settlement. Do not describe the old immediate-reclassification behavior as shipped.

Confidence high. Release: Main only. PR readiness: Close or archive.

Observed GitHub metadata. GitHub state OPEN. Author PixPMusic. Updated 2026-08-24T10:12:45Z. Draft no. Target main. Head 08b6d704ed04180a19e8923fda05999fe1134fc7. Branch pixpmusic/server-auto-settle-policy. Size +261 / -47, 15 files, 1 commits. Mergeability CONFLICTING. Merge state DIRTY. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SUCCESS, Release Smoke: SUCCESS. Observed: 13 passed, 1 failed, 0 pending, 5 skipped. Checks captured 2026-09-01T11:49:21.071117+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #5141, #8600. Merged PRs that cover all or part: #8600.

Independent closure check. I read the full 739-line diff and full discussion. The shared per-environment policy goal is now handled by merged 8600, including streamed server settings, web/desktop controls, and mobile rendering of durable settlement state. However, 5290 deliberately keeps client-derived settlement and lets policy changes reclassify existing rows, while main persists settlement and does not reopen settled rows after a rule change. Close as obsolete after the accepted server-owned design, not as behavior-identical fixed code. The replacement is main-only.

PR #6334. fix(web): complete fast update check rotation

Request. A fast manual desktop update check should complete its refresh-icon rotation.

Audit finding. Merged PR #6504 already adds a manual-check animation latch, restarts the icon key, and releases the latch on animation iteration after checking finishes. It also keeps the check icon visible until the latched rotation ends and respects reduced motion. This covers the original short-response jitter without this older icon component.

Recommendation. Close: fixed. Close this PR as covered by merged PR #6504.

Confidence high. Release: In stable source. PR readiness: Close or archive.

Observed GitHub metadata. GitHub state OPEN. Author t3-code. Updated 2026-08-12T15:12:00Z. Draft no. Target main. Head b77d7b2183641a570c954b447f653e05b27c7842. Branch fix/update-check-full-rotation. Size +98 / -4, 3 files, 3 commits. Mergeability CONFLICTING. Merge state DIRTY. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SUCCESS, Release Smoke: SUCCESS. Observed: 13 passed, 0 failed, 0 pending, 4 skipped. Checks captured 2026-09-01T11:49:48.286558+00:00.

Reviews. GitHub review decision APPROVED. Current-head approvals 1. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #6504. Merged PRs that cover all or part: #6504.

Independent closure check. The full diff makes each manual update check restart the icon and finish its current rotation after checking ends. Full review discussion adds repeated-check restart and status-driven checks, both preserved by pinned main. Main uses a presentation latch, increments the icon key for every manual check, and releases the latch on animationiteration. The merged replacement also keeps the icon visible through state changes and honors reduced motion. It is in stable 0.0.36 and 0.0.37.

PR #6400. fix(server): avoid full history on Codex resume

Request. Avoid returning the full Codex turn history when resuming a parent thread.

Audit finding. Parent openCodexThread still resumes without excludeTurns, even though child subscriptions already pass it. This remains a real gap after the input-buffer fix. Open PR 8629 covers the same parent-resume behavior and preserves the field through the generated request encoder, so it is the specific replacement for this raw-request implementation.

Recommendation. Close: duplicate. Close this PR as a duplicate of PR 8629 and keep the parent-resume fix open there.

Confidence high. Release: Not applicable. PR readiness: Close or archive.

Observed GitHub metadata. GitHub state OPEN. Author nickmatteo. Updated 2026-08-27T16:59:21Z. Draft no. Target main. Head 0143edc56bb93ac80c3e61f1ee38b2200ffc4ed4. Branch codex/fix-codex-large-resume. Size +100 / -23, 2 files, 2 commits. Mergeability MERGEABLE. Merge state BLOCKED. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 8 passed, 0 failed, 0 pending, 2 skipped. Checks captured 2026-09-01T11:49:48.287271+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #6399, #7075, #8629, #8605.

Independent closure check. Both complete diffs implement metadata-only parent thread resume with excludeTurns=true and preserve recoverable fallback to thread/start. Replacement 8629 preserves the field in generated request schemas instead of using a raw request plus response decoder, and tests the encoded field and runtime payload. It is open and covers the same material change. Full discussions add user reproduction evidence but no distinct requirement. This is duplicate closure only. The parent resume defect remains unfixed in main.

Limits. Latest-head required check results are absent for Test, Check, Mobile Native Static Analysis, Release Smoke.

PR #7724. feat(client): render viewed images in expanded tool entries

Request. Render a viewed workspace image above expanded tool details on web and mobile.

Audit finding. Main now uses shared read-image classification and renders signed image assets inside expanded work-log rows on both clients. The merged replacement also handles persisted attachment paths and preserves the reviewed single-line and case-insensitive read-title rules. This covers the full preview scope and is in the latest nightly, but not the latest stable release.

Recommendation. Close: fixed. Close this PR as covered by the merged viewed-image work-log implementation.

Confidence high. Release: In nightly source. PR readiness: Close or archive.

Observed GitHub metadata. GitHub state OPEN. Author SunkenInTime. Updated 2026-08-31T15:21:28Z. Draft no. Target main. Head c6eb2d2cc458ade52192b8277a0c8c0816c7d583. Branch t3code/render-viewed-image-tool-entries. Size +211 / -7, 9 files, 16 commits. Mergeability CONFLICTING. Merge state DIRTY. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 19 passed, 0 failed, 0 pending, 9 skipped. Checks captured 2026-09-01T11:50:45.060066+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 1. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #6433, #8936. Merged PRs that cover all or part: #8936.

Independent closure check. The complete diff and full discussion cover lazy expanded image previews on web and mobile, the shared read classifier, CR/LF rejection, Cursor title casing, and keyboard activation. Pinned main now renders signed workspace or attachment image assets in both expanded work logs and uses one shared classifier. The web shared image handler handles Enter/Space and stops their propagation, preserving the original keyboard fix without the old row guard. Merged 8936 is in the latest collected nightly but not stable 0.0.37. Mobile store delivery is not established by the desktop nightly tag.

PR #7747. fix(server): Grok status check uses grok models, not a full ACP session

Request. Avoid starting a full Grok ACP session during provider health checks.

Audit finding. Main still starts a full Grok ACP session during its health check. The later Grok probe PR explicitly rebases this same CLI model/auth implementation and preserves the skills discovery that main gained afterward. Close this older branch as a duplicate of that active replacement, while keeping the replacement open to fix its reasoning-capability regression.

Recommendation. Close: duplicate. Close as a duplicate of #8884.

Confidence high. Release: Not applicable. PR readiness: Close or archive.

Observed GitHub metadata. GitHub state OPEN. Author troybrave. Updated 2026-08-21T02:47:44Z. Draft no. Target main. Head 60f089c7d6b27eca6052e443186d97512c89b017. Branch fix/grok-provider-status-models-cli. Size +241 / -70, 2 files, 1 commits. Mergeability CONFLICTING. Merge state DIRTY. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 9 passed, 0 failed, 0 pending, 3 skipped. Checks captured 2026-09-01T11:50:45.060593+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #7746, #7232, #7505, #8884.

Independent closure check. I read the complete original diff, every normalized replacement difference, and both full discussions. Replacement 8884 explicitly rebases the same grok models parser, CLI-only status probe, auth detection, fallback models, and warning behavior, while retaining skill discovery added to main later. No unique behavior from 7747 is missing. The replacement is still open and must fix its reasoning-capability regression before merge. Main still starts ACP during health checks, so neither branch is a landed fix.

Limits. Required checks have no results on this head: Test, Check, Mobile Native Static Analysis, Release Smoke.

PR #7808. feat(clients): add back and forward navigation

Request. Add Back and Forward navigation controls and shortcuts to web, desktop, and mobile.

Audit finding. PR 8727 explicitly replaces this branch and preserves its navigation implementation across all three clients. Both diffs were read, including the successor fixes for mobile POP_TO source, reload Forward state, cold-start Back, and Android overflow. Main still lacks the feature, so archive this duplicate without calling it fixed or released.

Recommendation. Close: duplicate. Close this PR as superseded by PR 8727.

Confidence high. Release: Not applicable. PR readiness: Close or archive.

Observed GitHub metadata. GitHub state OPEN. Author sethwebster. Updated 2026-08-23T11:26:45Z. Draft no. Target main. Head 78fdbc0d0ac63a486d4c38df463adc7d5cce8c00. Branch seth/navigation-history. Size +946 / -52, 30 files, 22 commits. Mergeability CONFLICTING. Merge state DIRTY. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SUCCESS, Release Smoke: SUCCESS. Observed: 18 passed, 1 failed, 0 pending, 4 skipped. Checks captured 2026-09-01T11:50:51.616029+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 2. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8727, #7729.

Independent closure check. I read the original complete diff, all original and successor discussions, and every normalized diff difference in successor 8727. The successor explicitly preserves the original work and retains Back/Forward controls, history state, shortcuts, palette entries, web/desktop routing, mobile home/thread/settings coverage, and native keyboard commands. Its generic Android header replaces the original Settings-only insertion, while iOS inherits the shared header pair. It fixes the original POP_TO source error and adds reload-forward, cold-start replacement, and Android overflow handling. No unique material behavior remains in 7808. Main still lacks this feature, and the successor still needs maintainer review, including its narrow-sidebar finding.

PR #7916. fix(web): stop the sidebar project menu from highlighting the first project on open

Request. Prevent the first project gear from taking focus when the sidebar project menu opens.

Audit finding. The patch redirects focus from a MenuRadioItem gear to its role=menu ancestor. Main replaced that menu with a searchable Combobox and an input in the popup in the merged project-filter change, so the old MenuPopup auto-focus path and the patch target no longer exist.

Recommendation. Close: obsolete. Close this menu-specific patch as superseded by the searchable project filter.

Confidence high. Release: In stable source. PR readiness: Close or archive.

Observed GitHub metadata. GitHub state OPEN. Author ishaanko. Updated 2026-08-25T00:21:38Z. Draft no. Target main. Head 58cd938a7d4fc75813df3fcff84e461ce7190403. Branch fix/project-menu-open-highlight. Size +13 / -0, 1 files, 2 commits. Mergeability CONFLICTING. Merge state DIRTY. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 17 passed, 0 failed, 0 pending, 5 skipped. Checks captured 2026-09-01T11:50:57.635884+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #7915, #5931, #8627. Merged PRs that cover all or part: #5931.

Independent closure check. The full diff only redirects open-time focus from a project gear to its Menu ancestor. The full discussion adds no other implementation scope. Pinned main replaced that MenuPopup with a searchable Combobox whose initial focus belongs to its input, so the old Menu focus path and the patched ancestor no longer exist. The replacement merged to main and is in stable 0.0.36 and 0.0.37. This does not close the broader gear accessibility requests.

PR #8427. fix(server): back off relay client restarts

Request. Back off repeated exits of the managed Cloudflare connector.

Audit finding. Main still has the immediate connector restart loop. This patch and the active rapid-exit PR change the same supervisor for the same failure, but the latter adds stable-uptime reset and deterministic configuration-preemption coverage with passing current-head required checks. Keep one implementation by using the rapid-exit PR as the active replacement.

Recommendation. Close: duplicate. Close this duplicate in favor of PR 8788.

Confidence high. Release: Not applicable. PR readiness: Close or archive.

Observed GitHub metadata. GitHub state OPEN. Author Adolanium. Updated 2026-08-28T13:52:45Z. Draft no. Target main. Head 90f9ea0eb73ed4af9de091156298a0f1c68827af. Branch fix/relay-client-restart-backoff. Size +58 / -5, 2 files, 1 commits. Mergeability MERGEABLE. Merge state BLOCKED. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 10 passed, 0 failed, 0 pending, 2 skipped. Checks captured 2026-09-01T11:51:27.061425+00:00.

Reviews. GitHub review decision APPROVED. Current-head approvals 1. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8760, #8788, #8906.

Independent closure check. The full diff adds capped exponential restart delays and releases the reconcile lock during the wait. Full discussions and replacement 8788 cover the identical immediate-exit process loop in ManagedEndpointRuntime. The replacement uses an immediate first retry, then bounded exponential delay with stable-uptime and explicit-config reset, and guards stale supervisors after the wait. It preserves responsive configuration changes. Different delay constants are implementation choices, not extra functionality missing from the replacement. Main still restarts immediately, so this is duplicate cleanup only.

Limits. Required current-head checks are absent: Test, Check, Mobile Native Static Analysis, Release Smoke.

PR #8557. fix(server): treat Bitbucket permissions 404 as a removed endpoint

Request. Stop Bitbucket permission preflight from blocking writes when the retired endpoint returns HTTP 404.

Audit finding. Main only bypasses HTTP 410 from the retired permission endpoint, so the 404 failure remains. This patch widens the bypass, while the active workspace-endpoint PR removes the retired request and keeps real permission decoding. Both cover the same preflight for merges and comments, so the supported-endpoint change is a complete replacement for this workaround.

Recommendation. Close: duplicate. Close this workaround in favor of PR 9035.

Confidence high. Release: Not applicable. PR readiness: Close or archive.

Observed GitHub metadata. GitHub state OPEN. Author iamshadmantaqi. Updated 2026-09-01T07:02:04Z. Draft no. Target main. Head 8662e6feaf2a606db9894572a0afdb9955ca6f5a. Branch fix/bitbucket-permissions-404. Size +28 / -7, 2 files, 2 commits. Mergeability MERGEABLE. Merge state BLOCKED. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 10 passed, 0 failed, 0 pending, 2 skipped. Checks captured 2026-09-01T11:51:42.415665+00:00.

Reviews. GitHub review decision APPROVED. Current-head approvals 1. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8328, #9034, #9035, #6525.

Independent closure check. The entire diff widens the retired Bitbucket permission-endpoint fallback to HTTP 404 and adds one test. I read replacement 9035 and both full discussions. The replacement stops calling that retired endpoint, uses the workspace-scoped effective-permission endpoint, preserves repository filtering and decoding, and retains authentication failures. It covers the same merge/comment preflight problem and is open. Close this workaround only in favor of that active replacement, not as fixed or merge-ready.

Limits. Required current-head checks are absent: Test, Check, Mobile Native Static Analysis, Release Smoke.

PR #8632. fix(web): closing a file tab no longer overwrites newer changes

Request. Avoid rewriting a saved file buffer when its editor tab closes.

Audit finding. The full functional change tracks a successful-save revision and skips the redundant close write. Active PR #8630 covers that behavior in persistLatest and also blocks editor changes after disposal, so it is a complete replacement for this narrower fix. Main still needs the fix, and this closure is only a duplicate recommendation.

Recommendation. Close: duplicate. Move the useful flush-order test cases to PR #8630 and close this duplicate.

Confidence high. Release: Not applicable. PR readiness: Close or archive.

Observed GitHub metadata. GitHub state OPEN. Author walid-baharwal. Updated 2026-08-29T06:29:48Z. Draft no. Target main. Head 38876e5cef8b9d1ac400e7402fd81dafe4ca0cbf. Branch fix/file-tab-close-stale-write. Size +116 / -1, 2 files, 1 commits. Mergeability MERGEABLE. Merge state CLEAN. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 18 passed, 0 failed, 0 pending, 4 skipped. Checks captured 2026-09-01T11:51:51.852365+00:00.

Reviews. GitHub review decision APPROVED. Current-head approvals 1. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8475, #8630, #8424.

Independent closure check. Both complete diffs track the revision from the last successful save and suppress the redundant close write. Replacement 8630 checks that revision inside persistLatest, so it covers saved-buffer close behavior, pending debounce flushes, retry after a completed failed write, and newer edits during an in-flight save. It also ignores post-disposal callbacks. The bodies and full discussions add no missing production scope. Main still lacks the guard. Retain the useful flush-order test cases with the replacement.

PR #8642. fix(server): preserve wildcard host (0.0.0.0) in pairing URL instead of resolving to container IP

Request. Change Docker pairing URL output so it does not choose an unreachable container interface.

Audit finding. GitHub reports zero changed files and the complete diff is empty. The branch first kept wildcard bind addresses, then commit 7897f1b restored the existing external-interface lookup after review. Main still has that lookup, so this empty PR can be archived without claiming that the Docker pairing report is fixed.

Recommendation. Close: obsolete. Close the empty PR and leave issue 8384 open for a concrete advertised-host solution.

Confidence high. Release: Not applicable. PR readiness: Close or archive.

Observed GitHub metadata. GitHub state OPEN. Author dlowzzxx. Updated 2026-08-31T15:49:27Z. Draft no. Target main. Head 503b4bc9c76ee9d17a6550fb9f3c272a57e0691f. Branch fix/host-0.0.0.0-pairing-url. Size +0 / -0, 0 files, 4 commits. Mergeability MERGEABLE. Merge state BLOCKED. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 7 passed, 0 failed, 0 pending, 2 skipped. Checks captured 2026-09-01T11:51:51.852801+00:00.

Reviews. GitHub review decision APPROVED. Current-head approvals 1. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8384.

Independent closure check. Fresh GitHub metadata reports zero changed files, zero additions and deletions, and a fresh full diff is empty at current head 503b4bc9c76ee9d17a6550fb9f3c272a57e0691f. The full discussion and commit 7897f1b show that the original wildcard-URL change was reverted after review. This PR has no remaining implementation. Archive it without closing or claiming a fix for issue 8384, since main still chooses an external interface for a wildcard bind.

Limits. Required current-head checks are absent: Test, Check, Mobile Native Static Analysis, Release Smoke.

PR #8795. fix(server): stop reading every provider binding on each session list

Request. Limit provider binding reads to threads with live adapter sessions.

Audit finding. Main still scans all persisted provider bindings, so the performance fix remains needed. This complete production diff and the later lookup PR both derive the same deduplicated active-session thread IDs and preserve the same decoration path. The later PR has current passing CI and bot approval, making it the active replacement while this PR can close as a duplicate, not as fixed.

Recommendation. Close: duplicate. Close as a duplicate of #8909.

Confidence high. Release: Not applicable. PR readiness: Close or archive.

Observed GitHub metadata. GitHub state OPEN. Author willsheldon. Updated 2026-08-30T19:37:01Z. Draft no. Target main. Head 27585b01ab897c6a19ef2baf622f5156596f8e0d. Branch fix/provider-session-listing. Size +94 / -18, 2 files, 1 commits. Mergeability MERGEABLE. Merge state BLOCKED. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 9 passed, 0 failed, 0 pending, 2 skipped. Checks captured 2026-09-01T11:52:06.855053+00:00.

Reviews. GitHub review decision APPROVED. Current-head approvals 1. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8794, #8909, #8187, #8833.

Independent closure check. Both complete production diffs derive the same deduplicated thread IDs from live adapter sessions and read bindings only for those IDs. Both preserve the same active-session decoration and binding-error fallback. The test approaches differ, but replacement 8909 verifies that the historical scan is never called and that only the active thread is looked up. Full discussions add no separate scope. The replacement is open, and main still scans all persisted threads.

Limits. Required checks have no results on this head: Test, Check, Mobile Native Static Analysis, Release Smoke.

PR #8813. fix(server): make OpenCode Stop button actually stop the session

Request. Make OpenCode interruption clear runtime state and allow the next turn.

Audit finding. The current diff contains only an interrupt test and a test-double hook, despite a body that describes production changes. Main already has runtime cancellation cleanup, but the reported durable session staying running is still real because ingestion does not apply turn.aborted. The active durable-abort PR covers that remaining defect with message correlation and ingestion tests, so this test-only branch is a duplicate rather than a landed fix.

Recommendation. Close: duplicate. Close this test-only PR in favor of the active durable-abort PR and keep the underlying issue open.

Confidence high. Release: Not applicable. PR readiness: Close or archive.

Observed GitHub metadata. GitHub state OPEN. Author Mina-Sayed. Updated 2026-08-30T23:13:22Z. Draft no. Target main. Head 2fac8313c88aacc648583b2b93e174484f8a7623. Branch fix/opencode-stop. Size +60 / -0, 1 files, 1 commits. Mergeability CONFLICTING. Merge state DIRTY. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 7 passed, 1 failed, 0 pending, 4 skipped. Checks captured 2026-09-01T11:52:14.061434+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 5. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8939, #8895, #6018, #8859.

Independent closure check. The current diff is tests only, and main already covers its runtime interruption and next-turn behavior. The body still reports a durable session running after Stop on a build newer than merged 8480, so this must not be called fixed. I read replacement 8939 in full. It adds turn.aborted to canonical thread.session.set, clears activeTurnId, writes interrupted/error state, finalizes output, and tests the exact persisted mismatch. Close this PR only as a duplicate of that active replacement, with issue 8895 left open. This is not a merge-readiness finding for 8939.

PR #8834. fix(server): serialize OpenCode inventory commands

Request. Serialize OpenCode CLI inventory subprocesses to avoid SQLite lock contention.

Audit finding. The diff only serializes loadInventoryFromCli and adds a test that calls that helper directly. Main has no production callers of this helper since HTTP inventory replaced it in the merged shared-server change. Applying this PR would not change current provider discovery, though the old helper remains in source.

Recommendation. Close: obsolete. Close this PR as obsolete after linking the HTTP inventory replacement.

Confidence high. Release: In stable source. PR readiness: Close or archive.

Observed GitHub metadata. GitHub state OPEN. Author Michel-Liao. Updated 2026-08-31T00:16:53Z. Draft no. Target main. Head 196d12808f5c163086c4c09db61972d843223257. Branch codex/fix-8386-opencode-inventory-lock. Size +75 / -3, 2 files, 1 commits. Mergeability MERGEABLE. Merge state BLOCKED. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: not captured, Check: not captured, Mobile Native Static Analysis: not captured, Release Smoke: not captured. Observed: 10 passed, 0 failed, 0 pending, 2 skipped. Checks captured 2026-09-01T11:52:14.062459+00:00.

Reviews. GitHub review decision APPROVED. Current-head approvals 1. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8386. Merged PRs that cover all or part: #8480.

Independent closure check. Both changed production blocks only serialize loadInventoryFromCli. The full diff adds no other behavior, and the full discussion identifies the same CLI lock mechanism as issue 8386. Repository-wide caller search finds no production caller of that helper after the HTTP catalog replacement, so the patch no longer changes provider discovery. The replacement is in stable 0.0.36 and 0.0.37.

PR #8906. fix(cloud): back off relay connector restarts

Request. Insert a five-second wait between managed connector restarts.

Audit finding. This fixed-delay patch addresses the same connector exit loop as the active rapid-exit PR. Both leave configuration changes responsive, while the replacement adds stable-uptime reset and tested preemption. The final discussion explicitly identifies this overlap, and neither patch has landed.

Recommendation. Close: duplicate. Close this duplicate in favor of PR 8788.

Confidence high. Release: Not applicable. PR readiness: Close or archive.

Observed GitHub metadata. GitHub state OPEN. Author nateEc. Updated 2026-08-31T23:12:29Z. Draft no. Target main. Head 14468ba66debdf98bf76e00d136c348d152d28d6. Branch codex/fix-8760-relay-restart-backoff. Size +33 / -4, 2 files, 1 commits. Mergeability MERGEABLE. Merge state CLEAN. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 17 passed, 0 failed, 0 pending, 5 skipped. Checks captured 2026-09-01T11:52:21.834457+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #8760, #8788, #8427.

Independent closure check. The full diff adds a fixed restart delay and releases the reconcile lock during the wait. Full discussions and replacement 8788 cover the identical immediate-exit process loop in ManagedEndpointRuntime. The replacement uses an immediate first retry, then bounded exponential delay with stable-uptime and explicit-config reset, and guards stale supervisors after the wait. It preserves responsive configuration changes. Different delay constants are implementation choices, not extra functionality missing from the replacement. Main still restarts immediately, so this is duplicate cleanup only.

PR #8367. perf(client-runtime): halve server config bootstrap traffic

Request. Remove the duplicate full server-config transfer at session startup.

Audit finding. This PR merged during the audit at b883fc066ea5c9bebbe1c3e9b4bc2471aab3685f, after the pinned main baseline. Its complete diff and resolved review threads cover shared bootstrap, incremental events, theme replay, and session recovery. It is no longer open and should not remain in the merge queue.

Recommendation. Merged during the audit. No closure action. This PR already merged during the audit.

Reconciliation. This item left the open inventory during the audit. It is not a closure recommendation.

Confidence high. Release: Main only.

Observed GitHub metadata. GitHub state MERGED. Author Adamulek123. Updated 2026-09-01T11:23:51Z. Draft no. Target main. Head 9114a74cf67cefcb2cf57ef2242ac58cdb91f12b. Branch perf/server-config-single-snapshot. Size +1053 / -151, 20 files, 10 commits. Mergeability UNKNOWN. Merge state UNKNOWN. Merged 2026-09-01T11:23:50Z. Metadata snapshot 2026-09-01T11:57:41.491617+00:00.

Checks. Required: Test: SUCCESS, Check: SUCCESS, Mobile Native Static Analysis: SKIPPED, Release Smoke: SUCCESS. Observed: 19 passed, 0 failed, 0 pending, 12 skipped. Checks captured 2026-09-01T11:51:21.264881+00:00.

Reviews. GitHub review decision UNKNOWN. Current-head approvals 0. Current-head change requests 0. Unresolved review threads 0. Counts do not replace review of the findings.

Evidence read. body yes, discussion yes, full diff yes, current source yes, history yes.

Related work: #4137, #8569, #8309. Merged PRs that cover all or part: #8367.

Independent closure check. Confirmed as inventory reconciliation, not a closure recommendation. Fresh GitHub metadata reports this PR already merged into main at 2026-09-01T11:23:50Z, after the 11:17:41Z audit snapshot, with merge commit b883fc066ea5c9bebbe1c3e9b4bc2471aab3685f. Remove it from the open merge queue and keep the post-baseline distinction. This verdict does not claim its behavior was fixed in pinned main or independently re-review the merged implementation.