Problem
ThreadMember sequence-number extraction repeatedly concatenates nested arrays. Large/deep thread trees allocate avoidable intermediates, and synthetic root members are not handled uniformly.
Prepared atomic commit 76467b325d71a888ac49be558c87a04d6704c591 performs one-pass traversal and supports synthetic roots. Output models match baseline for ordinary trees and add root/deep boundaries. The allocation model drops 7,715,006 to 4,411,006 objects and is about 14% faster locally; dual-Ruby suites pass. No repository tests were modified.
Problem
ThreadMembersequence-number extraction repeatedly concatenates nested arrays. Large/deep thread trees allocate avoidable intermediates, and synthetic root members are not handled uniformly.Prepared atomic commit
76467b325d71a888ac49be558c87a04d6704c591performs one-pass traversal and supports synthetic roots. Output models match baseline for ordinary trees and add root/deep boundaries. The allocation model drops 7,715,006 to 4,411,006 objects and is about 14% faster locally; dual-Ruby suites pass. No repository tests were modified.