Conversation
The "hide subagent threads from v2 lists" change made getThreadListV2OrderedSection read thread.lineage, but the pending-move suite still hand-cast partial EnvironmentThreadShell rows, so all five cases crashed with "Cannot read properties of undefined". Build the rows through makeThreadShellFixture so the fixtures track every field the shared section helper reads; assertions are unchanged. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — The PR combines low-risk test and dead-code cleanup with a mobile dependency pin, but it also adds a Knip entry that suppresses an unused-file static-analysis diagnostic. That configuration override requires human review. You can add or adjust custom eligibility rules. Learn more. |
knip:check reported apps/server/scripts/verify-background-live.ts as an unused file even though docs/operations/background-verification.md documents it as the live provider verification entry point. Register it as an apps/server knip entry alongside the other runnable scripts. The exports pass also flagged two exports that lost their consumers in the v2 port: autoSettlementSettingsKey lost the unit tests that used it (restored from main's ThreadSettlementReactor.test.ts), and foldUserInputActivities plus projectQuestionToolInput became dead once the server started attaching questionAnswer to resolved turn items. Model: SWE-2 High via T3 Code (Cursor harness). Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
apps/mobile declares expo-audio as ~57.0.4 while patchedDependencies carries expo-audio@57.0.4. The release smoke regenerates the lockfile in an isolated root, where ~57.0.4 resolves to the newer 57.0.5 and pnpm fails with ERR_PNPM_UNUSED_PATCH. Pin the dependency to 57.0.4, matching the upstream fix in pingdotgg#11426, so the still-needed patch (error reporting in AudioRecorder.didFinish, not present upstream in 57.0.5) stays applied and frozen installs stay reproducible. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
Dismissing prior approval to re-evaluate 73a032f
|
On the Macroscope eligibility flag for the knip entry: This commit is cherry-picked from #11513 so this branch can demonstrate the repaired |
|
@juliusmarminge this OV2 fix repairs the V2 thread-order regression suite and is ready for your review. Latest head One explicit human-review item: Macroscope flagged the runnable-script knip entry carried from #11513. The rationale is in the preceding comment; that dependency should land through #11513. This comment is a review request, not a claim that human approval is complete. |
|
Closing: the full contents of this PR landed upstream via the squash merge of #11518 ( The original defect and focused evidence remain in this PR's description: |
Summary
Shared Test CI on
t3code/codex-turn-mappingfails all five cases inapps/mobile/src/state/thread-order.test.tswithTypeError: Cannot read properties of undefined (reading 'relationshipToParent').Root cause:
d084be71eb("fix: hide subagent threads from v2 lists") added athread.lineage.relationshipToParent === "subagent"filter insidegetThreadListV2OrderedSectionand updated thethreadListV2.test.tsfixtures, but the pending-move suite still hand-cast partialEnvironmentThreadShellrows withoutlineage. Every refresh through the coordinator then crashed.Fix: build the fixture rows through
makeThreadShellFixture, which produces a complete shell viapresentThreadShell, so the fixtures track every field the shared section helper reads. Test assertions are unchanged — pinned/unpinned membership, activity order, deterministic ties, and reverse transitions are all still exercised.This branch also carries the published shared-CI repairs so the full check suite can run green here:
82b753431d— knip unused-code repair, cherry-picked from fix(ci): register the live background verifier and drop dead v2 exports #11513 (cb0a26f5)73a032f987— expo-audio pin for the release-smoke patch, cherry-picked from fix(mobile): pin expo-audio so the release smoke patch stays in use #11518 (88301853)Test plan
vp test run apps/mobile/src/state/thread-order.test.ts— 5/5 pass (was 5/5 failures)vp test run apps/server/src/orchestration-v2/ThreadSettlementService.test.ts— 14/14 passvp run knip:check— clean (was theCheckCI failure)node scripts/release-smoke.ts— passes (was theRelease SmokeCI failure:ERR_PNPM_UNUSED_PATCH expo-audio@57.0.4)vp run --filter @t3tools/mobile typecheck,vp lint,vp fmt --check— cleanGenerated with Devin — SWE-2 High via T3 Code/Cursor harness. Coordination: T3 thread 29183fbb-98fc-48d3-9530-d46bbecf13c8, campaign issue saphid/t3code-personal#298.