Skip to content

Upstream integration cycle: September 24 comprehensive catch-up and orchestration reliability #736

Description

@rynfar

The maintainer requested a complete bounded catch-up, with GPT-6 Sol low-reasoning agents doing investigation, implementation, and separate adversarial review, under root supervision.

Frozen upstream range: bbedad0278bbf753503184c00e0c09a0eab6679c..e67abcf798f8c4d8458755e3b4dde02c2c1f628b (481 sources; 146 after the last completed cycle bound). Starting Pylon head: 3868597c32d9dfef9ee5ad807360e23008639207.

Scope:

Quality gate: isolated worktrees from origin/pylon, focused regression tests and scoped lint/types, separate adversarial review for each change, final-head CI. Preserve Pylon runtime identity, provider ownership, cancellation, persistence, remote access, and live profiles. No broad upstream merge. PRs target pylon; merging requires green checks and developer approval. Releases/installations are separate.

Progress and source dispositions will be recorded here and in linked implementation PRs. The review cursor remains unchanged until every included source has an authorized disposition. This inventory does not equate source count with missing fixes.

Activity

  1. rynfar commented on Sep 24, 2026

    @rynfar
    CollaboratorAuthor

    Initial audit complete: all 18 starting issues and 3 starting PRs have been inspected; acceptance verification and fixes continue. The source inventory enumerates all 481 upstream commits with paths and record references. References are evidence, not final dispositions, and the review cursor remains unchanged.

    Priority findings:

    No merges, releases, installations, live-profile writes, or review-cursor advancement performed. Each patch requires separate adversarial review, focused tests, and final-head CI before readiness.

  2. rynfar commented on Sep 24, 2026

    @rynfar
    CollaboratorAuthor

    First reviewed PRs are open (not merged):

    PR Outcome Verification and limits
    #737 Classify missing Prime public SDK entry and retain capability-safe ACP fallback Independent review addressed; 35 focused tests passed, 2 skipped; server types/lint passed. Does not enable native stock compiled SDK or solve background text generation; #728 remains open.
    #738 Correct 15 malformed full source commit IDs in upstream ledger Independent reviewer verified actual commits, matching titles/PRs, unique prefixes, and byte-for-byte unchanged content outside substitutions. Cursor/dispositions unchanged.
    #740 Prepare Claude prompts before turn admission and fence Stop/retirement during preparation Independent lifecycle review addressed; 176 Claude tests, scoped server types/lint passed. Fixes proven stranded-turn path; broader heavy-orchestration stream latency investigation continues.
    #741 Bound WSL failed-runtime retry and safely prune scratch under stable install locks Independent review found and fixed active extraction deletion race. 73 focused tests passed, 11 shell executions skipped on macOS; desktop types/lint passed. Stable lock files intentionally retained; live WSL proof outstanding, #150 remains open.

    CI is running; no merge approval requested yet. Relay investigation also confirmed the installed CLI lacks the bridge's observe command, in addition to legacy receipt mismatch; compatibility patch is undergoing independent review. #82 reconciliation has fresh focused tests/types and is under separate adversarial review. #199 external-blocker premise was corrected in an evidence comment; remaining gate is multi-instance publication/hosted validation proof, not open upstream issues.

    Next implementation wave: provider explicit-refresh cache invalidation, correct PR diff merge-base, GitHub quota reduction, and OpenTelemetry export disable handling. Full upstream disposition reconciliation remains incomplete; enumeration alone is not adoption.

  3. rynfar commented on Sep 24, 2026

    @rynfar
    CollaboratorAuthor

    Open PR review, 2026-09-24:

    • feat(contracts,devices,mobile,web): adopt 2026-09-22 upstream resilience and polish batch #731: Inspected the auth/WS device update route, local and SSH maintenance, manifest precedence, attachment retry, and relevant contracts. Seven focused test files passed (147 tests). CI is green; no confirmed code blocker. Browser/device runtime evidence awaits explicit approval.
    • feat(prime): support abort_and_send_queued capability with fallback to abort #723: Reviewed the negotiated capability check and fallback tests. The runtime API is preparatory: product stop and cancellation still use abortAndClearQueue. The PR body now states this limit. Its green CI and unit tests cover negotiated, missing-method, fallback, and rejection paths; no end-to-end send-queued product behavior is claimed.
    • feat(providers): add Oh My Pi Early Access support #82: Old head conflicts with current pylon. Reconciled in isolated branch fix/omp-reconcile-20260924 at fad2d62da4 plus MCP scoping fix 2ae32b0944. Server, web, mobile typechecks pass; 43 provider server and 157 client/contract focused tests passed before the scoping fix; its 19 OMP adapter tests pass after. Independent adversarial recheck remains open. No merge or release.
  4. rynfar commented on Sep 24, 2026

    @rynfar
    CollaboratorAuthor

    Maintainer decisions and landed work:

    New Claude finding: read-only timing analysis of actual nightly logs showed regular tool_progress heartbeats during long-running tools. Frames lacked task_id but had a parent_tool_use_id associated with a prior task_started; current client projection therefore hid ongoing child progress. Separate mapping fix is under independent review, with lifecycle/unknown-parent/explicit-ID checks. Refined timestamp correlation shows the sampled user message was admitted at 07:10:50 UTC, assistant text was projected from 07:11:16, and the turn completed at 07:21:12. No evidence from that sample proves a logging queue stall or lost message.

    Relay compatibility patch has passed independent review, including real installed CLI shapes, receipt backfill, retry attempt attribution, cancellation scope, bounded prior-job lookup and pagination. Final PR/checks follow. Full historical recovery can still take time; missing Relay job files cannot be reconstructed as completed output.

    #742 (correct PR diffs) and #743 (explicit provider cache refresh) are open and reviewed. #741 remains under fresh Linux CI following test-fixture lock cleanup corrections. No release or installation performed.

  5. rynfar commented on Sep 24, 2026

    @rynfar
    CollaboratorAuthor

    Progress checkpoint: the actual Claude lost-reply incident was traced to provider session binding overwriting a reserved new admission with the previous provider running status. PR #752 preserves starting for that exact reservation and rejects malformed binds; errored/closed sessions fail admission. The strict event admission guards remain intact. Its regression failed on the baseline; 218 focused tests, scoped typecheck/lint and independent adversarial review pass. Final-head CI is pending. The independent reviewer required a real ingestion enqueue/drain test after finding the original synthetic completion had no consumer.

    This shared server fix applies to all clients, including mobile, but native/device behavior is not yet verified. Delayed buffered prose is being investigated separately from discarded replies. No release or install has occurred.

    The three specifically approved PRs #737, #738 and #740 are merged. Oh My Pi #82 is closed unmerged at the maintainer’s request. Further merges remain pending approval. Reviewed PRs #731, #741, #742, #743, #744, #746 and #748 have green checks; #743 still needs combined no-downgrade model-manifest verification with #731. Git safety #751 prevents a stale ref name matching a dirty tracked filename from restoring that file; its independent review and CI are underway.

    The source matrix has 239 of 481 exact finalized dispositions at this checkpoint; the remaining sources are still under review, not counted as missing fixes. The cursor remains unchanged. Work continues on coherent usage accounting, Grok background tasks, Relay event handling, buffered delivery and the remaining bounded inventory. Pending product choices and verification requirements will stay recorded here without blocking independent work.

  6. rynfar commented on Sep 24, 2026

    @rynfar
    CollaboratorAuthor

    Combined integration verification for #731 and #743, without merging either PR: I applied #743 head 1f7cf3f949 onto #731 head 0776b0b05a in an isolated scratch worktree. The merge had no conflicts. The resulting ModelManifest keeps the #731 freshness guard after #743's TTL-bypassing forceRefresh path, so a valid hosted catalog older than the live/bundled manifest is rejected for both normal and forced refresh. The existing tests cover older-hosted retention/reboot and forced refresh with newer hosted data; the combined ModelManifest and ProviderService suites passed 155/155, and the server typecheck passed. No combined branch was pushed. Browser/device verification remains subject to the repository's explicit-approval boundary.

  7. rynfar commented on Sep 24, 2026

    @rynfar
    CollaboratorAuthor

    Further reviewed fixes are prepared as separate PRs:

    The #731/#743 combined model-manifest check passed 155 focused tests and scoped typecheck at exact heads 0776b0b05a and 1f7cf3f949; forced refresh still cannot downgrade newer model data. #749’s independent review also found and fixed rate-limit fallback fan-out; the final reviewed head is 445de7118f, with full CI running.

    Native #747 build verification remains limited: the tool timed out without an exit status. Patched RNScreens objects and an app binary were emitted, but this is not proof of a successful full build. No owned build process remains and no device was launched.

    No additional PRs have been merged, released or installed. The only approved and completed merges remain #737, #738 and #740. The exhaustive source review is split into non-overlapping cohorts, and large optional ports wait for the final dependency/desirability map. The review cursor remains unchanged.

  8. rynfar commented on Sep 24, 2026

    @rynfar
    CollaboratorAuthor

    Combined focused verification on a fresh origin/pylon base 7ed3f711caa36485001538bbe1cb0017b84aa7fe applied these exact open PR heads together, without a combined PR:

    • Relay bridge #744: e8674fff2b48fa6a09c512a7de30b0ab8b4cb142
    • Claude subagent progress #745: 082ae861de6a92692fd049a7a0d0b9562f9b266e
    • Exact turn admission #752: dd363c430c63c38630f3c55cd506d79179000e65
    • Paced buffered delivery #757: 6771dc2b637785014749b8e5787497d0297bb06c

    The changes applied without conflicts; Git cleanly auto-merged the ingestion test. Focused tests across the Relay bridge, Claude adapter, provider command reactor and ingestion, session-lifecycle decider, and shared subagent runtime passed 479/479. Scoped t3 and web typechecks and git diff --check passed. This verifies these patches coexist at their listed heads; it does not replace each PR's final-head CI or browser/device runtime verification.

  9. rynfar commented on Sep 24, 2026

    @rynfar
    CollaboratorAuthor

    Usage merge boundary found while reviewing retention PR #762: source ownership is keyed by (hostId, provider, resolvedHomePath, volumeId), but summary buckets carry only provider, not source identity. claimSources can choose the newest copy of a shared directory, while ownedContribution keeps an environment's entire provider bucket if it owns any directory for that provider (packages/shared/src/usageMerge.ts).

    Minimal example: environment A reads Claude homes {shared: $4, unique-A: $6} and reports one Claude bucket of $10; environment B reads {shared: $4, unique-B: $11} and reports one Claude bucket of $15. Both own a unique source after fingerprint claims, so the current merge includes both full buckets: $25 actual vs $21 expected. Switching the shared source owner to the newest readAt does not solve this mixed-home case. It can also misstate sessions for the shared source.

    This is a preexisting contract-granularity limitation, not proof that #762's retention work is broken. A compatible fix needs per-source contribution totals (or equivalent attribution) in the usage summary, with an older-client/version fallback. Until then, #762 should claim newest-owner dedup only for summaries whose provider history is wholly duplicated, and this mixed-home case remains open in the catch-up audit.

  10. rynfar commented on Sep 24, 2026

    @rynfar
    CollaboratorAuthor

    The first full source matrix covers all 481 frozen-range commits with no duplicate or out-of-range SHA. Independent review is now checking every source group. This is not a completed adoption claim: 96 earlier rows supported only by merged-PR references are explicitly marked unverified until current helper/caller/condition evidence is supplied. Review has already found omitted functional hunks and corrected several false “covered” or cosmetic-only dispositions. The cursor stays unchanged.

    The core user-reported fixes (#744 Relay worker visibility, #745 Claude tool progress, #752 admission, #757 paced buffered prose) are independently reviewed, have green final-head CI, and passed a combined isolated verification of 479 focused tests plus server/web typechecks at their exact heads. No additional merge or deployment occurred.

    Native concurrency #760 now has stronger CI evidence: the amended macOS job ran all five compiled fixtures with clang and Swift ThreadSanitizer enabled, and all passed. Full app/device verification is still outstanding. Other prepared follow-ups include #759 transfer-report comparison, #761 CSV final empty record, #762 retained usage accounting, #763 bounded desktop quit, #764 mobile deep-link hydration, #765 background model default, #766 SSH device-host handling, #767 preview-host selection, and #768 mobile render recovery. These remain subject to their final-head CI and recorded review evidence; they are not implicitly merge-approved.

    Independent review reopened #731 bundled timestamp correctness. Its model content was newer than its timestamp, so the timestamp correction is being verified at a new head with #743. The previous combined test result should not be treated as final readiness for that new head. Intentional aliases and explicit model choices are preserved.

    The audit separates confirmed defects, compatible feature candidates, optional refactors, dependencies and actual product decisions. Oh My Pi remains closed and excluded. New findings such as mixed-home usage aggregation, iOS terminal deletion, missing accessible labels and dependency/packaging updates are tracked explicitly rather than hidden by broad adoption claims. Implementation and review continue on authorized independent work.

  11. rynfar commented on Sep 24, 2026

    @rynfar
    CollaboratorAuthor

    PR #731 final model-catalog correction: the bundled updatedAt now reflects the last Pylon content edit (2026-09-24T07:48:28Z) at head 4b2070a0f7. Its former date preceded Pylon's GPT-6 and Opus 5.5 classification edits. The current hosted catalog is undated and remains older under the no-downgrade guard; aliases and stored selections are retained. Independent review passed. Exact combined #731 + #743 focused verification passed 247 tests and t3 typecheck without conflict. Final-head #731 CI is still running; no merge performed.

  12. rynfar commented on Sep 24, 2026

    @rynfar
    CollaboratorAuthor

    Frozen upstream source dispositions 1–70 of 481

    Snapshot: 2026-09-24 09:19 UTC; reviewed Pylon base 7ed3f711caa36485001538bbe1cb0017b84aa7fe. Frozen range: bbedad0278bbf753503184c00e0c09a0eab6679c..e67abcf798f8c4d8458755e3b4dde02c2c1f628b; completed cursor remains fa1e1715538f6f8ac076761f7821f68479f616ab. Open PRs are pending, not adopted.

    Review row Upstream index Source Disposition Current behavior / evidence Remaining scope
    1 271 bd5dc58c65b87bfd2222e4697c4742b48e639ea4 fix(web): client spans reach the trace proxy again (#12332) adopted Merged Pylon PR #693 merge c4e610e; current Pylon apps/web/src/observability/clientTracer.ts + clientTracing.ts mutable delegate and runtime.ts layer None identified in bounded source behavior
    2 272 eadeaf228267be215a2e9486f16b876d703dcccc fix(bitbucket): preserve rate limits from optional PR reads (#12486) adopted Merged Pylon PR #693 merge c4e610e; current Pylon apps/server/src/sourceControl/BitbucketApi.ts retryAt and pullRequest/BitbucketPullRequestProvider.ts recoverRead None identified in bounded source behavior
    3 274 ed6fe339d71863f39a1d5405554a3bac892e55b6 fix(build): retain multiple license notices for one package (#12489) adopted Merged Pylon PR #693 merge c4e610e; current Pylon scripts/lib/third-party-licenses.ts generatedNotices decode/flatten and tests None identified in bounded source behavior
    4 275 dcdf5e6a013607b42836a270165286181da48296 fix(build): parse executable imports without matching source strings (#12488) adopted Merged Pylon PR #693 merge c4e610e; current Pylon scripts/lib/cli-executable-imports.ts TypeScript AST traversal and tests None identified in bounded source behavior
    5 278 c03b240265a1d4954536c5c0758ac2b7fa762ba8 fix(git): explain fetch failures without exposing remote output (#12485) adopted Merged Pylon PR #693 merge c4e610e; current Pylon apps/server/src/vcs/GitVcsDriverCore.ts fetchFailureDetail and tests None identified in bounded source behavior
    6 280 6d68677ff90915c17de06d78bb498d41a1adfe6a fix(server): restore secrets when settings persistence fails (#12487) adopted Merged Pylon PR #693 merge c4e610e; current Pylon apps/server/src/serverSettings.ts secret rollback under uninterruptibleMask and tests None identified in bounded source behavior
    7 336 ead1dee22916b414906eafdae5f5a1293f16e637 fix(web): explain what enabling network access means in its confirmation (#10098) adopted Merged Pylon PR #697 explicitly lists this source as integrated; current feature/code retained in Pylon tree Pylon-specific adaptations documented in PR body; no known omitted bounded behavior
    8 337 9f0c9f725d4553d34e3c91c13d67ebcc58be5b0f fix(web): reuse current PR status in the sidebar (#12545) adopted Merged Pylon PR #701 explicitly lists this source as integrated; current feature/code retained in Pylon tree Pylon-specific adaptations documented in PR body; no known omitted bounded behavior
    9 338 6a699f0f2fbd8847d7ec2df8d9245ce8c2eb8707 fix(web): stabilize pull request loading layout (#12721) partially_adopted Pylon PR #701 adopted PullRequestCopyableCode and ghost props, but current PullRequestDetailPanel.tsx computes checkoutCommand only from loaded detail and passes null to ghost while loading. Upstream uses handoffSummary or loadingPullRequestCheckoutCommand(reference, repositoryIdentity) to keep checkout affordance/width stable. Adapt loading checkout command fallback with repository identity/handoff context; test loading ghost geometry and eventual detail transition.
    10 339 55c24273a025874cdb8a96a25ee0c59eeb4e3051 fix(desktop): align preview recording cursors and show input feedback (#12779) adopted Merged Pylon PR #699 explicitly lists this source as integrated; current feature/code retained in Pylon tree Pylon-specific adaptations documented in PR body; no known omitted bounded behavior
    11 340 7ade2d2c6b37df6f1bc879bfcbf64658b7af2554 fix(web): the Run on / Workspace menu closes after a pick (#12685) adopted Merged Pylon PR #697 explicitly lists this source as integrated; current feature/code retained in Pylon tree Pylon-specific adaptations documented in PR body; no known omitted bounded behavior
    12 341 3cfebf4aa3ce7410806c0ba4cc4d991cc1ce8dbb fix(web): keep portaled menus clickable over Electron drag regions (#12527) adopted Merged Pylon PR #697 explicitly lists this source as integrated; current feature/code retained in Pylon tree Pylon-specific adaptations documented in PR body; no known omitted bounded behavior
    13 342 5d9e27a596884d30499c7401296916fd729c817f fix(web): render citations in queued messages (#12403) partially_adopted PR #697 UserMessageBody optional renderContextReference persists; queued timeline card absent Queued timeline card belongs to upstream activity-group implementation; review as separate product choice
    14 343 2d8f9a8f55d2195ac820c91f0f1e8f66a055f841 fix(web): keep the timeline still when the resting composer expands (#12771) inapplicable PR #697 explicitly excluded Tiptap-specific className sync; Pylon uses Lexical composer No Tiptap port
    15 344 45e06f48a03354b600782259010ae6222241aff0 fix: composer hero reads project name to screen readers (#12397) adopted Merged Pylon PR #697 explicitly lists this source as integrated; current feature/code retained in Pylon tree Pylon-specific adaptations documented in PR body; no known omitted bounded behavior
    16 345 f6cc6bc7e9cbe1feeb7811ea92d519ad77c76596 fix(mobile): respect word wrap in diffs (#12590) adopted Merged Pylon PR #703 explicitly lists this source as integrated; current feature/code retained in Pylon tree Pylon-specific adaptations documented in PR body; no known omitted bounded behavior
    17 346 adcd90858c3bfece59095465d2f49860ba3dcea9 fix(web): allow full contrast in assistant replies (#12405) adopted Merged Pylon PR #697 explicitly lists this source as integrated; current feature/code retained in Pylon tree Pylon-specific adaptations documented in PR body; no known omitted bounded behavior
    18 347 93349247008517663aa16a3ed145d5b0f3f044ff fix(web): pull request chips share the link hover preview (#12719) partially_adopted Independent current proof: ChatMarkdown.tsx:2946 resolves pullRequestPreviewTarget for link URL and :3088 renders PullRequestLinkPreview, shared with link hover behavior. Forgejo host/port behavior excluded because Pylon has no Forgejo provider. Source Forgejo authority/port host handling is excluded because Pylon has no Forgejo provider; supported hosts retain hover preview.
    19 348 584450a1f198c8592d28947a0a7a060d28013298 fix(web): compact the worktree setup glass popover (#12802) adopted Merged Pylon PR #697 explicitly lists this source as integrated; current feature/code retained in Pylon tree Pylon-specific adaptations documented in PR body; no known omitted bounded behavior
    20 349 67285e4b8719000eecb9de2a424609ca5c6f0274 fix(web): route keyboard submit through the primary worktree action (#12526) adopted Merged Pylon PR #697 explicitly lists this source as integrated; current feature/code retained in Pylon tree Pylon-specific adaptations documented in PR body; no known omitted bounded behavior
    21 350 c789cd174ae50f50ecb0a34b96a81e00b0f5c823 fix(web): skip image inline chip when composer is empty (#12528) adopted Merged Pylon PR #697 explicitly lists this source as integrated; current feature/code retained in Pylon tree Pylon-specific adaptations documented in PR body; no known omitted bounded behavior
    22 351 f4d979a6c6139ab10aa1013335bd94a313a5b56e fix(web): only show notice details when text is clipped (#12760) adopted Merged Pylon PR #697 explicitly lists this source as integrated; current feature/code retained in Pylon tree Pylon-specific adaptations documented in PR body; no known omitted bounded behavior
    23 352 9f73ca3677faa975be00f0ac55460279671df726 fix(devices): recover simulator streams after failures (#12639) partially_adopted PR #699 adds web deviceStream generation/decoder recovery and tests; current web deviceStream.ts retains those paths Upstream source also changed mobile DeviceStreamWebView and shared device stream module; current Pylon has neither mobile device viewer nor shared module. Mobile agent-device feature #12531 remains separate missing scope.
    24 353 1ba471a37cd6b0f18820795f4505206f4723a0e3 chore(server): bump device tooling versions (#12809) adopted Merged Pylon PR #699 explicitly lists this source as integrated; current feature/code retained in Pylon tree Pylon-specific adaptations documented in PR body; no known omitted bounded behavior
    25 354 2b178231ebfa597947efb4ec31bf60e0bb9e3128 fix: allow more attachments without raising the image payload budget (#12620) adopted Merged Pylon PR #703 explicitly lists this source as integrated; current feature/code retained in Pylon tree Pylon-specific adaptations documented in PR body; no known omitted bounded behavior
    26 355 051a4057a67ceebc7a36b13678f404b7ee871a46 fix(web): device Reconnect starts one stream instead of two (#12808) adopted Merged Pylon PR #699 explicitly lists this source as integrated; current feature/code retained in Pylon tree Pylon-specific adaptations documented in PR body; no known omitted bounded behavior
    27 356 58f89818e3ada7f680bede396d41ed27eb618203 fix(server): tolerate shutting down an iOS simulator that is already off (#12807) adopted Merged Pylon PR #699 explicitly lists this source as integrated; current feature/code retained in Pylon tree Pylon-specific adaptations documented in PR body; no known omitted bounded behavior
    28 357 411da2a7356dd795b720228e9c834ea9bad0415f feat(web): use the linked pull request row layout on the pull requests page (#12536) adopted Merged Pylon PR #701 explicitly lists this source as integrated; current feature/code retained in Pylon tree Pylon-specific adaptations documented in PR body; no known omitted bounded behavior
    29 358 2efb8178d83f4f7c4ccc3ae1165f2a2ded0b2742 fix(clients): keep backslashes in copied Codex citations (#12243) adopted Merged Pylon PR #703 explicitly lists this source as integrated; current feature/code retained in Pylon tree Pylon-specific adaptations documented in PR body; no known omitted bounded behavior
    30 359 f7efb5354a3e6fb5e6b13a658ba57020e2c554ad feat(web): truncate branch names and paths in the middle (#12805) adopted Merged Pylon PR #705 explicitly lists this source as integrated; current feature/code retained in Pylon tree Pylon-specific adaptations documented in PR body; no known omitted bounded behavior
    31 361 a9ab9049bbbab89fe23dcfb26c3169ef70a0597e feat(web): show the pull request refresh spinning in the detail header (#12833) adopted Merged Pylon PR #705 explicitly lists this source as integrated; current feature/code retained in Pylon tree Pylon-specific adaptations documented in PR body; no known omitted bounded behavior
    32 362 a4bc7deb992cc3d48dd4a40ee1f84254f190f318 fix(web): dismiss composer suggestions with Escape (#12836) adopted Merged Pylon PR #705 explicitly lists this source as integrated; current feature/code retained in Pylon tree Pylon-specific adaptations documented in PR body; no known omitted bounded behavior
    33 363 a6cb1dd2054c96c5be41980e63594ea51554a552 fix(mobile): keep the source worktree when starting a thread on a branch (#12623) adopted Merged Pylon PR #705 explicitly lists this source as integrated; current feature/code retained in Pylon tree Pylon-specific adaptations documented in PR body; no known omitted bounded behavior
    34 364 6cc7f7006e24283072cc3e0b3ed8ced80c6d71a5 fix(web): keep composer controls visible while they fit (#12837) adopted Merged Pylon PR #705 explicitly lists this source as integrated; current feature/code retained in Pylon tree Pylon-specific adaptations documented in PR body; no known omitted bounded behavior
    35 365 5c5fa5ffb6ab45cadb6f0d873af0242f4f6d2c1c feat(devices): show installed and running tool versions per host (#12816) adopted Merged Pylon PR #705 explicitly lists this source as integrated; current feature/code retained in Pylon tree Pylon-specific adaptations documented in PR body; no known omitted bounded behavior
    36 366 3b836f9942143cdcf1ad7f121e78b59476585781 feat(devices): show automatic update progress and host retry (#12817) adopted Merged Pylon PR #705 explicitly lists this source as integrated; current feature/code retained in Pylon tree Pylon-specific adaptations documented in PR body; no known omitted bounded behavior
    37 367 61b25b88d7922a480790066341867f3f8ae42fcb feat(devices): add read-only update discovery and remote ownership (#12818) adopted Merged Pylon PR #705 explicitly lists this source as integrated; current feature/code retained in Pylon tree Pylon-specific adaptations documented in PR body; no known omitted bounded behavior
    38 88 9130d932f4ddb8abab595b7d12553b46a11c7b22 feat(web): add composer and PR number shortcuts (#11615) adopted keybinding rules expose composer and PR-number commands through server keybindings and BranchToolbar handlers. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    39 90 112a7088da63ea4fa48fee63dc8f29557c545ed7 fix(web): use project monograms for automatic icon fallbacks (#11572) adopted apps/web/src/components/ProjectFavicon.tsx:75-80 routes absent/fallback favicon through ProjectFaviconFallback with project title; :113-114 derives monogram/color via deriveProjectIdentity, with projectIdentity.ts:36 helper and tests. Applies same fallback across project categories; later menu alignment source #99 remains absent. No additional behavior identified after bounded source/current comparison; retain noted Pylon adaptations.
    40 91 8d7c700c1788c4f42932cd3be541b3c630bd664d feat(web): clone repositories in the background instead of holding the palette open (#11762) adopted project clone worker and ws RPC preserve background clone state; server tests cover async completion. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    41 92 549d182aaadbf0e1e195d1a8cdc1805200e6751e feat(mobile): clone repositories in the background and gate the draft on the clone (#11774) adopted Current AddProjectScreen starts tracked clone in background when capability supports it (955-994), NewTaskDraftScreen subscribes useProjectClone, gates canStart via cloneBlocksStart (220-238, 1234-1238), and shows ProjectCloneBanner/cancel controls (1453+); older server path still uses blocking clone. Bounded source behavior retained with Pylon adaptations; no live end-to-end claim.
    42 93 9d4bb550a6588a462852a7802bc37a3fd62d0a76 fix(mobile): scale inline pills with Dynamic Type (#11792) adopted Current iOS T3MarkdownTextShadowNode puts fontSizeMultiplier in chip payload (208-214); T3ContextChipFont reads multiplier (107-109) and shared font drives measurement/image, preserving Dynamic Type scaling. Bounded source behavior retained with Pylon adaptations; no live end-to-end claim.
    43 142 96bddf81258090690bfcf4e6a6414aa0dcf1910a fix(desktop): paste as text no longer doubles the pasted text (#11958) inapplicable PR #589 reviewed source and explicitly retained Pylon Electron native preview implementation; no source port Native preview architecture differs
    44 221 fbc8b960026e408c163ea55db8075bbf1a42d628 fix(web): keep thoughts and failed tool calls in one activity row (#12270) deferred_product_decision Pylon does have shared activeWorkRow/LIVE_ACTIVITY_ROW_ID in MessagesTimeline.logic.ts and tests. Current failed-tool case deliberately suppresses work-live and returns a thinking row; upstream keeps failed tool in one activity row. This is a divergent UI behavior, not missing activity-row infrastructure. Trigger: maintainer chooses one-row failed-tool grouping for Pylon; then adapt source behavior and update explicit current failedRows tests, preserving live transient animation boundaries.
    45 227 592021f008010ee947c326df0452d093ead8aeb1 fix(web): collapse thoughts within tool groups (#12302) deferred PR #668 explicitly says not included; upstream activity-group timeline absent from Pylon Needs independent product/implementation review
    46 232 b17cc2ab5d5029f898121798ca19db3288cba616 fix(server): bound provider event log records before serialization (#12305) partially_adopted PR #653 explicitly marks partial: bounded provider event log records before serialization Raw ACP frame suppression excluded by Pylon product/diagnostic policy EXC-1
    47 242 3fd5d6439d8fd49d173503ecda96500463a39bd2 fix(web): keep numbered jumps from stealing browser tabs (#12315) partially_adopted Pylon PR #671 covers folder links/search/diff symlinks; current keybindings.ts and KeybindingsSettings.logic.ts lack source browser/desktop numbered-tab gates. Pylon PR #671 addresses folder links/search/diff symlinks, but current keybindings.ts/KeybindingsSettings.logic.ts lack source isWeb/isDesktop context gates. Numbered browser tab conflict remains to verify; SHA link alone was not adoption proof. Browser numbered-tab navigation conflict remains; source SHA link is partial, not full adoption.
    48 299 3bb06ad910389fcfc886bd5156f41dc73f307f80 feat(server): export log records over OTLP (#12493) adopted observability config exports log records over OTLP alongside traces/metrics; desktop env bridge forwards configured endpoint/protocol. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    49 301 d99bc5a4d707df2506e60cbb411b8d30022bbf89 feat(web): sort pull requests by what is blocked on me (#12508) adopted pullRequestList.logic.ts:1054/1068 defines blocked-on-author/reviewer rankers; :1075/1099 selects ranker by list mode before secondary ordering. No material exclusion found.
    50 302 8c3b5bef17a637bf53f297189350359790ef7afb fix(mobile): prefer pull-to-refresh on list screens (#12515) partially_adopted Pylon PR #695 adopted RefreshControl in ArchivedThreadsScreen, FileTreeBrowser and GitOverviewSheet plus alwaysBounceVertical/list handling; current SettingsEnvironmentsRouteScreen remains plain ScrollView without RefreshControl and CloudEnvironmentRows retains explicit refresh button. Source spans nine paths. Assess remaining Settings environments/cloud rows pull-to-refresh UX before final source disposition; do not claim full nine-path adoption.
    51 312 82059df1523d070b00ab6f45159115f626a4977e feat(desktop): export main process telemetry over OTLP (#12520) adopted apps/desktop/src/app/DesktopObservability.ts:346 return Option.isNone(raw); apps/desktop/src/app/DesktopObservability.ts:654 return Layer.succeed(Tracer.Tracer, tracer); Bounded source behavior confirmed by current condition witness; no live end-to-end claim.
    52 314 a8693eb4ed3a66d72e6b814117e7beeaf0fb5f8b chore(desktop): leave main process metrics export off until a metric exists (#12540) adopted apps/desktop/src/app/DesktopObservability.ts:674 return Layer.mergeAll(loggerLayer, tracerLayer); Bounded source behavior confirmed by current condition witness; no live end-to-end claim.
    53 321 b44c1ce5d25ee0d5a5be82e380618a886c19ea96 fix(mobile): keep the Android composer placeholder on one line (#12605) adopted Current Android T3ComposerEditorView recomputes hint in onMeasure and uses TextUtils.ellipsize(...TruncateAt.END) (602-629); ComposerPlaceholderTest checks truncation and recovery after width expands (38-57). Bounded source behavior retained with Pylon adaptations; no live end-to-end claim.
    54 322 8dd02470b1e7603b8d36a21ae27c510480351f18 fix(web): restore providers settings heading (#12552) adopted ProviderSettingsPanel.tsx:202 renders searchableSetting("providers") SettingsSection as the page heading. No material exclusion found.
    55 325 dcf8942304cfef382af55c0068cb2f04c86757fc fix(web): keep desktop annotation screenshots under CSP (#12636) adopted previewAnnotation.ts:16 capturePreviewAnnotationScreenshot decodes PNG data URL via dataUrlToFile without fetch; PreviewView.tsx:608 calls it and falls back to comment-only annotation on decode failure. No material exclusion found; Pylon's desktop CSP path retained.
    56 326 e36725682bd2935f1bcfdf81660cb569b5f3df29 fix(web): keep typed text when a question option is clicked (#12577) adopted ChatView.tsx:9132 calls carryDisplacedCustomAnswerIntoPrompt before option selection and :9134 restores the displaced text into composer draft. No material exclusion found.
    57 327 63ff33756c47f127391962458d8388a647e8ed44 fix(server): empty Claude homePath shares continuation with ~/.claude (#12624) adopted apps/server/src/provider/Drivers/ClaudeHome.ts:25 if (homePath.length > 0) {; apps/server/src/provider/Drivers/ClaudeHome.ts:30 if (inherited.length > 0) { Bounded source behavior confirmed by current condition witness; no live end-to-end claim.
    58 328 52d08a14b9e475371658fabbb12c056c3d3dad67 fix(desktop): include SnapShot app text for Flatpak and GTK4 (#12635) adopted apps/desktop/src/snapShot/SnapShotAccessibility.ts:107 return await App.byPid(processId, { timeout: 0 }); apps/desktop/src/snapShot/SnapShotAccessibility.ts:114 const apps = await App.list().catch(() => []); Bounded source behavior confirmed by current condition witness; no live end-to-end claim.
    59 329 d6f291303ddc0c9a14f570266a4d9eff6d431593 fix(server): surface ACP stderr when cursor-agent exits at session start (#12625) adopted apps/server/src/orchestration/Layers/ProviderCommandReactor.ts:513 return failReason.error.detail;; apps/server/src/orchestration/Layers/ProviderCommandReactor.ts:515 if (isProviderAdapterProcessError(failReason?.error)) { Bounded source behavior confirmed by current condition witness; no live end-to-end claim.
    60 330 599c9776eb887d4fff42da7d2daf8aa07ee9a9e2 fix(web): align pull request state glyph to top of row (#11268) adopted PullRequestRow.tsx:115 passes mt-0.75 self-start to PullRequestRowGlyph on title line; PullRequestDetailPanel.tsx:1710 uses pl-4 detail alignment. Upstream inline glyph span became Pylon PullRequestRowGlyph component; behavior retained.
    61 331 7445aa733ada33e45289e5aa5055f79142556513 fix(web): align menu item icons in pull request detail panel (#11263) adopted PullRequestDetailPanel.tsx:1607/1616 and adjacent menu items apply mt-1 self-start to branch/worktree/action icons so wrapped labels align from top. No material exclusion found.
    62 335 fa1e1715538f6f8ac076761f7821f68479f616ab refactor(observability): hold OTLP export settings per signal (#12657) adopted server config/CLI observability settings kept per signal, not one global export toggle; bin/config tests cover. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    63 1 c542b781c6c4c766e66dcb764b2142d95600e890 fix(desktop): keep the native preview User-Agent so Turnstile passes (#7110) adopted Pylon BrowserSession.ts:179 obtains native Electron partition session and immediately registers permission handlers without getUserAgent/replace/setUserAgent; BrowserSession.test.ts:114-135 asserts effective native User-Agent remains unchanged. This is the exact negative behavior of source #7110, including Turnstile compatibility. No remaining bounded behavior; no live Turnstile login test claimed.
    64 2 3486451525ecaf3a8379aa6d08c885c7cc5335e3 fix(chat): keep user input outside collapsed work (#11363) adopted apps/mobile/src/lib/threadActivity.ts:279 return entry.activities.some((activity) => activity.workEntry.questionAnswer !== undefined);; apps/mobile/src/lib/threadActivity.ts:1607 if (isStandalone // firstActivityEntry?.turnId !== entry.turnId) { Bounded source behavior confirmed by current condition witness; no live end-to-end claim.
    65 3 cfeaca41ae27bdf2c203158d378c87c7308fea2a fix(web): preserve preview focus on window return (#11444) adopted apps/web/src/components/ChatView.logic.ts:1457 returns false for focused IFRAME/WEBVIEW as added by source; ChatView.tsx:5954 calls helper on window focus before focusing composer. Test covers both tags. No additional behavior identified after bounded source/current comparison; retain noted Pylon adaptations.
    66 4 03e135577cbf861c2948981601c070dab038ea11 fix(web): complete thread status icons and keep input threads prominent (#11461) adopted apps/web/src/components/Sidebar.logic.ts:808 only recedes working/delegating/monitoring or quiet ready; input/approval/failed stay prominent. Sidebar.tsx:1230 calls it; Sidebar.tsx renders input/approval/monitoring/failed icons. Source input-required override retained via default false. No additional behavior identified after bounded source/current comparison; retain noted Pylon adaptations.
    67 12 36caf200c2b24c12838570966f5c85786a1fc1f8 feat(web): choose the default diff file state (#11484) adopted contracts settings diff default flows to web DiffPanel and PR code tab; clientPersistenceStorage tests reset/retain preference. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    68 14 6cdbf76fa4b0509913046abe6105037ded9e52bb feat(web): expose each chat message as a heading for screen readers (#11199) adopted apps/web/src/components/chat/MessagesTimeline.tsx:1652 defines MESSAGE_HEADING_LEVEL=3 and passes it at :2064/:3487; ChatMarkdown.tsx:2796 emits nested aria-level for Markdown headings; ProposedPlanCard.tsx:182/:190 passes offset 3. Test covers nested and bare headings. No additional behavior identified after bounded source/current comparison; retain noted Pylon adaptations.
    69 15 2db675aeffd9cb1e8b5ad76ddd018433b45b02e9 fix(usage): respect provider account homes (#11485) adopted UsageService resolves explicit provider account homes; UsageService tests exercise custom homes. Mixed shared+unique accounting remains separate #736. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    70 16 2587c8060c103245b4f970b925977008f2592d1d feat(web): switch saved environments off instead of removing them (#11478) adopted apps/mobile/src/connection/storage.ts:30 / "set-connection-enabled",; apps/mobile/src/connection/storage.ts:49 Effect.map((document) => document.disabledEnvironmentIds), Bounded source behavior confirmed by current condition witness; no live end-to-end claim.
  13. rynfar commented on Sep 24, 2026

    @rynfar
    CollaboratorAuthor

    Frozen upstream source dispositions 71–140 of 481

    Snapshot: 2026-09-24 09:19 UTC; reviewed Pylon base 7ed3f711caa36485001538bbe1cb0017b84aa7fe. Frozen range: bbedad0278bbf753503184c00e0c09a0eab6679c..e67abcf798f8c4d8458755e3b4dde02c2c1f628b; completed cursor remains fa1e1715538f6f8ac076761f7821f68479f616ab. Open PRs are pending, not adopted.

    Review row Upstream index Source Disposition Current behavior / evidence Remaining scope
    71 17 5781e2be2b7d079faaf677cc1b39679e9850d833 fix(mobile): stop crashing on launch when a thread has a PR stack (#11486) adopted packages/shared/src/threadPullRequests.ts:109-125 copies stack layers before reverse and visible links before sort, avoiding Hermes-missing toReversed/toSorted while preserving order. oxlint-plugin-t3code/index.ts registers ban, vite.config.ts:190 enforces it; focused rule test exists. This is compatibility guard, not broader Hermes API ban from later #151. No additional behavior identified after bounded source/current comparison; retain noted Pylon adaptations.
    72 18 af0657e3b36d8fc9d2652e83e6e9032272629631 fix(mobile): stop alerting that shared content vanished after sending it (#11487) adopted Current NewTaskDraftScreen has consumedIncomingShareIdRef (line 407), includes that receipt in hasImportedIncomingShare (498-502), and sets it immediately after consumeShare (830-832); this prevents the post-send draft-clear frame from raising the unavailable-share alert. Bounded source behavior retained with Pylon adaptations; no live end-to-end claim.
    73 19 0e0ddaeedf30698bec131caf040a8e8d7b2e3f37 feat(web): add opt-in thread notifications and sounds (#11481) adopted threadNotifications + ThreadNotificationCoordinator route transient completion/input audio via opt-in settings and asset files. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    74 27 d7c71f91d61e68ae35fcc0032847cb42324a8b51 feat(web): float the pull request comment composer (#11531) adopted apps/web/src/components/pullRequest/PullRequestCodeTab.tsx:970-1005 positions comment composer floating above bottom-16 and actions button bottom-3 with capability/permission guard; PullRequestDetailPanel.tsx:2838 renders PullRequestCommentComposer. Source also adjusts summary/code tab layout; Pylon floating path preserved. No additional behavior identified after bounded source/current comparison; retain noted Pylon adaptations.
    75 28 8b3ddf51c59a54411cd02b321cb07f39c927df09 fix(mobile): stop crashing on launch before the shell snapshot arrives (#11537) adopted packages/shared/src/projectSettings.ts:68-79 accepts nullable legacy project and checks project==null before reading fields. Mobile selected project may be null before shell snapshot; projectSettings.test.ts:31-39 covers null. Existing web callers remain safe. No additional behavior identified after bounded source/current comparison; retain noted Pylon adaptations.
    76 31 0a91b9a116117dd5df619fb7c1248cba9cf6f43c feat(mobile): show startup crashes in Settings → Diagnostics (#11540) adopted Current Stack registers SettingsDiagnostics with diagnostics deep link (202-204); SettingsRouteScreen exposes Diagnostics row (916); route calls Updates.readLogEntriesAsync, parses startup crash records and supports report copy; user install guide documents next-launch access. Bounded source behavior retained with Pylon adaptations; no live end-to-end claim.
    77 34 4a39cade982926f607b4606d0f8d92a807f4b0bf fix(web): offer recovery from missing pages (#11314) adopted apps/web/src/routes/__root.tsx:109 assigns RootRouteNotFoundView; component provides Pylon-branded missing-page copy and Link to / with replace. Source had T3-branded text; Pylon adaptation is APP_DISPLAY_NAME. No additional behavior identified after bounded source/current comparison; retain noted Pylon adaptations.
    78 35 e6286839369a29d829aee3c64dd64ce39c626d2f fix(web): retry startup after the server recovers (#11291) adopted apps/web/src/routes/__root.tsx:108 assigns RootRouteErrorView; :357-386 shows error and Retry button calling router.invalidate(), preserving route retry after server recovery. Separate from not-found handling. No additional behavior identified after bounded source/current comparison; retain noted Pylon adaptations.
    79 37 42b6bcc6f59bd0369377746b0f2ef370c275b624 feat(web): add opt-in in-app thread notifications (#11570) adopted ThreadNotificationCoordinator feeds in-app notice state; component and badge tests cover opt-in rendering. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    80 41 dd6ba84dc96f83000388e14b90f6533d5f63315d fix(server): fall back when new worktrees are unavailable (#6208) adopted GitWorkflowService fallback is wired through ws worktree creation; server tests exercise unavailable new worktree path. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    81 42 6e5e986f15b3cbec3588646ddf216f00b4301785 feat: badge background thread notifications on desktop and web (#11569) adopted desktop notificationBadge IPC and web ThreadNotificationCoordinator badge test implement background unread badge. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    82 68 73b206f4bf99e7e98ae144a9d9edbf7cb2700fc1 feat(web): show each worktree setup step and let users cancel it (#11372) adopted ProjectSetupScriptRunner emits setup steps and cancellation; auth RPC gate and ws entrypoint expose cancel; server tests cover. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    83 76 0dec07d91488e08206ad32f9758a95acd746c424 fix(web): keep large image previews from stalling composer typing (#11324) adopted apps/web/src/components/chat/ChatComposer.tsx:5662/:7353 uses memoized ComposerImageThumbnail; component at apps/web/src/components/chat/ComposerImageThumbnail.tsx:6 uses createComposerImageThumbnail asynchronously, with lib/imageCompression.ts:253 cache and size limits. Prevents full image decode during composer rerenders. No additional behavior identified after bounded source/current comparison; retain noted Pylon adaptations.
    84 77 8ef478eb0a6deeef81c5421dd7bb1c6b8c4d0e7d fix(server): avoid extra round trips for terminal output (#11407) adopted OutputProtocol encodes incremental terminal chunks; ws forwards updates, OutputProtocol test covers read reduction. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    85 78 6f00d3881a197dd33c2cb43c6a11a9e759e56089 fix(web): remember panel width for each thread (#11310) adopted apps/web/src/components/ChatView.tsx:10988 passes per-thread widthStorageKey using activeThreadKey; hooks/useResizableWidth.ts:43-100 reads key and commits localStorage only at drag end. Focused test switches storage keys without remount and reloads. Pylon keeps t3code compatibility key intentionally. No additional behavior identified after bounded source/current comparison; retain noted Pylon adaptations.
    86 80 8b1ea4dd2465f3cf3cfa02d6878beaa1ec22e71a fix(desktop): restore Node discovery for WSL providers (#11741) covered PR #613 explicitly says upstream standalone-runtime probe is inapplicable; Pylon staged/mounted Node-based WSL runtimes already resolve and forward version-managed Node PATH; regression tests cover PATH and stdin bootstrap auth No unused self-contained runtime probe added; dependent CLI archive migration remains separate product decision
    87 82 955b787e6b9fb8666e84abfa6868671859d72f7e fix(server): parse CLI versions with a "v" prefix (#11738) adopted apps/server/src/provider/providerSnapshot.ts:122 const match = output.match(/\bv?(\d+.\d+.\d+)\b/); Bounded source behavior confirmed by current condition witness; no live end-to-end claim.
    88 83 05e3bcbc65d43adc70c900f176bec6c095b3b833 fix(desktop): keep preview releases out of the nightly update changelog (#11753) adopted apps/desktop/src/updates/releaseNotes.ts:147 ).filter((entry) => resolveDefaultDesktopUpdateChannel(entry.version) === channel);; apps/desktop/src/updates/releaseNotes.ts:139 channel: DesktopUpdateChannel, Bounded source behavior confirmed by current condition witness; no live end-to-end claim.
    89 84 ec5ede5e6a1f2f9d564a5834462f47d1b7e5f0ec fix(web): open video attachment thumbnails in the viewer (#11734) adopted apps/web/src/components/chat/MessagesTimeline.tsx:4389 builds attachment video preview and calls ctx.onImageExpand; MediaVideoPlayer.tsx:225 renders Play button for onOpen mode and suppresses inline controls/autoplay. ExpandedImagePreview.ts:127 builds preview, and test covers mapping. No additional behavior identified after bounded source/current comparison; retain noted Pylon adaptations.
    90 85 494cfac2494095c3f9b24cc16fb73721f84894a4 Allow setting T3CODE_OTLP_HEADERS (#11218) adopted DesktopConfig parses T3CODE_OTLP_HEADERS; DesktopBackendConfiguration forwards env to backend, DesktopObservability test covers. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    91 86 47ace94962a714a561d7cfbdbaa4c721ef6b0598 fix(web): use consistent PR section toggles (#11763) adopted apps/web/src/components/pullRequest/PullRequestSummaryTab.tsx:233/339/396 uses Collapsible open state and CollapsibleTrigger for description/review/sections; trigger controls chevron and pinned heading behavior; focused test exercises summary toggles. Current code preserves source toggle consistency. No additional behavior identified after bounded source/current comparison; retain noted Pylon adaptations.
    92 87 33118d9ab263904e4180b3bf2cbf0a36fe0695e2 Add T3CODE_OTLP_PROTOCOL to allow protobuf protocol (#11224) adopted DesktopConfig parses T3CODE_OTLP_PROTOCOL and launcher exports it; launcher test asserts http/protobuf default. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    93 94 bcc20249cc0a888430f2006d61c11de176d531cd chore(deps): bump the Clerk stack to current releases (#11764) adopted pnpm-workspace.yaml:23-35 pins Clerk backend 3.17.2, clerk-js 6.31.1, electron 0.0.42, expo 4.6.6, react 6.15.2, shared 4.31.1; :172 points to patches/@clerk__expo@4.6.6.patch, lockfile resolves same versions. Mobile CloudAuthProvider imports @clerk/expo; later 4.6.8 bump #140 is separate. No additional behavior identified after bounded source/current comparison; retain noted Pylon adaptations.
    94 98 7931227977ca3e6f3354a63467caa634ab79796f fix(server): stop refreshing providers on every config subscription (#11811) adopted ws provider refresh subscription path changed; server regression tests repeated config subscription. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    95 101 014016a62344ab03dbccdb73c3c1861bc4f7e349 fix(web): make copy PR link discoverable in keybindings (#11826) adopted apps/web/src/components/settings/KeybindingsSettings.logic.ts:279 labels thread.copyReference Pull Request: Copy Link or Thread ID, and :166 builds searchable rows; test queries pu/pull request/copy link/thread id. packages/shared/src/keybindings.ts:59 binds mod+shift+c; PR route and ChatView consume command. No additional behavior identified after bounded source/current comparison; retain noted Pylon adaptations.
    96 105 5ea6439816470288d3f2b6b43635fea41fbbb101 feat(web): inline worktree setup rows and async setup scripts (#11832) adopted ProjectSetupScriptRunner async output and setup rows consumed by ChatView, with web/server regressions. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    97 114 5623089aea68ca62811f51321686c259fa4c810f fix(server): disable color probes in worktree setup (#11843) adopted ProjectSetupScriptRunner suppresses color probes for setup command; runner/terminal tests cover. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    98 115 0310cbf9f46ca94e9df0231a3440bca08ac44709 fix: keep worktree setup visible after leaving and reopening the thread (#11836) adopted ws setup snapshot retained across thread revisit and ChatView restores it; server and ChatView logic tests cover. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    99 116 b20d29dc438bcabb2c25e85976dc108169bb4c6d fix(desktop): prevent startup from running twice (#11857) adopted apps/desktop/vite.config.ts:47 outExtensions: () => ({ js: ".cjs" }),; apps/desktop/vite.config.ts:44 outDir: "dist-electron", Vite pack splits main.ts into first pack with onSuccess and worker entries into later pack with clean:false, preventing duplicate Electron launch. Bounded source behavior confirmed by current condition witness; no live end-to-end claim.
    100 118 2c19283afed1e3b69a9af33360980527aeb37494 feat(server): persist the worktree setup send and progress on the thread (#11852) adopted apps/mobile/src/features/threads/ThreadRouteScreen.tsx:1122 return awaitingBootstrapTurn ? { kind: "preparing", preparingWorktree: true } : null;; apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.ts:1748 Effect.map((rows) => rows.map(mapThreadActivityRow)), Bounded source behavior confirmed by current condition witness; no live end-to-end claim.
    101 120 5b377e2a047569ff928ccc6b07a900f698332496 fix(server): bound Git process bursts to keep connections responsive (#11405) adopted GitVcsDriverCore gitProcesses Semaphore.makeUnsafe(8), runGit withPermits(1) at line 973; test covers bounded subprocess bursts. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    102 128 ae53072af0560c0606202b87b5fdb7e52d48ac5c fix(web): keep the composer ready during background worktree setup (#11883) adopted ChatView.tsx:8362 starts the turn command while :8383 marks promoted draft and opens a fresh composer; :8445 calls restoreFailedBackgroundDraftThread on failure, backed by composerDraftStore.ts:4536. Source startPromise syntax and empty-composer condition are adapted for Pylon queued-input/mixed attachments; background opening and failure recovery remain.
    103 131 2a264adc6f6c65f98d4273acaa1af567eca83f2a fix(server): explain how to configure a missing Codex executable (#11345) adopted apps/server/src/provider/Layers/CodexProvider.ts:766 (codexSettings.binaryPath === "codex"; apps/server/src/provider/Layers/CodexProvider.ts:765 : Could not start Codex CLI (${codexSettings.binaryPath}). Check Settings → Providers → Co Bounded source behavior confirmed by current condition witness; no live end-to-end claim.
    104 138 3efdcc5296f1754e0f3bf7fee5fc2ada510e0438 Preserve diff tree order and collapsed folders (#11931) adopted DiffFileTree.tsx:59 computes diffFileTreePositions, :60 holds stable ordering state, :98 supplies sort, and :119-126 reapplies collapsed directories after tree rebuild. No material source exclusion found; ordering and collapse are both retained.
    105 139 a5da32750125c3bedb959bf331e5e49e95b95e5d fix(client-runtime): preserve cached turns and older-page loading (#8309) adopted client-runtime threads cache merge/load logic has pagination and sync regressions for older pages. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    106 145 2c16c1d264173d86fc354e9a4c0c78cd42e514b7 fix(mobile): block incompatible server connections (#11974) adopted apps/mobile/src/features/connection/EnvironmentConnectionNotice.tsx:20 return "Client not supported";; apps/mobile/src/features/connection/EnvironmentConnectionNotice.tsx:36 return phase === "reconnecting" ? The app will keep retrying automatically. ${error} : error; Bounded source behavior confirmed by current condition witness; no live end-to-end claim.
    107 146 f0a0ead946ca3f3f310460a91b7dabb0e3fe4834 fix(web): keep PR controls readable in narrow panels (#11962) adopted PullRequestCodeTab.tsx:1093 keeps PullRequestMetaLine shrink-0; PullRequestDetailPanel uses bounded flex/min-width header controls. Source responsive class behavior retained; no backend behavior involved.
    108 148 f4600d77dd7c2fa9f10e8f4500882e427fcc7e26 fix: reduce GitHub quota use with sharing enabled (#11888) partially_adopted Merged Pylon PR #626 explicitly names this source as integrated; PR code present on origin/pylon PR #626 excludes upstream router hedging/routed-account tests because Pylon has no account router; local credential pinning and quota primitives adopted.
    109 152 b12c92f695a6b12116fb2cda40d610bdbe2a9566 fix(server): reuse Git index metadata during checkpoint capture (#10792) adopted GitVcsDriver captureCheckpoint reuses Git index metadata path; tests exercise metadata path and fallback. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    110 154 935c55b3778fdeae0e25b250ce2a9fa7e79c0327 fix(clients): disable incompatible environments during discovery (#11990) adopted apps/mobile/src/features/cloud/cloudEnvironmentPresentation.ts:24 if (compatibilityError !== null) {; apps/mobile/src/features/connection/ConnectionEnvironmentRow.tsx:28 if (!environment.isEnabled && environment.connectionState !== "unsupported") { Bounded source behavior confirmed by current condition witness; no live end-to-end claim.
    111 155 8c18b5bb21a5349fbadba8c77456ea34c41b7339 fix(antigravity): stop health checks from filling the disk with _MEI folders (#12008) partially_adopted Merged Pylon PR #586 explicitly names this source as integrated; PR code present on origin/pylon PR #586 excludes blanket startup sweep because another driver may own profile files; scoped temp cleanup adopted.
    112 157 eed974c122e192de45b54b7dac7ca1a51448c08f fix(server): keep Claude rewind when fork history length changes (#11954) adopted apps/server/src/provider/Layers/ClaudeAdapter.ts:167 if (message.type !== "user" // message.parent_tool_use_id !== null) return false;; apps/server/src/provider/Layers/ClaudeAdapter.ts:169 if (typeof body !== "object" // body === null // !("content" in body)) return false; ClaudeAdapter retains remapClaudeForkTurnBoundaries and calls it during fork rewind, aligning retained conversation message bodies/UUIDs despite metadata length changes. Bounded source behavior confirmed by current condition witness; no live end-to-end claim.
    113 164 0f5a1513e09fb41e0d0f86157aff64cc3657975d fix(web): stop the worktree setup card from flashing and shifting (#12015) adopted ChatView setup-card state persists through inline async setup and avoids pending/ready flicker; ChatView logic test covers. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    114 165 c1b2ed6504bbd57440d03c6a5af2736f33be7c65 fix(clients): show unsupported environments as neutral rows with their machine icon (#12026) adopted packages/contracts/src/server.ts:882 return config?.settings?.environmentIcon ?? config?.environment.platform.machine ?? "server";; apps/mobile/src/features/connection/CloudEnvironmentRows.tsx:105 const discoveredDescriptors = new Map( Bounded source behavior confirmed by current condition witness; no live end-to-end claim.
    115 166 6ee03240bccd9287a8c2246e9547697aa5857998 fix(clients): hold the discovered machine icon across relay refreshes (#12030) adopted apps/mobile/src/features/connection/CloudEnvironmentRows.tsx:243 if (props.descriptor !== undefined && props.descriptor !== lastDescriptor) {; apps/web/src/components/settings/ConnectionsSettings.tsx:1492 if (discoveredDescriptor !== undefined && discoveredDescriptor !== lastDescriptor) { Bounded source behavior confirmed by current condition witness; no live end-to-end claim.
    116 170 f45c6b4a755905485431872f4a4188de3ed05974 fix(web): submit PR comments with Cmd/Ctrl+Enter (#11994) adopted PullRequestCommentComposer.tsx:122 rejects composing/IME keydown, :125 requires Meta/Ctrl+Enter, and :127 blocks repeat before submit("comment"). No material exclusion found.
    117 171 e8ca3a82806dff84438d5aba66b693468f7ca426 refactor(web): centralize pull request icon state presentation (#11144) adopted pullRequestIcons.tsx exports PullRequestGlyph and PULL_REQUEST_STATE_PRESENTATION; ThreadStatusIndicators.tsx:171/184 reads presentation by state; CommandPalette, LegacySidebar, RightPanelTabs consume glyphs. Pylon composes row glyph/conflict badge in PullRequestRowGlyph rather than every upstream inline icon; shared state mapping retained.
    118 178 32e8b2584556c0c55ce0d1d8f72b506cb771d60d fix(web): show private repository media in pull request tabs (#11706) adopted AssetAccess authorization and GitHubMediaFetch proxy private media; PR tab consumes protected assets; tests cover access. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    119 179 aae361c4ef6478e4dcf970d574f3fd38d908e6b9 fix(review): show complete counts and load large diffs progressively (#10822) adopted apps/mobile/src/features/review/nativeReviewDiffAdapter.ts:272 if (file.notice) return [createNoticeRow(file.id, "loading", file.notice)];; apps/mobile/src/features/review/nativeReviewDiffAdapter.ts:417 if (cached) return cached; Bounded source behavior confirmed by current condition witness; no live end-to-end claim.
    120 180 52ad70ec43b5dcfcdc72ac79c0964da8e4d163db fix(web): prioritize linked pull requests over automatic diffs (#12142) adopted ChatView.tsx:5001 derives eligibleLink, :5004 defers while PR capability unknown, and :5009 opens linked PR before diff; ChatView.logic.ts computes threshold from file count and changed lines. Source settings copy adapted to Pylon wording; linked-first dispatch condition retained.
    121 186 394af73e02238e551db14f44d57f1469dd2942aa fix(web): default diff panel to working tree (#12139) adopted ChatView.tsx:2095 explicitDiffOpenRef distinguishes explicit user opens, :2102 selects unstaged scope for automatic diff opens; DiffPanel/store honor that selection. Source settings copy adapted; automatic default is working tree.
    122 192 c1738f131d6f0d5c6dfabb3aad46755a25319663 fix(server): keep large sparse checkouts on the fast checkpoint path (#12154) adopted GitVcsDriver captureCheckpoint sparse path and VcsProcess fast execution covered by sparse checkout regression. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    123 193 c12ba7581ac00ba2a623ad23283da5d03d34c2d8 feat(web): make pull request comments easier to scan (#12150) adopted GitHubPullRequestProvider maps review-comment metadata and PullRequestDetailPanel renders grouped comments; provider/web tests cover. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    124 195 d612d12b8bb278af97b0029f8d48b2403a5f9ee6 fix(web): reuse cached GitHub PR details across entry points (#12168) partially_adopted Independent current proof: PullRequestDetailPanel.tsx:510 resolves reference host from project repository identity; :620-632 reads/writes cached detail; useOpenPanelPullRequestUrl.ts:40/60/69 uses same resolved reference and cache. Forgejo host/port behavior excluded because Pylon has no Forgejo provider. Upstream Forgejo host-with-port conditional is excluded because Pylon has no Forgejo provider; GitHub/GitLab/Bitbucket cache behavior is retained. Keep partial designation only if tracking Forgejo parity.
    125 197 962bf62921c0ecbc9320f9b071e16b1d41484aad fix(web): show author avatars in pull request previews (#12125) adopted GitHubPullRequestProvider supplies author avatarUrl consumed by PR preview row; provider tests cover avatar mapping. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    126 198 3bee4c286e586c2eb7f8d196a65b4b5ea6a95241 fix(server): settle cancelled worktree setup before rollback (#12176) adopted ws canceled setup settlement runs before rollback; server test exercises cleanup order. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    127 199 4abb07eac3d47543b5804e8039633ac8ad7f67d2 feat(mobile): port worktree setup progress and agent handoff (#12177) adopted apps/mobile/src/features/threads/ThreadDetailScreen.tsx:505 if (props.worktreeSetup) return null;; apps/mobile/src/features/threads/ThreadRouteScreen.tsx:581 if (!selectedThread) return; Bounded source behavior confirmed by current condition witness; no live end-to-end claim.
    128 200 8130a9f13a1ef506f4393423ded21d71f3c9b5e4 fix(server): flush checkpoint objects and refs before publishing them (#10944) adopted GitVcsDriver durableWrite uses git core.fsync and applies before write-tree, commit-tree, update-ref at lines 930/996/1014/1031. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    129 202 d42a3bd2ae3e698141b26f6426aa28d8886e1754 fix(server): keep ready checkpoints when a later placeholder arrives (#8432) adopted ProjectionPipeline checkpoint readiness guard retains ready state against later placeholder; test covers out-of-order arrival. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    130 203 901db896691da5ab7b7428ef8a5da52883f831dd fix(server): keep VCS waits from blocking turn completion (#11970) adopted ProviderRuntimeIngestion completion path does not await VCS long-tail; decider/ingestion tests cover turn completion. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    131 205 df466c79810046d20c0f3ccc4e51709c5703814e fix(web): fall back when pull request avatars fail (#11728) adopted pullRequestPresentation.tsx:430 tracks failedAvatarUrl and :431 substitutes fallback when the current image URL fails. No material exclusion found.
    132 208 f17165a76b1a782831eb6a05a4383b27283df15d fix(web): preserve thread reading positions (#12144) partially_adopted Independent current proof: ChatView.tsx:5911 restores atEnd per route; MessagesTimeline.tsx:507 reads remembered position, :511/514 and :941 preserve turn/work-group disclosures through timelineScrollAnchoring.ts store. Upstream spawn-entry/reasoning-message disclosure keys absent; Pylon Agents CTA/turn-workGroups fold model differs. Upstream spawn-entry/reasoning-message disclosure keys are absent because Pylon uses Agents CTA and different fold model; core reading position retained. Consider partial if source-level parity required.
    133 210 886c83450797c46ee84ae28fc16c2208cafa965e fix(web): folder links from chat open the file tree instead of a broken preview (#10909) adopted FileBrowserPanel.tsx:301 resolves selected entry kind, :305 selects directory path with slash and expands directory handle; chat file-link routing opens browser/tree rather than file preview for folders. No material exclusion found for folder targets.
    134 226 4749035bda13b4b6260499caedbc0d69a2f60e6f fix(web): keep composer banners compact and readable (#12166) adopted ComposerBanner.tsx:255 has narrow wrap-actions grid; ComposerBannerStack.tsx:283/285 applies compact truncation and narrow sr-only treatment; notice detail remains in popover. Pylon notice popover is further gated by clipping (source351); no source behavior dropped.
    135 233 b4620d595554654c259ec7c0afb3d3d5532959a8 fix(server): reject file rewind in shared workspaces (#12306) adopted CheckpointReactor rejects file rewind for shared workspace; ChatView shows unsupported state, with reactor test. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    136 234 67993623afb14c017bb0b959478dc892f9c427da fix(server): capture checkpoints when baseline lookup fails (#12307) adopted CheckpointReactor handles baseline lookup failures and still captures; focused reactor regression. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    137 235 d17f46d7631b178b6834596264f0f44f210d584b fix(server): refresh file search outside checkpoint processing (#12308) adopted CheckpointReactor refreshes file search independently of checkpoint progress; focused reactor regression. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    138 236 fcfd9f911a27ee3b813d64582c53d82dfa2e892b fix(web): keep chat from jumping when the scroll-to-end pill mounts (#12317) adopted ChatView.tsx:1884 stores composer overlay height; :6082 publishScrollToEndClearance updates timeline clearance before scroll-to-end pill layout, preventing anchor jump. No material exclusion found.
    139 237 1455cb5c35e50211145073be6ca155d56684f0f4 fix(server): checkpoint workspaces with empty nested repositories (#12181) adopted GitVcsDriver checkpoint capture detects empty nested Git repo; focused GitVcsDriver regression. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    140 239 3fd21df62da3191f1abf12a0cd74df6de9ed30a2 fix(server): pass Codex image attachments by path to avoid oversized requests (#11050) adopted CodexAdapter.ts:2686–2703 resolves attachment path and returns {type:"localImage",path}; current implementation avoids base64 request inflation. Pylon PR #653 is linked in ledger. Merged Pylon PR #653. Pylon adaptations documented in PR body
  14. rynfar commented on Sep 24, 2026

    @rynfar
    CollaboratorAuthor

    Frozen upstream source dispositions 141–210 of 481

    Snapshot: 2026-09-24 09:19 UTC; reviewed Pylon base 7ed3f711caa36485001538bbe1cb0017b84aa7fe. Frozen range: bbedad0278bbf753503184c00e0c09a0eab6679c..e67abcf798f8c4d8458755e3b4dde02c2c1f628b; completed cursor remains fa1e1715538f6f8ac076761f7821f68479f616ab. Open PRs are pending, not adopted.

    Review row Upstream index Source Disposition Current behavior / evidence Remaining scope
    141 269 9ea9c3d5d2c444133e3ddff40eecf38737951589 fix(web): keep a file-to-symlink type change from crashing the diff view (#11075) adopted diffFileTree.logic.ts:34 merges duplicate path statuses to modified for delete+add type changes; diffRendering.ts:219 includes prior path/current path/type in block identity; tests cover regular-file→symlink. No material exclusion found.
    142 279 c557bb10aa7cbb78a50df230d1e8e24af79cb662 fix(web): sidebar search matches message content (#11761) adopted Sidebar.logic.ts content match keys and search path include message snippets; CommandPaletteResults.tsx:80 renders ThreadSearchMatchExcerpt for a matching thread. No material exclusion found.
    143 283 869347bc26051bba7c3c0274a7dfcae7770d3e3a fix(server): retry transient git failures during checkpoint capture (#11665) adopted GitVcsDriver checkpoint calls VcsProcess retry on transient Git failure; driver/process tests cover retries. Current helper/caller/condition and focused regression spot-checked; no live end-to-end proof
    144 209 6d1d549441be84f19696ab59ed7e2fbf305280d4 fix(diff): collapse files by default (#12190) adopted Merged PR #616 explicitly lists source in six-commit progressive diff series; current diff collapse/default work retained Pylon adaptation and native verification limits in PR #616
    145 20 c29976458a7dbbb61c83b3d06ea894869b718607 fix(server): open Cursor links in classic IDE mode (#11498) adopted Merged Pylon PR #686 explicitly lists upstream PR #11498 and behavior as integrated Current Pylon tree retains merged behavior; Pylon-specific hardening documented in PR
    146 303 de6a230db0bb71d3fa91d8de0ae7067b68253f82 fix(acp): accept SDK elicitation requests (#11294) adopted Merged Pylon PR #687 explicitly lists upstream PR #11294 and behavior as integrated Current Pylon tree retains merged behavior; Pylon-specific hardening documented in PR
    147 308 cb3d95c17487f3d834a5537f7c3aa0106bc9b5ec fix(server): release oversized pull request diff cache entries (#12523) adopted Merged Pylon PR #687 explicitly lists upstream PR #12523 and behavior as integrated Current Pylon tree retains merged behavior; Pylon-specific hardening documented in PR
    148 310 5378f87f99175bded2b9241876319567875aca03 fix(preview): recover host registration after request timeouts (#12535) adopted Merged Pylon PR #687 explicitly lists upstream PR #12535 and behavior as integrated Current Pylon tree retains merged behavior; Pylon-specific hardening documented in PR
    149 313 efb96939fbb135b9f4de3bff19447200b178b23a fix(codex): surface app permission requests as approvable (#7861) adopted Merged Pylon PR #687 explicitly lists upstream PR #7861 and behavior as integrated Current Pylon tree retains merged behavior; Pylon-specific hardening documented in PR
    150 318 408ff8ae9bd7eb2e7e90cbfd8b3fcfe63641bf23 fix: detect installed editors outside PATH (#12439) adopted Merged Pylon PR #686 explicitly lists upstream PR #12439 and behavior as integrated Current Pylon tree retains merged behavior; Pylon-specific hardening documented in PR
    151 319 dfbb11bdd7c3f1a5575cb55d3e3abb12be025727 fix(web): show plain text in collapsed thought previews (#12377) deferred Merged Pylon PR #686 explicitly lists upstream PR #12377 and behavior as deferred Depends on separate provider thinking traces review; PR #686 explicitly deferred despite #688 cycle summary listing #12377
    152 320 9accc567670da5096e9a694c1adb0d35adb51d9d fix(web): wrap long titles in confirmation dialogs (#12571) adopted Merged Pylon PR #686 explicitly lists upstream PR #12571 and behavior as integrated Current Pylon tree retains merged behavior; Pylon-specific hardening documented in PR
    153 332 4a560b4e4ebb37efb7f57805ba79e37f5500bdca fix(web): honor whitespace settings in pull request diffs (#12438) adopted Merged Pylon PR #686 explicitly lists upstream PR #12438 and behavior as integrated Current Pylon tree retains merged behavior; Pylon-specific hardening documented in PR
    154 333 0ff87f251dafb32703d5f531e7b248ad0a581ee2 fix(web): keep citation comment when popover is dismissed (#10831) adopted Merged Pylon PR #686 explicitly lists upstream PR #10831 and behavior as integrated Current Pylon tree retains merged behavior; Pylon-specific hardening documented in PR
    155 334 c14f6015bfe479d313355cb234af1a5c16dbb15f fix(web): keep narrow chat headers readable and aligned (#12453) adopted Merged Pylon PR #686 explicitly lists upstream PR #12453 and behavior as integrated Current Pylon tree retains merged behavior; Pylon-specific hardening documented in PR
    156 397 f25a8e4b72c1164f2ab7b1c8481496f168d17f55 feat(models): add opus 5.5 without changing existing aliases (#13094) partially_adopted Source #13094 adds Opus 5.5 profile/model, currentModels.claudeAgent entry and updatedAt. Merged Pylon PR #729 has profile/model but origin/pylon currentModels omits claude-opus-5-5; pending PR #731 adds current model and corrected bundle timestamp. GPT-6 current-model classification is merged in #732. Pylon intentionally retains legacy Claude aliases; pending #731 head 4b2070a sets bundled updatedAt to 2026-09-24T07:48:28Z and rejects older hosted catalogs. Verify integrated #731 + #743 before claiming adopted.
    157 398 17e34773b148fd7351a44ab39e9616b4073a1fa8 Update model manifest with new timestamps and models partially_adopted PR #732 covers GPT-6 current-model list; Pylon intentionally retains legacy Claude aliases. Pending #731 corrects bundled updatedAt to 2026-09-24T07:48:28Z, after reconciliation edit; hosted catalog blob 80318721 has no updatedAt and is rejected by dated-bundle gate. Timestamp adaptation pending #731 final review/CI and #743 integrated refresh test; alias omission intentionally rejected.
    158 423 f193a6863c494fdfa36a1ef3132e42a7d7b42926 fix(server): bypass owned caches on explicit provider refresh (#13109) pending_pr PR #743 independently reviewed; explicit provider refresh bypasses owned caches while background remains cached; CI pending No cursor advancement before merge; combined no-downgrade validation with PR #731 required
    159 481 e67abcf798f8c4d8458755e3b4dde02c2c1f628b feat(observability): honor the OpenTelemetry kill switch (#13355) pending_pr PR #746 independently reviewed; OTLP export kill switch with local diagnostics retained; CI pending No cursor advancement before merge
    160 71 0b54e00f9ba9d86b05b462955e84c9944349d55b Change input type from 'full_diff' to 'incremental' skipped_pylon_product_choice Source changes .macroscope/check-run-agents review-bot model/input/label/conclusion policy only; Pylon has its own Macroscope config, so behavior is not categorically inapplicable but requires Pylon CI policy assessment. Optional review policy, no product runtime impact; keep Pylon bot trust/quality thresholds.
    161 72 e3792a53f7d7f9ebba37abfca99073f3f1ead2a7 Update model and input type in ui-consistency.md skipped_pylon_product_choice Source changes .macroscope/check-run-agents review-bot model/input/label/conclusion policy only; Pylon has its own Macroscope config, so behavior is not categorically inapplicable but requires Pylon CI policy assessment. Optional review policy, no product runtime impact; keep Pylon bot trust/quality thresholds.
    162 97 84192388b3a54ef593d35b64390f99bf6dec6a74 Add new GitHub user f-trycua inapplicable Source changes upstream .github/VOUCHED.td contributor allowlist only Contributor trust list is repository-specific; no Pylon code behavior
    163 108 e9b055588ab22a060c41abcc37669ae4f44ef8e8 Remove labels from effect service conventions skipped_pylon_product_choice Source changes .macroscope/check-run-agents review-bot model/input/label/conclusion policy only; Pylon has its own Macroscope config, so behavior is not categorically inapplicable but requires Pylon CI policy assessment. Optional review policy, no product runtime impact; keep Pylon bot trust/quality thresholds.
    164 109 537dc0fe15242940038c6b964aff861989178c45 Remove labels from ui-consistency.md skipped_pylon_product_choice Source changes .macroscope/check-run-agents review-bot model/input/label/conclusion policy only; Pylon has its own Macroscope config, so behavior is not categorically inapplicable but requires Pylon CI policy assessment. Optional review policy, no product runtime impact; keep Pylon bot trust/quality thresholds.
    165 110 970a8730eec2ae7faa89639365c02b03fe53ac4e Change conclusion status from failure to neutral skipped_pylon_product_choice Source changes .macroscope/check-run-agents review-bot model/input/label/conclusion policy only; Pylon has its own Macroscope config, so behavior is not categorically inapplicable but requires Pylon CI policy assessment. Optional review policy, no product runtime impact; keep Pylon bot trust/quality thresholds.
    166 111 8b9f6d3d5596f2d9990697ebb1e9b8afa4a1dafd Change conclusion from 'failure' to 'neutral' skipped_pylon_product_choice Source changes .macroscope/check-run-agents review-bot model/input/label/conclusion policy only; Pylon has its own Macroscope config, so behavior is not categorically inapplicable but requires Pylon CI policy assessment. Optional review policy, no product runtime impact; keep Pylon bot trust/quality thresholds.
    167 270 ccad9f69aae7465c4ad4ea169d273f61ffac1eb5 Use T3 Device panel for mobile testing (#12414) inapplicable Source changes T3-owned agent testing skills; Pylon maintains its own test-pylon-mobile and device protocol instructions Pylon device tooling and skill should evolve under Pylon ownership, not copied as T3 skill names
    168 323 7810fb263f5a92b9d438d1eabf408d2ac705e944 Add new GitHub user 'yordis' to VOUCHED.td (#12546) inapplicable Source changes upstream .github/VOUCHED.td contributor allowlist only Contributor trust list is repository-specific; no Pylon code behavior
    169 324 f9e8f578fa0fb1ea25e458334a28bbb4fe22302d chore: vouch cestercian (#12638) inapplicable Source changes upstream .github/VOUCHED.td contributor allowlist only Contributor trust list is repository-specific; no Pylon code behavior
    170 480 9383f4ad71285b9f9a6a9b65f2f961ea2cf4308f chore: add scratchyone to vouched list (#13353) inapplicable Source changes upstream .github/VOUCHED.td contributor allowlist only Contributor trust list is repository-specific; no Pylon code behavior
    171 57 06de59b3d67e5be427ce4c7c8d41e91265709aec build(server): make the CLI bundle loadable as a Node single-executable (#11316) deferred_product_decision Upstream self-contained t3 CLI/archive installer/service/release chain; Pylon currently ships npm-based npx t3 server/service and independent pylon product identity Requires coordinated distribution/runtime/remote/WSL migration choice before porting; archive-only fixes depend on that chain
    172 58 eb8f6f42a5cad1a5d0bc51eaa16cff13a9c69f45 ci(release): build, sign, and publish self-contained CLI archives (#11317) deferred_product_decision Upstream self-contained t3 CLI/archive installer/service/release chain; Pylon currently ships npm-based npx t3 server/service and independent pylon product identity Requires coordinated distribution/runtime/remote/WSL migration choice before porting; archive-only fixes depend on that chain
    173 59 8f90b380f676735f1e3026b5173c45c22d265583 feat(server): install preview runtimes from release archives (#11318) deferred_product_decision Upstream self-contained t3 CLI/archive installer/service/release chain; Pylon currently ships npm-based npx t3 server/service and independent pylon product identity Requires coordinated distribution/runtime/remote/WSL migration choice before porting; archive-only fixes depend on that chain
    174 60 13c134c10be163fa5345dd7c39371b6089e352bb feat(ssh): run preview builds on remotes from the release archive (#11319) deferred_product_decision Upstream self-contained t3 CLI/archive installer/service/release chain; Pylon currently ships npm-based npx t3 server/service and independent pylon product identity Requires coordinated distribution/runtime/remote/WSL migration choice before porting; archive-only fixes depend on that chain
    175 61 c7f23c4668ce3ff2e1b2f63fe51759d1bcc159f8 feat(cli): add t3 update for self-contained installs (#11451) deferred_product_decision Upstream self-contained t3 CLI/archive installer/service/release chain; Pylon currently ships npm-based npx t3 server/service and independent pylon product identity Requires coordinated distribution/runtime/remote/WSL migration choice before porting; archive-only fixes depend on that chain
    176 62 af6c138a0de297f94ddef3133e2f47d017b46e94 feat(server): manage runtimes as release archives only, never from npm (#11510) deferred_product_decision Upstream self-contained t3 CLI/archive installer/service/release chain; Pylon currently ships npm-based npx t3 server/service and independent pylon product identity Requires coordinated distribution/runtime/remote/WSL migration choice before porting; archive-only fixes depend on that chain
    177 63 07549200dcdc70dce57285276879004024beeaa7 feat(desktop): run the WSL backend from the Linux CLI archive (#11511) deferred_product_decision Upstream self-contained t3 CLI/archive installer/service/release chain; Pylon currently ships npm-based npx t3 server/service and independent pylon product identity Requires coordinated distribution/runtime/remote/WSL migration choice before porting; archive-only fixes depend on that chain
    178 64 2c54f2ff17b3ae87bdbe4e072e38bd6f3045eb5b ci(release): build CLI archives for five targets, each on its own architecture (#11605) deferred_product_decision Upstream self-contained t3 CLI/archive installer/service/release chain; Pylon currently ships npm-based npx t3 server/service and independent pylon product identity Requires coordinated distribution/runtime/remote/WSL migration choice before porting; archive-only fixes depend on that chain
    179 65 2f7616ef1743de52d24581f7e5724f8f674d9152 ci(release): build the JS bundle once and run every platform and architecture in parallel (#11606) deferred_product_decision Upstream self-contained t3 CLI/archive installer/service/release chain; Pylon currently ships npm-based npx t3 server/service and independent pylon product identity Requires coordinated distribution/runtime/remote/WSL migration choice before porting; archive-only fixes depend on that chain
    180 66 91cd91c0872bd52be3b45bea70a9539d1ce6adaa feat(release): publish npx t3 as a launcher over per-platform executable packages (#11607) deferred_product_decision Upstream self-contained t3 CLI/archive installer/service/release chain; Pylon currently ships npm-based npx t3 server/service and independent pylon product identity Requires coordinated distribution/runtime/remote/WSL migration choice before porting; archive-only fixes depend on that chain
    181 67 b70015b6db8ffafd902174f78cb260cc8082fc6e feat(cli): add t3 uninstall for self-contained installs (#11659) deferred_product_decision Upstream self-contained t3 CLI/archive installer/service/release chain; Pylon currently ships npm-based npx t3 server/service and independent pylon product identity Requires coordinated distribution/runtime/remote/WSL migration choice before porting; archive-only fixes depend on that chain
    182 74 d8655ed2fcf5cac3e1742459476b4a392b949367 feat(cli): add t3 service restart and make t3 update repoint the service eagerly (#11702) deferred_product_decision Upstream self-contained t3 CLI/archive installer/service/release chain; Pylon currently ships npm-based npx t3 server/service and independent pylon product identity Requires coordinated distribution/runtime/remote/WSL migration choice before porting; archive-only fixes depend on that chain
    183 79 9375c779707fb95c06670db6da87441720b2d2e2 fix(release): preserve updates from npm-based services (#11732) deferred_product_decision Upstream self-contained t3 CLI/archive installer/service/release chain; Pylon currently ships npm-based npx t3 server/service and independent pylon product identity Requires coordinated distribution/runtime/remote/WSL migration choice before porting; archive-only fixes depend on that chain
    184 81 ae67c5b8159cb49a68c16f96f7bb64a2e3c6b1c6 fix(release): stop npm from pruning the platform packages' shipped node_modules (#11750) deferred_product_decision Upstream self-contained t3 CLI/archive installer/service/release chain; Pylon currently ships npm-based npx t3 server/service and independent pylon product identity Requires coordinated distribution/runtime/remote/WSL migration choice before porting; archive-only fixes depend on that chain
    185 89 f328db30da063a7bce9a9d038fc583d3ff83673a chore(server): keep the legacy service entry point to the npm package only (#11770) deferred_product_decision Upstream self-contained t3 CLI/archive installer/service/release chain; Pylon currently ships npm-based npx t3 server/service and independent pylon product identity Requires coordinated distribution/runtime/remote/WSL migration choice before porting; archive-only fixes depend on that chain
    186 147 b84f63bb13f13b1d0ee8537c4d244d6f1efdb987 fix(server): block updates under legacy service launchers (#11940) deferred_product_decision Upstream self-contained t3 CLI/archive installer/service/release chain; Pylon currently ships npm-based npx t3 server/service and independent pylon product identity Requires coordinated distribution/runtime/remote/WSL migration choice before porting; archive-only fixes depend on that chain
    187 159 0bf2d6b0109f243add8fb6d727e153e97dd51802 chore(release): prepare v0.0.41 inapplicable Upstream T3 release version/channel bookkeeping; Pylon has independent product branch, version and release policy No Pylon runtime behavior; upstream version prep/revert superseded
    188 160 47ef0177dc18d328e91c64a1641cfe1f37298160 Revert "chore(release): prepare v0.0.41" inapplicable Upstream T3 release version/channel bookkeeping; Pylon has independent product branch, version and release policy No Pylon runtime behavior; upstream version prep/revert superseded
    189 161 3060cc461458e66842dfb656d979c4acca4dfb20 fix(release): restrict stable channels to main inapplicable Upstream T3 release version/channel bookkeeping; Pylon has independent product branch, version and release policy No Pylon runtime behavior; upstream version prep/revert superseded
    190 163 fe896e6a90dd2a91e9499c098bb621568a3f341f chore(release): prepare v0.0.42 inapplicable Upstream T3 release version/channel bookkeeping; Pylon has independent product branch, version and release policy No Pylon runtime behavior; upstream version prep/revert superseded
    191 167 bf55408a5cddbb0f3f7f50d538398e315b5407d0 fix(server): resolve Node for standalone helper scripts (#12033) deferred_product_decision Upstream self-contained t3 CLI/archive installer/service/release chain; Pylon currently ships npm-based npx t3 server/service and independent pylon product identity Requires coordinated distribution/runtime/remote/WSL migration choice before porting; archive-only fixes depend on that chain
    192 169 ccf220be205f0e509021dbc8cbda90daa638e20d docs: make the standalone installer the primary way to get the CLI (#11696) deferred_product_decision Upstream self-contained t3 CLI/archive installer/service/release chain; Pylon currently ships npm-based npx t3 server/service and independent pylon product identity Requires coordinated distribution/runtime/remote/WSL migration choice before porting; archive-only fixes depend on that chain
    193 181 f1b497a5552abf4616a7477b730b78a1274f3db4 feat(cli): show installer and update download progress (#12044) deferred_product_decision Upstream self-contained t3 CLI/archive installer/service/release chain; Pylon currently ships npm-based npx t3 server/service and independent pylon product identity Requires coordinated distribution/runtime/remote/WSL migration choice before porting; archive-only fixes depend on that chain
    194 304 bd0b9edac3cf8fe30f8242dd7943a9240810b2c9 fix(release): read relay configuration without loading deployment providers (#12518) deferred_product_decision Upstream Alchemy relay release command parsing; Pylon has independent relay deployment pipeline and release ownership Review when adapting Pylon relay deploy workflow; no automatic T3 release-script port
    195 306 e74c668d786ffc14f40a9540cd3aede02ba5d62e fix(release): strip Alchemy progress before parsing relay state (#12519) deferred_product_decision Upstream Alchemy relay release command parsing; Pylon has independent relay deployment pipeline and release ownership Review when adapting Pylon relay deploy workflow; no automatic T3 release-script port
    196 315 803f94e787faef498edecba5dbd07493ac8bc817 fix(release): drop placeholder allowBuilds entry that broke desktop builds (#12544) deferred_product_decision Upstream self-contained t3 CLI/archive installer/service/release chain; Pylon currently ships npm-based npx t3 server/service and independent pylon product identity Requires coordinated distribution/runtime/remote/WSL migration choice before porting; archive-only fixes depend on that chain
    197 56 683aa87096899aa191e150429415ecc78966f538 build(desktop): bundle the main process and stage only its native externals (#11410) deferred_product_decision Upstream desktop main bundle/externals changes build-desktop-artifact and vite config; Pylon has its own packaged artifact smoke and bundling policy Review with coordinated desktop distribution migration; current Pylon helper scripts differ and direct cherry-pick would change packaging
    198 119 cc839c42b1adfddd059142bb6d7151719080c4ea feat(web): queue messages sent client-side while the agent is working (#11673) deferred_product_decision Upstream client-side queuedMessageStore and queue/steer follow-up controls differ from Pylon persisted server session input queue and client controls; current tree has no queuedMessageStore Choose whether to introduce client-side queue or adapt specific UX to durable server queue; require cross-client semantics
    199 143 719a76ca1dbf5490f1aa33ffb9966301e02be9a9 feat(web): choose queue or steer for follow-up messages (#11964) deferred_product_decision Upstream client-side queuedMessageStore and queue/steer follow-up controls differ from Pylon persisted server session input queue and client controls; current tree has no queuedMessageStore Choose whether to introduce client-side queue or adapt specific UX to durable server queue; require cross-client semantics
    200 173 f4ef5155fb8aab7776a41fc8ec73d5367f53ba1f feat(web): add send shortcut and follow-up controls (#12075) deferred_product_decision Upstream client-side queuedMessageStore and queue/steer follow-up controls differ from Pylon persisted server session input queue and client controls; current tree has no queuedMessageStore Choose whether to introduce client-side queue or adapt specific UX to durable server queue; require cross-client semantics
    201 368 790be6d755026d61bd13a970dd77176c12ca0425 fix(devices): safely reclaim obsolete managed tool versions (#12819) deferred PR #731 final reconciliation 0776b0b removes automatic pruning: install lock ends before helper spawn, so process scan cannot prove older installed version unused Trigger: coherent cross-host install-to-spawn lease; retained installed versions are intentionally not reclaimed
    202 23 3138f5716098a331f9a7d4cfc1bcd07118967a83 fix(grok): emit task lifecycle for monitors and background shells (#9139) pending_pr Source adds XAiBackgroundTasks.ts and GrokAdapter ToolCallUpdated task lifecycle mapping; current Pylon has no XAiBackgroundTasks and GrokAdapter lacks task.started/progress/completed emissions Implement adapter-owned monitor/shell lifecycle with stopped/late turn fences; focused GrokAdapter and XAiBackgroundTasks tests Reviewed/active Pylon PR #753; verify exact final included behavior before merge.
    203 11 8ddd9f7efcdfb6e32b614595242b5986942d37b0 fix(desktop): bound backend shutdown wait during quit (#7599) pending_pr Current DesktopApp quit finalizer calls instance.stop() with no timeout; source bounds each backend stop at five seconds and tests multi-backend hung teardown Port to pinned Effect Duration conventions; focused DesktopBackendManager quit finalizer TestClock regression and desktop typecheck Prepared in open Pylon PR #763; not yet adopted on origin/pylon.
    204 49 c07575f573dd3a1af4f734297d17f7c951c95f10 feat(server): show finished paragraphs and code blocks while the response streams (#11062) pending_pr Current ProviderRuntimeIngestion buffers assistant text until completion or 24k safety flush; source adds finished-paragraph/closed-fence paced delivery, with #11833 tightening list-item handling Open PR #757 ports paced complete paragraphs/fences and tight-list safety; upstream LegendList/list patch is intentionally excluded and remains separately unadopted. Verify exact merged scope, streaming boundaries and legacy token mode.
    205 54 1bbca0e78202c8ece73351fccd29f3c99070b82e feat(settings): choose how responses stream, with a warning on legacy token mode (#11678) covered Current Pylon contracts/server/SettingsPanels expose enableLegacyTokenStreaming default off and a confirmation warning when enabled; same user-facing choice and ingestion branch as source #11678 No new port; paragraph streaming sources #11062/#11833 separately missing
    206 106 b5b29e7b8b12536a0619fb6df54d20d2b649d6e5 fix(server): stream tight list items one at a time in paragraph mode (#11833) pending_pr Current Pylon base still buffers provider text until completion or 24k safety flush. Upstream #11833 tightens list-item delivery within paragraph mode; open PR #757 includes that list safety with paced paragraph/fence delivery. No current-base adoption is claimed. Open PR #757 ports paced complete paragraphs/fences and tight-list safety; upstream LegendList/list patch is intentionally excluded and remains separately unadopted. Verify exact merged scope, streaming boundaries and legacy token mode.
    207 95 0f21fcbb6dbabb6d2185a73edf6b865fd64c6019 feat(mobile): add a T3 Connect page to the Clerk profile (#11765) deferred_product_decision Upstream changes Clerk mobile profile and headless CLI auth to device grant; Pylon currently uses independent Pylon Connect browser pairing/callback and mobile auth/settings surfaces Requires coordinated Pylon Connect auth migration and cross-client identity decision; do not transplant T3 profile/routes/credentials piecemeal
    208 96 dc0869b605f60c2c8afa924035a81c8f98b29385 feat(server): use Clerk's device authorization grant for headless connect login (#11794) deferred_product_decision Upstream changes Clerk mobile profile and headless CLI auth to device grant; Pylon currently uses independent Pylon Connect browser pairing/callback and mobile auth/settings surfaces Requires coordinated Pylon Connect auth migration and cross-client identity decision; do not transplant T3 profile/routes/credentials piecemeal
    209 104 6dbea7ed0947780694943bd86c4cd22cebbcd8eb chore(mobile): bump app version to 1.2.0 inapplicable Upstream T3 mobile version-only bump; Pylon mobile app has independent version/build/update channels Pylon version changes occur in its own release workflow
    210 201 88d0c40c8581f8886b8c94496c3e4af105851424 chore(mobile): bump app version to 1.2.1 inapplicable Upstream T3 mobile version-only bump; Pylon mobile app has independent version/build/update channels Pylon version changes occur in its own release workflow
  15. rynfar commented on Sep 24, 2026

    @rynfar
    CollaboratorAuthor

    Frozen upstream source dispositions 211–280 of 481

    Snapshot: 2026-09-24 09:19 UTC; reviewed Pylon base 7ed3f711caa36485001538bbe1cb0017b84aa7fe. Frozen range: bbedad0278bbf753503184c00e0c09a0eab6679c..e67abcf798f8c4d8458755e3b4dde02c2c1f628b; completed cursor remains fa1e1715538f6f8ac076761f7821f68479f616ab. Open PRs are pending, not adopted.

    Review row Upstream index Source Disposition Current behavior / evidence Remaining scope
    211 383 76cc9b08f19d89012f16d18f47478c4f7b9b0a6f chore(mobile): bump app version to 1.3.0 inapplicable Upstream T3 mobile version-only bump; Pylon mobile app has independent version/build/update channels Pylon version changes occur in its own release workflow
    212 466 f5ef0ddb90a8c36584e181b1913e7b8a5df30ffc chore(mobile): bump app version to 1.3.1 inapplicable Upstream T3 mobile version-only bump; Pylon mobile app has independent version/build/update channels Pylon version changes occur in its own release workflow
    213 263 d547e3b12a1af79e9dd81e422255a12d6ecf70d1 chore(deps): upgrade Effect to rc.115 and Alchemy to beta.78 (#12326) actionable_missing Current Pylon pnpm-workspace catalog still pins Effect 4.0.0-rc.112 while upstream source upgrades rc.115/Alchemy beta.78 and syncs matching read-only references Treat as one dependency migration: update package/lock and sync matching .repos references via approved script, adapt pinned Effect APIs, scoped tests/typechecks; do not edit .repos manually
    214 264 e3c85ead63c3a69f9be5dbb873b3d87c9b76b43f chore(refs): sync Effect and Alchemy references to rc.115 and beta.78 (#12327) actionable_missing Current Pylon pnpm-workspace catalog still pins Effect 4.0.0-rc.112 while upstream source upgrades rc.115/Alchemy beta.78 and syncs matching read-only references Treat as one dependency migration: update package/lock and sync matching .repos references via approved script, adapt pinned Effect APIs, scoped tests/typechecks; do not edit .repos manually
    215 265 74796256868916da550ecbe9b5e37d359a8cb321 chore(relay): deploy with the Alchemy CLI and publish client config through an Action (#12401) deferred_product_decision Upstream relay deployment switches to Alchemy CLI and Action-published client config; Pylon has independent relay deployment and client configuration ownership Review Pylon deploy pipeline and external release authorization as one unit; do not port T3 relay release workflow blindly
    216 220 d4d5d12e8ba086cfbf79ca3adeb4156b46ead665 fix(shared): keep the newest shared usage scan (#10315) pending_pr Pylon PR #762 ports newest shared usage fingerprint owner scan alongside index228; independent review and focused regressions. Pending CI/merge; do not duplicate. Open PR #762.
    217 381 80d9c181da41ee3890791c9b65018ce093e7bc9e fix(contracts): old message-sent events without turnId no longer stop the server from starting (#12763) pending_pr PR #731 includes ThreadMessageSentPayload decode default null and legacy persisted-event regression; reconciled branch 0776b0b under independent review Current origin/pylon still lacks fix until #731 merge; do not dispatch duplicate
    218 478 f1add18ae1560f509405a5eece07f3cfb1cc850f fix(shared): preserve final quoted empty CSV records (#11425) pending_pr Pylon PR #761 commit 0886415 ports exact CSV/TSV/BOM/row-limit rowStart parser fix; independent review PASS and focused tests. Pending CI/merge; do not duplicate. Open PR #761.
    219 373 1eeeabb26f654c679efe265cd03edf69c3df3a6f fix(mobile): use a proper pull request icon on iOS (#12855) pending_pr PR #731 explicitly lists upstream #12855 integrated and independently reviewed at reconciliation head 0776b0b Do not duplicate; pending green CI/merge
    220 375 1de563c1491c7d82563e4553bf5bf689ce6adbb9 feat(devices): offer manual updates in tool version details (#12877) pending_pr PR #731 explicitly lists upstream #12877 integrated and independently reviewed at reconciliation head 0776b0b Do not duplicate; pending green CI/merge
    221 377 33cb911ceb89d55b812f486d4e001d0f86d77680 fix(mobile): stop iOS autocorrect from rewriting search queries (#12949) pending_pr PR #731 explicitly lists upstream #12949 integrated and independently reviewed at reconciliation head 0776b0b Do not duplicate; pending green CI/merge
    222 394 aff9318bf46beaf05cc7155b428d3f0b8711efd2 fix(web): retry failed attachment uploads after reconnect (#10338) pending_pr PR #731 explicitly lists upstream #10338 integrated and independently reviewed at reconciliation head 0776b0b Do not duplicate; pending green CI/merge
    223 395 da6a85b1365993d0ff2a79698cd82498de247d8a fix(web): respect panel motion in composer transitions (#11064) pending_pr Open Pylon PR #750 explicitly integrates source; targeted tests and independent review documented in PR body Do not dispatch duplicate; pending merge/CI
    224 396 7c2702d68ae2e10fa9d3a08c996ed47c393dcffd fix(web): read panel animation settings in the composer (#13098) pending_pr Open Pylon PR #750 explicitly integrates source; targeted tests and independent review documented in PR body Do not dispatch duplicate; pending merge/CI
    225 434 f22331240ed1a97fae560e314bffb75fe39db8ca fix(server): generate PR diffs from branch changes (#13170) pending_pr Open Pylon PR #742 explicitly integrates source; targeted tests and independent review documented in PR body Do not dispatch duplicate; pending merge/CI
    226 435 68607c5a99147710b92228e0642f6c0a642e32a6 fix(web): preserve nested scroll behavior in chat timeline (#13167) pending_pr Open Pylon PR #750 explicitly integrates source; targeted tests and independent review documented in PR body Do not dispatch duplicate; pending merge/CI
    227 449 5975ec78b7eaff654e6183b99f8de7a05591e99d fix(server): background PR checks spend less GitHub quota (#13189) pending_pr Open Pylon PR #749 explicitly integrates source; targeted tests and independent review documented in PR body Do not dispatch duplicate; pending merge/CI
    228 450 18de6bb328059703b5d1b0661610076e3c0fa2d4 fix(server): background PR sync reads summaries in batches (#13198) pending_pr Open Pylon PR #749 explicitly integrates source; targeted tests and independent review documented in PR body Do not dispatch duplicate; pending merge/CI
    229 451 eafb4a9340bd2c2271b7c8fac7eddd55beea3972 fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200) pending_pr Open Pylon PR #749 explicitly integrates source; targeted tests and independent review documented in PR body Do not dispatch duplicate; pending merge/CI
    230 473 e4eb9977f0b02b29cb2ee361b0c433c685e87615 fix(server): stop replaying old agent alerts on restart (#13340) pending_pr sol_prime_bridge AgentAwareness patch worktree relay-old-agent-alerts; no PR yet; independent review found duplicate null tombstone regression and fresh-error test gap Await corrected frozen patch, focused tests, adversarial review and PR; no duplicate dispatch Reviewed/active Pylon PR #758; verify exact final included behavior before merge.
    231 267 56a9bf2bd7d3dcdae722a5de84578909dc11aeda fix(git): prevent stale branch selections from restoring files (#10574) pending_pr Current GitVcsDriverCore.switchRef checkout passes checkoutArgs without --; stale branch name matching a dirty tracked file can make git checkout restore/discard edits Add -- pathspec separator, preserve remote tracking/detached refs; focused real-Git regression from source and server typecheck Reviewed/active Pylon PR #751; verify exact final included behavior before merge.
    232 21 6fd68f5c3e7c81a9650ba36df32f2241912e00ba feat(source-control): support Forgejo and Gitea with fj and tea (#11436) actionable_missing Current Pylon has no Forgejo/Gitea/fj/tea source-control integration; source adds server discovery/CLI/PR provider plus contracts, web/mobile presentation and docs Large coherent provider integration; preserve Pylon auth/environment scopes and projected PR authority; focused discovery/PR sync/client tests and local/remote modes
    233 225 03950089ffa5cecf0ce731227f58551f6437495f feat(web): pull request files can be marked as viewed (#7721) actionable_missing Current Pylon lacks viewedFiles/mark-file-viewed contract, persistence and PR code-tab controls; source adds generic provider API and per-environment viewed state, including Forgejo final-state adapter Large cross-provider feature; port with current GitHub/GitLab/Bitbucket/Azure providers and retain Pylon environment ownership; if Forgejo port follows, include its getFileRevisions adapter
    234 214 c4ca1b0f94e56bd93899704f03015d51948a6b4d feat(settings): add automatic storage cleanup per machine and project (#11598) actionable_missing Current Pylon has no storageCleanup/worktreeCleanup settings, server cleanup service or storage settings route; upstream defaults all retention rules off and adds opt-in per-machine/project controls Large cross-layer opt-in feature; preserve live worktrees/leases and Pylon user data boundaries, inspect all deletion triggers and reversals, focused reactor/persistence/web tests
    235 69 1ced38a6647b7f466b535b4b413ca4a74303da8e fix(server): skip device hosts that resolve to the local machine (#11698) pending_pr Current Pylon lacks localSshDeviceHost resolution/filtering and selected-environment device-host test flow; upstream fixes self-target SSH aliases and probes across selected environments Reviewed Pylon PR #766 includes server local SSH and adapted web companion source; verify final exact behavior and green CI before merge.
    236 70 8984f8103d0836c0b340fe70cd053428d622a8c3 fix(web): test device hosts across selected environments (#11699) deferred_dependency Source web/docs device-host settings relies on deviceHostsSettings.logic introduced by index48; current DeviceHostsSettings writes only props.environmentId. Server local SSH behavior is a different source. Revisit with index48 multi-environment settings semantics; current PR #766 may adapt only selected portions, verify exact scope.
    237 277 80c1f771b39674ada4d3724610f08fba855fdd49 fix(relay): accept delegated thread IDs in activity routes (#12484) pending_pr Current relay router has default 100-char parameter cap and relayAgentActivityRows/relayDeliveryAttempts threadId varchar(191); delegated thread IDs can exceed both; upstream raises router and DB columns to 512 with migration Coherent relay API + schema migration; use Postgres skill, preserve Pylon relay identity and deploy workflow, test >191-char delegated IDs and route limits; no release without approval Reviewed/active Pylon PR #756; verify exact final included behavior before merge.
    238 40 9bf349cf6b3988dd01e2d9871b99e1be883aaa41 fix(cursor): preserve internal agent errors without transport labels (#11365) pending_pr Current CursorTransportFailure regex treats every RetriableError as transport; source exempts [internal] agent-loop failures so provider diagnostic is preserved Small provider-owned regex/test port; verify ordinary retriable transport errors still map to stable user message Prepared in open Pylon PR #754; not yet adopted on origin/pylon.
    239 30 20a8f1de3668e0ff4da236d75258e2184a68d727 chore(mobile): enable noUncheckedIndexedAccess and noImplicitOverride (#11538) actionable_missing Current apps/mobile/tsconfig.json has strict:true but lacks noUncheckedIndexedAccess and noImplicitOverride; source enables both and fixes affected mobile code Coherent mobile compile-hardening; adapt to Pylon-native code, run mobile scoped typecheck and affected focused tests; lower priority than behavioral fixes
    240 238 5f225395637cb347cfe416c649825a8c7c210014 chore(review): keep review bots out of the vendored .repos references (#12333) skipped_pylon_product_choice Source adds review-bot exclusions (.macroscope/ignore.md, .coderabbit.yaml) and vite ignore for read-only .repos. Pylon already ignores .repos in vite lint/test and has Macroscope config but no same review-bot ignore files. Optional review policy: check whether Pylon actually runs Macroscope/CodeRabbit on .repos before adding bot exclusions; no runtime behavior.
    241 228 675869d2b0f9e059d5950b80390c0cad1cb1590e fix(usage): preserve saved totals after transcript cleanup (#12304) pending_pr Current durable usageScanCache is per-file and UsageService drops totals when transcript file/root disappears; source retains previously saved usage across cleanup, rename and restart without double-counting moved files Independently reviewed Pylon PR #762 preserves saved usage after cleanup; verify final exact behavior and green CI before merge.
    242 281 8ebb6112377a110afb956ac01fb44fee68f5709c fix(ci): accept V2 transfer reports without cross-scenario comparisons (#12492) pending_pr Current .github/scripts/thread-transfer-report.cjs only accepts v1 and compares ceilings without comparable fixture guard; source allows v2 and suppresses V1/V2 comparisons Small CI script/test port; validate both v1 and v2 fixtures; no product runtime effect Reviewed/active Pylon PR #759; verify exact final included behavior before merge.
    243 477 21e2b7de0062a3c1dca7209ca48b736dd9a36c84 fix(web): switches announce their real state to screen readers (#11580) pending_pr Current web Switch passes aria-checked=undefined when not mixed, overriding Base UI computed checked state; source only supplies aria-checked for mixed and tests true/false/mixed static markup Small UI primitive fix plus accessible-state regression and web scoped typecheck Reviewed/active Pylon PR #755; verify exact final included behavior before merge.
    244 36 ca2cc1339bbd1904b932c3a92d23a2c0ffe1d267 feat(web): add optional compact sidebar rail (#11525) adopted Merged Pylon PR #680 intentionally adopted optional compact sidebar rail/list/row refinements; current Pylon retains compact mode default-off with Pylon adaptations. Upstream later reverted the feature in source index55, but Pylon keeps this independent product behavior. Do not apply upstream revert to Pylon; verify source-specific row behavior in final independent compact-sidebar audit.
    245 43 77bca8b2d76a1f42552e5eee7d277fcb1160347a feat(web): add compact thread list mode (#9417) adopted Merged Pylon PR #680 intentionally adopted optional compact sidebar rail/list/row refinements; current Pylon retains compact mode default-off with Pylon adaptations. Upstream later reverted the feature in source index55, but Pylon keeps this independent product behavior. Do not apply upstream revert to Pylon; verify source-specific row behavior in final independent compact-sidebar audit.
    246 44 df7ccc8fd01f5d2a1d8ec21bef8f9c59398fe913 feat(web): refine compact thread row badges (#11644) adopted Merged Pylon PR #680 intentionally adopted optional compact sidebar rail/list/row refinements; current Pylon retains compact mode default-off with Pylon adaptations. Upstream later reverted the feature in source index55, but Pylon keeps this independent product behavior. Do not apply upstream revert to Pylon; verify source-specific row behavior in final independent compact-sidebar audit.
    247 45 7b61099886f3aac139ad43fb73873c73ba7baf4f feat(web): show the linked pull request in the compact sidebar rail (#11652) adopted Merged Pylon PR #680 intentionally adopted optional compact sidebar rail/list/row refinements; current Pylon retains compact mode default-off with Pylon adaptations. Upstream later reverted the feature in source index55, but Pylon keeps this independent product behavior. Do not apply upstream revert to Pylon; verify source-specific row behavior in final independent compact-sidebar audit.
    248 55 d81278aa6b272bb3d3314266c6d17f22504d19d6 revert(web): remove the compact sidebar (#11685) skipped_pylon_product_choice Source #11685 removes prior upstream compact sidebar rail/list/settings implementation; Pylon currently retains its independently owned compact sidebar No automatic port of upstream removal; preserving Pylon product choice
    249 309 823119350ee29cca434b1295aa5c560f4c9ef98a feat(mobile): view and control agent devices (#12531) actionable_missing Current Pylon mobile has no features/devices route, DeviceStreamWebView, device state, or shared client-runtime device stream module; source adds mobile view/control of agent devices using shared stream runtime Port with omitted mobile/shared portion of earlier 9f73ca3677 recovery and current web device stream; verify iOS/Android local/remote/tunnel, input and background/reduced-motion behavior
    250 273 9118b6d3e868db161ca3f330c0a8011527348dce fix(mobile): synchronize native permission registry access (#12482) pending_pr Pylon lockfile still uses expo-modules-core 57.0.14/expo-notifications 57.0.15 without upstream iOS synchronization patches; source patches native permission registry and notification delegate/pending-response races Port as pinned native patch pair with regression fixture scripts; mobile build/typecheck and iOS simulator verification, no physical release without approval Reviewed/active Pylon PR #760; verify exact final included behavior before merge.
    251 276 4c61e3d7ecc4d9957c243677d35dd3313a37c067 fix(mobile): synchronize native notification delegates (#12483) pending_pr Pylon lockfile still uses expo-modules-core 57.0.14/expo-notifications 57.0.15 without upstream iOS synchronization patches; source patches native permission registry and notification delegate/pending-response races Port as pinned native patch pair with regression fixture scripts; mobile build/typecheck and iOS simulator verification, no physical release without approval Reviewed/active Pylon PR #760; verify exact final included behavior before merge.
    252 440 96c4bfa0a27f776f7cd17df7c7115c3de79ee399 feat(providers): check remote compatibility ranges (#13130) actionable_missing Current Pylon lacks providerCompatibility.ts and remote compatibility range projection/maintenance/UI; second source restores complete ranges for all harnesses after initial introduction Port two-source final state after #731/#743 manifest integration; preserve Pylon provider identities/maintenance gates, test every harness and local/remote clients
    253 471 d4cd7d5c33122473da22ae118c93477ef7e38310 fix(providers): restore compatibility ranges for every harness (#13328) actionable_missing Current Pylon lacks providerCompatibility.ts and remote compatibility range projection/maintenance/UI; second source restores complete ranges for all harnesses after initial introduction Port two-source final state after #731/#743 manifest integration; preserve Pylon provider identities/maintenance gates, test every harness and local/remote clients
    254 438 ca864a25b14813e390cbcaeb334b97cd61717ce3 chore(models): use GPT-6 Luna for text generation (#13115) pending_pr Current DEFAULT_TEXT_GENERATION_MODEL in packages/contracts/src/model.ts remains gpt-5.6-luna despite GPT-6 current-model catalog adoption; source changes helper default to gpt-6-luna Pylon PR #765 prepared and independently reviewed; changes only unset text-generation default to GPT-6 Luna, explicit selections retained. Merge approval is product decision.
    255 384 1262d2f3ab2940c1d47ca4f5c4ca42e5c7259765 feat(server): let t3.json limit or disable submodule init in new worktrees (#12953) actionable_missing Current Pylon GitVcsDriver always initializes submodules in new worktrees and lacks t3.json/project/server scoped submodule policy; three-source chain adds resolver and controls Port final chain as one cross contracts/shared/server/web/mobile unit, preserve Pylon project settings precedence and worktree setup receipts; tests for disabled/limited submodule init and remote clients
    256 385 742173a13250bcba880b700aaead34e1b0810dff feat(settings): resolve t3.json inside the project settings resolver (#12954) actionable_missing Current Pylon GitVcsDriver always initializes submodules in new worktrees and lacks t3.json/project/server scoped submodule policy; three-source chain adds resolver and controls Port final chain as one cross contracts/shared/server/web/mobile unit, preserve Pylon project settings precedence and worktree setup receipts; tests for disabled/limited submodule init and remote clients
    257 386 0141bc2bf5fcf52a563240a6bce4b58050496db5 feat(settings): choose how new worktrees initialize submodules (#12955) actionable_missing Current Pylon GitVcsDriver always initializes submodules in new worktrees and lacks t3.json/project/server scoped submodule policy; three-source chain adds resolver and controls Port final chain as one cross contracts/shared/server/web/mobile unit, preserve Pylon project settings precedence and worktree setup receipts; tests for disabled/limited submodule init and remote clients
    258 437 e4422eec752e8cce46af2865d8fbd3d5b7468a2a fix(desktop): find linuxbrew node for the WSL backend (#7827) pending_pr Pylon PR #769 commit 3069ad2 adds Linuxbrew Node PATH to SSH/WSL remote lookup while preserving Pylon npx/service identity; independent review PASS, 20 SSH tests and scoped lint/typecheck pass. CI pending, not merged/released. Open PR #769.
    259 121 a37b85279d71f958482cb8b6fef1886cdb43f364 perf(server): speed up worktree fetch and checkout (#11633) actionable_missing Current GitVcsDriverCore worktree add lacks checkout.workers override and fetchRemote always fetches all refs; source uses configured/parallel checkout and targeted branch fetch with safe fallback Performance port after Git safety fix; preserve smudge filters/hooks, progress, remote ref parsing and safe diagnostics; real Git regressions
    260 122 9ea892e3b365faff31eed294ac38f70d122656b2 fix(client): show thread state changes before remote replies (#11408) actionable_missing Current useThreadActions awaits settlement, pin, snooze, and reorder command results, and Sidebar attemptSettle navigates only after success. Its optimisticDrop is confined to drag/drop. The serial client command scheduler and durable server event queue do not project these lifecycle changes before RPC replies. Upstream wraps commands with a pending Atom overlay, rollback on failure, and receipt snapshot-sequence reconciliation. Useful compatible latency/UX improvement, not a proven data-loss bug. Test delayed remote replies, rejection rollback, concurrent actions, and web/mobile render parity before adoption.
    261 194 19ee856ec099dddb94e28a3f933ec7c2575ed5a2 fix(server): propagate linked pr changes and settle threads immediately (#12161) actionable_missing Current PullRequestSyncReactor still periodic-sweeps linked PRs; source subscribes to link/domain events and propagates terminal changes for immediate settlement, with client cache tests After PR #749 quota changes, port event-driven path preserving Pylon multi-PR authority and receipt/drain semantics; tests for newly linked merged PR, failed stack read retry and immediate settle
    262 137 7235701de052658cd78cb029b0df71af4b8dc21f fix(server): release preview hosts after unanswered requests (#11381) covered Current PreviewAutomationBroker.ts awaitResponse timeout disconnects unanswered host queue and fails with PreviewAutomationTimeoutError; later merged PR #687/#12535 retained this behavior with generation fence Original source #11381 behavior superseded by hardened later implementation; no duplicate port
    263 149 87a12b53fdff7e2e0318af3edea54005557cea56 fix(usage): refresh limits when the tab opens (#11928) actionable_missing Current web/mobile Usage Limits refreshes providers only on manual action; source refreshes on entering Limits with per-environment cooldown, connection gating and late-environment handling Cross-client usage refresh port; avoid provider model sessions and duplicate StrictMode/remount calls; tests for reconnect, rapid tab return and in-flight new environment
    264 135 438465d6b7dd2e50dd38862a0db1252d2d72ecfc feat: add customizable soft-tint project monograms (#11845) actionable_missing Pylon has generated web monogram fallback but no customizable soft-tint ProjectMonogram/icon override contract; upstream feature and final icon variant/lint guard absent. Hermes Intl.Segmenter crash source depends on that absent schema. Review four-source final chain as optional compatible feature; if porting, use runtime-independent grapheme count and Hermes API lint ban before mobile clients consume contract, preserve Pylon favicon identity
    265 150 6f7aaffe26f0e6ae3d47b0ae512b322f890e0f43 fix(contracts): avoid Intl.Segmenter in monogram validation (Hermes crash) (#11984) deferred_dependency Pylon has generated web monogram fallback but no customizable soft-tint ProjectMonogram/icon override contract; upstream feature and final icon variant/lint guard absent. Hermes Intl.Segmenter crash source depends on that absent schema. Review four-source final chain as optional compatible feature; if porting, use runtime-independent grapheme count and Hermes API lint ban before mobile clients consume contract, preserve Pylon favicon identity
    266 151 37a8ab2b29dfa33b4e20ad709a9860f0da7b7eb2 feat(lint): extend Hermes API bans with a configurable API list (#11982) skipped_pylon_product_choice Exact source only renames/extends generic lint ban to Intl.Segmenter plus unsupported array methods; current Pylon has prior array-method lint rule. No icon/monogram implementation is in this diff. Optional preventive lint enhancement, independent of monogram feature; adopt if Pylon changes Hermes API policy, not as a prerequisite.
    267 153 7a368fe7c45a45c284f1b064e440a2d696452b07 refactor: give project monograms their own icon variant (#11993) actionable_missing Pylon has generated web monogram fallback but no customizable soft-tint ProjectMonogram/icon override contract; upstream feature and final icon variant/lint guard absent. Hermes Intl.Segmenter crash source depends on that absent schema. Review four-source final chain as optional compatible feature; if porting, use runtime-independent grapheme count and Hermes API lint ban before mobile clients consume contract, preserve Pylon favicon identity
    268 240 256e630ef7b8372f70f80590e85aada62da821ab feat(web): filter sidebar from thread menu (#8719) actionable_missing threadActionMenu.logic.ts lacks filter-by-project and projectFilter; sidebar filter action from row menu is absent. Add a thread-row action that applies the project sidebar filter; verify it clears/reconciles on project changes.
    269 241 9051ed9c3923b7b5fb88d99fe9267380d69baa51 feat(web): open diff files from a right-click context menu (#11842) actionable_missing Source adds fileContextMenu.ts and right-click hooks for diff/tree/browser; current shared module absent and current DiffPanel.tsx/ChangedFilesTree.tsx have no equivalent file action menu. FileBrowserPanel only captures native contextmenu pointer. Port the shared file context menu across diff, changed-files tree, and browser; preserve local/remote file actions.
    270 243 53510d44ea7b4a44c10c122dd9245194f2f14d09 fix(mobile): define Clerk colors in every Uniwind theme (#12344) deferred_dependency Source theme variables --color-clerk-* support custom Clerk profile pages; current Pylon SettingsAuthRouteScreen mounts native UserProfileView and has no custom-profile variable consumers. Only relevant if Pylon adopts custom Clerk profile or source #11765 T3 Connect page; preserve Pylon auth branding/theme.
    271 244 8583eac643b8c248bcd835e8de81c7c0d7182ad3 refactor(web): reuse searchable picker inputs (#12353) skipped_pylon_product_choice combobox.tsx exists but search inputs remain separately composed in BranchToolbar/DiffPanel/PullRequestCandidatePicker/FontFamilyPicker. No acceptance defect established. Evaluate behavior/visual proof before implementation; source is compatible but no defect established.
    272 245 5a39013313a7e6e9d6fbeeb915b8c176ea3dd126 fix(web): share touch-visible pull request edit actions (#12370) actionable_missing Source shared PullRequestEditButton.tsx supplies touch-visible edit actions; current file absent and existing review/summary/timeline callsites need touch affordance check. Check touch devices, then expose PR edit controls consistently in review, summary, and timeline callsites.
    273 246 05a8c6016a4070b92f5d51e7a79b9c76814947df fix(mobile): share accessible connection trace controls (#12371) actionable_missing Shared accessible ConnectionTraceId.tsx absent; current connection rows/notices maintain separate trace controls. Share a keyboard/screen-reader accessible trace-ID copy control across connection rows and notices.
    274 247 a1390ac655927cda10cfab3e4678d456db7b54b8 fix(mobile): share settings control row layout (#12356) skipped_pylon_product_choice SettingsSwitchRow.tsx exists; source SettingsControlRow.tsx and SettingsServerControlsRouteScreen.tsx are absent in current Pylon layout. Requires adaptation if desired. Evaluate behavior/visual proof before implementation; source is compatible but no defect established.
    275 248 6088c8104cfda0c11eafd1e1f636d47106fee136 refactor(web): share diagnostic process actions (#12358) skipped_pylon_product_choice Shared ProcessSignalActions.tsx absent; DiagnosticsSettings and ResourceTelemetryDiagnostics still own actions. Evaluate behavior/visual proof before implementation; source is compatible but no defect established.
    276 249 14337401bc801d6239dd10e34997b4481081cf1d refactor(mobile): share Android toolbar search fields (#12359) inapplicable All three upstream MaterialSearchField, MaterialFilesHeader, MaterialThreadListToolbar paths absent in Pylon; current Android toolbar architecture differs, no direct one-file port. Reassess only with toolbar redesign. No current caller; revisit only with Android toolbar redesign.
    277 250 4aa841a8d45ccd611a809351db0b693faba6ba13 refactor(web): share settings group surfaces (#12360) skipped_pylon_product_choice FoldedSettingsSection.tsx/SettingsGroup.tsx absent; Pylon settings surface still uses existing ProviderSettingsPanel/SettingsPanels. Evaluate behavior/visual proof before implementation; source is compatible but no defect established.
    278 251 8eb1f6e74869130b7602e0c6b0ab56b7805c0889 refactor(web): reuse inline settings actions (#12362) skipped_pylon_product_choice Current ExpandableText.tsx and SettingInheritance.tsx exist, but source inline settings action reuse is a composition cleanup, no separate behavior proof. Evaluate behavior/visual proof before implementation; source is compatible but no defect established.
    279 252 767a5dbd00d0a2050745a2ae2e29050c5282b8c0 refactor(mobile): share thread list section controls (#12363) skipped_pylon_product_choice Current HomeScreen/ThreadNavigationSidebar/thread-list-v2-items each render section controls; source consolidates rendering, no user-visible defect established. Evaluate behavior/visual proof before implementation; source is compatible but no defect established.
    280 253 18dcc43ace0a7b0d93f2fd61907b2a4e27522936 refactor(mobile): share connection form fields (#12364) skipped_pylon_product_choice ConnectionFormField.tsx absent; row/new connection forms remain separate. Evaluate behavior/visual proof before implementation; source is compatible but no defect established.
  16. 44 remaining items

  17. rynfar commented on Sep 26, 2026

    @rynfar
    CollaboratorAuthor

    Follow-up: #747 merged after exact-head green CI, a successful patched RNScreens iOS 26.3 Simulator build, and isolated Threads-search smoke evidence. Issue #153 remains open because current screens do not reach the latent cache transition itself. Live open PR count is now 11 (10 drafts, one ready: #841). No release/install was performed.

  18. rynfar commented on Sep 27, 2026

    @rynfar
    CollaboratorAuthor

    Catch-up checkpoint (2026-09-27): merged #832, #835, #824, and #840 after reconciliation, focused checks, independent adversarial review, final-head CI, and the available isolated UI evidence. #824's root-refresh regression was fixed before merge. #840's iPad build and Return-key setting were verified; the attached device driver could not inject Cmd-K, so live palette invocation was not claimed. No release or physical device installation occurred.

    Live Pylon queue: 1 open PR, draft #849 (mobile rollback status freshness). Its documented operation-identity and delayed-action authority gaps are being fixed and re-reviewed before merge. This is the PR count, not an upstream source count.

    The frozen bbedad0278..e67abcf798 upstream batch remains 481 classified source commits with zero unreviewed entries in the recorded matrix. The decision cursor remains unchanged until all included partial/pending work has an authorized disposition. Last recorded local T3 head a21b42cec4 is 96 source commits beyond the frozen cutoff; this newer range still needs bounded triage. No T3 refetch was done for this checkpoint. Oh My Pi remains excluded and closed.

  19. rynfar commented on Sep 27, 2026

    @rynfar
    CollaboratorAuthor

    Catch-up checkpoint (2026-09-27): the PR queue against pylon is now empty. PRs #832, #835, #824, #840, and #849 merged after final-head checks and independent adversarial review. #849's review exposed a session-swap race, which was fixed and re-reviewed before merge. Its isolated iPhone evidence is on the PR; the fixture verifies manual-recovery presentation after reconnect, not a full rollback saga.

    The frozen T3 source range bbedad0278bbf753503184c00e0c09a0eab6679c..e67abcf798f8c4d8458755e3b4dde02c2c1f628b contains 481 commits. The source matrix has no unclassified entries, but classified does not mean adopted or that the cycle is complete. The recorded review cursor remains at bbedad0278bbf753503184c00e0c09a0eab6679c while pending/partial dispositions are resolved. The last recorded local T3 ref a21b42cec478b093cdc50cc2105b5368ea8b3546 has 96 additional commits beyond the frozen cutoff awaiting the next bounded triage. No new upstream fetch was performed for this count. Oh My Pi remains explicitly excluded and its PR closed.

    17 issues remain open, including this tracking issue and separate design/acceptance work. No release or physical device update was made.

  20. rynfar commented on Sep 27, 2026

    @rynfar
    CollaboratorAuthor

    Catch-up checkpoint (2026-09-27): #861 is merged at 69f26bcc65e938ecaaa8e695eefc2c2770c534f5. It fixes the Forgejo PR detail cache for explicit ports while retaining portless SSH/thread references. Independent adversarial review caught the reverse case before merge; focused tests, scoped checks, final-head CI, and isolated before/after browser evidence are attached to #861. The open PR queue remains 0.

    The 481-source frozen T3 range is still not ready for a reviewed-through cursor advance. All 27 matrix rows labeled pending PR now refer to merged PRs and need reconciliation. Partial rows still require explicit decisions for omitted behavior (notably #11593, #12515, #12719, #12639, #11062, and #13302); several older deferrals need observable revisit triggers. Forgejo exclusions for #12719/#12168 are stale after #798/#861. I am resolving those dispositions rather than claiming a completed cycle. The newer 96 locally recorded T3 commits remain outside the frozen batch; the first bounded slice identified an Antigravity Stop candidate for the next cycle. Oh My Pi remains excluded and closed.

  21. rynfar commented on Sep 27, 2026

    @rynfar
    CollaboratorAuthor

    Frozen-source residual audit at Pylon 69f26bcc65e938ecaaa8e695eefc2c2770c534f5 (2026-09-27). This supersedes the stale scope notes for these seven sources; it does not advance the review cursor.

    T3 source Disposition and remaining behavior
    24b711b7 (#11593) iOS terminal Backspace was adopted in merged #770. The five remaining Forgejo/model-picker/dialog hunks are applicable and assigned to the next bounded implementation unit. Forgejo must expose useful bounded HTTP diagnostics without leaking sensitive responses; the UI changes need isolated interaction evidence.
    8c3b5bef (#12515) #695 adopted short-list bounce and file-empty retry. Archive/files/settings still have accessible explicit refresh actions. Defer upstream's removal/migration of those controls until a reported mobile header-clutter or refresh-accessibility problem calls for a coordinated list UX change; retain a non-gesture refresh path.
    93349247 (#12719) Covered by merged #701 and later #831: PR chips use PullRequestLinkPreview in contextChipParts.tsx, including Forgejo authority/port handling. The former “no Forgejo provider” exclusion is invalid after #798. Reopen only for a hover/focus or cross-environment preview regression.
    d612d12b (#12168) Canonical PR detail reuse was adopted in #626; merged #861 covers Forgejo custom-port cache keys. The former “no Forgejo provider” exclusion is invalid. Upstream account-router hooks remain inapplicable unless Pylon adds multi-account routing or a new PR detail entry point bypasses cache.
    9f73ca36 (#12639) #699 covers web/server simulator recovery and stream generation; Pylon mobile's remote agent-device viewer is a different feature. Exclude the upstream embedded mobile simulator hunk until Pylon adds an embedded simulator stream.
    c07575f5 (#11062) #757 delivers prose/code at natural boundaries; #857 handles tool-boundary flushing. Defer upstream MessagesTimeline smooth-follow and LegendList DOM-move patch until a scroll-jump or streamed-block flicker reproduces in Pylon, then require web/mobile visual evidence.
    68fb7f4b (#13302) #817 adopted Pylon-branded per-environment provider status/update controls. Exclude T3 release-index/EAS workflow. Defer mobile server-update targeting until Pylon has its own release lookup and target policy; docs/user/updating.md currently directs server updates to web/desktop.

    The pending-PR labels in the local 481-row matrix are historical: the referenced Pylon PRs are no longer open. Do not count these labels as remaining GitHub PRs or advance reviewed-through before the remaining mixed-fix implementation and generic deferral triggers are reconciled.

  22. rynfar commented on Sep 27, 2026

    @rynfar
    CollaboratorAuthor

    Frozen-cycle deferral trigger refinement (2026-09-27). These are reviewed product boundaries, not hidden pending PRs:

    Source Current Pylon decision; observable revisit condition
    c0ddfb3a81 / af2baccd10 (#11433/#11474) Retain Pylon's Agents CTA and folded-turn grouping for now. Reassess the upstream expandable in-chat worker row as a coherent pair if a Relay/native subagent run cannot be inspected from the CTA, or maintainers choose inline worker inspection. Verify folded-turn placement and keyboard/mobile behavior together.
    db6e0531e4 (#11367) Defer upstream GitHub multi-account routing. Revisit when Pylon supports two authenticated GitHub identities for the same environment or a concrete operation selects the wrong account; decide credential authority and server/web contract before porting.
    f26198d799 / 5e961d3d7f (#11542/#11672) Retain Pylon's connections settings layout. Revisit alongside the GitHub account-routing decision or a reproducible environment-to-account selection failure; then compare the complete settings flow, including mobile and remote environments.
    3b75e607eb (#8606) Retain one-use worktree pairing tokens. Revisit only with an explicit repeated-pairing workflow and an approved reusable credential lifetime/revocation design; do not silently change authentication semantics.
    cba7dd7781 (#9194) Retain the local desktop backend. Revisit when Pylon defines a remote-only desktop mode, including startup, offline recovery, and profile ownership.

    For narrower deferred fixes: 592021f008 (collapsed thought grouping) needs a demonstrated lost/duplicated thought in a Pylon folded tool group; d7736e06b6 needs a narrow-viewport menu/popover overflow reproduction; e0649ed7d8 and 53830d4134 need measured cross-platform startup/bundle cost; 151324b2c0 needs a long-list/tick performance profile and a legacy-list policy; 5bf43c9f3d needs a Pylon menu alignment reproduction. Each can then be assigned as a bounded implementation unit. The Relay CTA trigger is especially relevant to the reported orchestration UX and remains an active check, not a claim of parity.

  23. rynfar commented on Sep 27, 2026

    @rynfar
    CollaboratorAuthor

    Source 24b711b7 (#11593) follow-up: Pylon PR #862 is open at 0ab82f457ac508ab14cc546d115e00c8ca3b314f, awaiting final-head CI. Independent adversarial review found a response-body privacy leak and lost HTTP status on a failed body stream in its first head; both were fixed and re-reviewed. The final patch gives status-specific Forgejo 409/422 guidance while preserving 401/403/404/429 classification. It deliberately does not display upstream's raw Forgejo rejection body, whose arbitrary text could disclose secrets; the precise rejection reason therefore remains excluded. The separate web model-picker/dialog hunks are being assessed with isolated visual evidence. This source remains partial; #862 does not close the frozen-cycle cursor by itself.

  24. rynfar commented on Sep 27, 2026

    @rynfar
    CollaboratorAuthor

    Frozen 481-source matrix reconciliation at Pylon 5319f67fd3cdaa2ae6a86a6e75e1c4b09d2402cc (2026-09-27): all 27 rows still labeled pending_pr/pending_pr_partial refer to merged Pylon PRs. They are source-disposition rows, not 27 open PRs. Final labels below use A = adopted with Pylon adaptation; P = partial with the stated remaining scope. The matrix's historical labels are superseded by this durable issue record; reviewed-through remains unchanged pending cycle closure.

    Source(s) Merged PR(s) Final disposition / remaining scope
    d547e3b12a, e3c85ead63 #788 A. Effect/Alchemy prerequisite landed; relay deployment is separate.
    6fd68f5c3e #798 A. Forgejo workflow landed; live account proof remains an acceptance limit.
    03950089ff #815 P. Viewed marks apply to displayed complete diffs; reopen for a concrete truncated/binary/ambiguous viewer requirement.
    823119350e #832 P. Pylon remote mobile stream architecture retained; Android secure-context/WebCodecs need supported-runtime proof.
    9118b6d3e8, 4c61e3d7ec #760 A. Native patches landed; physical-device proof is separate.
    ca864a25b1 #765 A.
    438465d6b7 #835 P. Auto hue and generic native icon retained; revisit if custom native icon parity is requested.
    6f7aaffe26, 7a368fe7c4 #835 A.
    52e4b44293 #771, #774, #788 A. Effect/Alchemy residual resolved; packaged desktop update proof remains separate.
    68fb7f4b85 #817 P. Mobile server-update targeting is absent by Pylon release policy; revisit after Pylon-owned release lookup and target authorization are defined. Current mobile directs server updates to web/desktop.
    6b0a04ade0, 5781b5240b #845 P only for upstream sidebar notice presentation; receipt-backed Undo and Mod+Z are implemented and tested. Revisit sidebar presentation on an observed UX problem.
    5423ba0fd0 #842 P. Composer landed; viewed-file layout/Forgejo summary divergence retained until a concrete UI problem.
    e33b710d5f #840 A.
    eff44be433 #787 A.
    2a47fc905a #794 A, excluding Oh My Pi by explicit product decision.
    68c2277f50 #844, #846 A. Web/mobile large paste landed; runtime/provider proof is separate.
    21d53ca2ee #824 P. Ignored/lazy browse landed; page sorting is not a snapshot. Revisit on large or changing-directory failure.
    17f8e2a8ac, 564719165e #841 P/A respectively. Observed-only widgets landed; no background quota polling. Revisit Android inexact alarm or dynamic-type behavior on device reproduction.
    3be02ae579 #830 A. Native picker replaces upstream calendar.
    7cafe52bb8 #843 P. Manual title CAS landed; automatic first-turn refinement would add a model call and remains a product/cost choice.
    a62e7d670c #843 P. Structured warning landed; provider-link execute/decode refactor waits for a concrete failure or adoption of its 08ab dependency.
    26b8f985d8 #840 P. iPad shortcuts/palette landed; RowPressable/list retirement/link-scheme pieces need a demonstrated gesture/navigation failure or list policy change.

    Separate mixed source 24b711b7f9 (#11593) is not one of the 27: #770 iOS and #862 Forgejo status guidance have merged; #863 web tooltip/dialog is still open at 6542a7a084d36d7b3f8bb28ab5c7e2f603300a6f. Raw Forgejo rejection text stays excluded for privacy, and global icon z-index raises require an overlay reproduction.

  25. rynfar commented on Sep 27, 2026

    @rynfar
    CollaboratorAuthor

    Frozen-source #11593 follow-up (2026-09-27): #862 merged at 5319f67fd3cdaa2ae6a86a6e75e1c4b09d2402cc and #863 merged at dd4e28b4fce7e8e9bbadad780b716339b0eb33af. Both had independent adversarial review and green final-head CI. #863 has isolated before/after browser evidence on the PR; actual Electron pointer interaction was not exercised. Source #11593 now has its iOS terminal fix (#770), safe Forgejo 409/422 status guidance (#862), and model-picker shortcut/dialog no-drag fixes (#863). Exact Forgejo rejection-body text remains excluded for privacy, and the two global icon z-index raises remain deferred until an overlay failure reproduces. This is a deliberate partial adoption, not verbatim source parity.

    The live open PR queue is again 0. The 481-source frozen-cycle review cursor has not been advanced yet; an independent closure audit is checking all remaining dispositions and triggers. The 96 locally recorded newer T3 commits remain outside this frozen batch.

  26. rynfar commented on Sep 27, 2026

    @rynfar
    CollaboratorAuthor

    Additional frozen-source dispositions from the independent cursor audit (2026-09-27). These supersede tentative labels in the original local matrix; they do not yet advance the cursor.

    Source Final source decision and observable trigger
    5d9e27a596 (#12403) Pylon adopted the optional context-reference renderer in #697. The upstream queued timeline card is absent because Pylon does not use that activity-group queue presentation. Defer that card-specific citation rendering until Pylon adopts a queued timeline card or a user can reproduce missing citations in a Pylon queued-message surface. Then reuse UserMessageBody with Pylon context ownership.
    dfbb11bdd7 (#12377), 22539f2a42 (#12147) Both remain deferred with the full provider thinking-trace/activity-group decision 052c7ae53e (#11784, DEF-18). Revisit when Pylon resolves orchestration-v2/activity-group timeline adoption; preserve provider event privacy, persisted projection, disclosure ownership, and reduced-motion behavior. Neither isolated preview/grouping patch is a stand-alone port.
    9051ed9c39 (#11842) Adopted with Pylon adaptation in merged #836. Diff headers, changed-files tree, and file browser offer environment-scoped Open/Reveal/Open with; Pylon retains its own editor RPC, capability gates, and browser fallback. No omitted source behavior identified. Isolated browser interaction evidence was not captured before merge; that is an acceptance limit, not an unimplemented source hunk.
    9686cd9afe (#12143) Adopted with Pylon theme ownership in merged #837. Web/desktop command palette has theme and appearance choices, color previews, and shortcuts; mobile theme ownership remains separate. No omitted source behavior identified. Live browser/keyboard evidence was not captured before merge; that is an acceptance limit, not an unimplemented source hunk.

    The Android symbol source 6deac7a924 (#12316) is being implemented as a bounded fix; it remains open until its PR is reviewed and merged or an explicit product disposition is recorded. The old Forgejo exclusions and #11593 scope are superseded by the later #736 comments covering #798/#861/#862/#863.

  27. rynfar commented on Sep 27, 2026

    @rynfar
    CollaboratorAuthor

    Source 6deac7a924 (#12316) scope correction: Pylon's earlier #776 covered arrow.down only. PR #864 is open at 8941490964dfab0fb35166a39dc14e7c50c7777f with six Android symbol mappings used by current Pylon callers (text.alignleft, mic, circle, exclamationmark.circle, merge, smartphone). Independent review traced the file-menu symbols through AndroidAnchoredMenu and found no blocking issue; final-head CI is pending. The upstream Agent behavior settings row itself is absent in Pylon, so that row is excluded unless Pylon adopts an Agent behavior settings surface. The broad upstream symbol-type rewrite is unnecessary for current callers. Android device rendering cannot be verified here because device_list reports no Android SDK/emulator; this is an acceptance limit, not proof of native appearance. Keep this source partial until #864 merges and record the settings-row trigger then.

  28. rynfar commented on Sep 27, 2026

    @rynfar
    CollaboratorAuthor

    PR #864 merged at f0559dde1fe8fde9badffbb4d8b5ec4b7679b8d0 after independent adversarial review and green final-head CI. For source 6deac7a924 (#12316), Android now maps the six symbols used by current Pylon callers. The upstream Agent behavior settings row is absent in Pylon and remains a deliberate partial-source exclusion; revisit if Pylon adds that settings surface. Android runtime appearance remains unverified because this host has no Android SDK or emulator. The frozen 481-source ledger now has no identified unclassified SHA or unassigned partial behavior; cursor advancement is being recorded in a separate review-index PR, not inferred from this comment alone.

  29. rynfar commented on Sep 27, 2026

    @rynfar
    CollaboratorAuthor

    Cycle complete. PR #866 merged at 415c6683f3f4156002d44b3ae05375cf11fe0fee after independent ledger audit and green final-head CI, advancing .agents/upstream-review.md reviewed-through to e67abcf798f8c4d8458755e3b4dde02c2c1f628b. The seven source tables contain all 481 unique SHAs in the frozen range; later comments reconcile merged PRs, partials, deferrals and concrete revisit triggers. The open PR queue against pylon is zero.

    This is a review-decision cursor, not an adopted-through marker. Deliberate limits remain recorded here: Oh My Pi rejected/closed, raw Forgejo rejection text excluded for privacy, mobile server-update targeting and automatic title refinement deferred for product decisions, upstream Agent behavior settings absent, and Android icon runtime appearance unverified because this host has no Android SDK/emulator. No release or physical device installation occurred.

    The successor cycle #865 owns the newly frozen e67abcf..ab099178 range (127 sources at fetch). Later T3 arrivals are outside that bound.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions