Skip to content

Upstream integration cycle: September 27 frozen post-cutoff review #865

Description

@rynfar

Successor to #736. Frozen T3 range: e67abcf798f8c4d8458755e3b4dde02c2c1f628b..ab099178a7b7f9728843e90fc95ed90bb61d710d (127 source commits at the 2026-09-27 fetch). Starting Pylon head: f0559dde1fe8fde9badffbb4d8b5ec4b7679b8d0; the pylon PR queue was empty at freeze. This issue is the disposition owner for the next bounded cycle; it starts after #736's review-index closure lands. Later T3 arrivals belong to a later range and do not silently enlarge this one.

Classify every source against the final Pylon behavior and prior decisions, then group compatible fixes by subsystem and dependency. A source count is not a missing-fix count. Preserve Pylon product identity, Prime/provider ownership, event-sourced orchestration, Stop/cancellation, remote access, mobile runtime, and release policy. Oh My Pi remains explicitly excluded; do not reopen or merge it. Record adopted, covered, superseded, deliberately excluded, and deferred scope with an observable revisit trigger for each partial/deferred source. Track implementation and adversarial review in linked PRs. No broad T3 merge or ancestry change.

Priority from the first 15 commits already read-only triaged before this freeze: cdb26fe63549df633751ab0eed145b9357b30a21 (#13388) fixes Antigravity Stop for commands that outlive a turn. Verify against Pylon's session/prompt locks and Stop receipts before adapting. The remaining 112 source commits are not yet classified by this issue.

Workflow: isolated task worktrees from fresh origin/pylon, focused regression tests and scoped checks, independent adversarial review, final-head CI, and UI/device evidence where applicable. Merge only under the maintainer's standing approval and green checks. Record runtime proof limits rather than claiming untested devices. Keep this issue's source dispositions current; advance .agents/upstream-review.md only when every source and partial has an authorized outcome.

Activity

  1. rynfar commented on Sep 27, 2026

    @rynfar
    CollaboratorAuthor

    First implementation unit assigned: T3 cdb26fe63549df633751ab0eed145b9357b30a21 (#13388), Antigravity Stop for commands that outlive a turn. Pylon adapter has additional prompt/recovery ownership, so this is a selective adaptation with focused lifecycle tests and independent adversarial review. No source adoption is claimed until a reviewed PR merges.

  2. rynfar commented on Sep 27, 2026

    @rynfar
    CollaboratorAuthor

    Next bounded candidate after #13388: a36af0637a63ebf316beb5db5670be226df01cbc (#13504) changes splitBufferedAssistantText so headings/bold section titles wait for following content. Pylon currently has the natural-boundary splitter from the prior cycle but lacks these title rules. This is read-only triage, not an adoption claim; it needs its own focused regression and adverse cases (lists/code fences/partial headings). #867 remains under adversarial review and is not merged.

  3. rynfar commented on Sep 27, 2026

    @rynfar
    CollaboratorAuthor

    PR #867 is open for Antigravity idle Monitoring Stop. Independent adversarial review found a ProviderService incarnation race on its first head: recovery could replace the old session identity before consuming the old stopped-task receipt. The PR is being revised with a cross-layer receipt fence and regression; do not treat the first head as ready or the source as adopted. No merge has occurred.

  4. rynfar commented on Sep 27, 2026

    @rynfar
    CollaboratorAuthor

    Another bounded candidate from the frozen early slice: e759847f932c0de08261ec98a5fac3bae037120f (#13386). Current Pylon ACP runtime still closes the assistant segment on every ToolCallUpdated before deciding whether the update is emitted; upstream distinguishes a first tool boundary from later progress so one answer stays intact. This is ACP-provider scope (not evidence that it causes the maintainer’s separate Claude issue). Review after #867, with segment-order and bounded-state regressions. No adoption claim yet.

  5. rynfar commented on Sep 27, 2026

    @rynfar
    CollaboratorAuthor

    Read-only candidate from this frozen range: 87d84280192195b338e27acf2333771a13d04e61 (#13469) prevents malformed OTEL_RESOURCE_ATTRIBUTES from killing server/desktop startup. Pylon still has the pre-fix shared OtelEnvironment.load and OTLP layer wiring, so this is applicable in principle. Adoption should preserve Pylon's existing T3CODE_OTEL_SDK_DISABLED compatibility and verify invalid encoded attributes fall back safely without leaking attribute values in warnings; no PR or adoption claim yet. #867 remains the current implementation/review gate.

  6. rynfar commented on Sep 27, 2026

    @rynfar
    CollaboratorAuthor

    ACP progress boundary source e759847f932c0de08261ec98a5fac3bae037120f (#13386): selective Pylon port prepared in #868 at 28b97b9cd56143eada35b646d897d7a9e31e4237. The runtime now separates prose only when a new tool is shown; later progress and completion updates preserve one assistant item. Focused ACP test (21 passed), server typecheck, scoped lint and formatting pass. Regression includes an active call aged out of the 256-ID recent cache. Pending independent adversarial review and final-head CI; source remains unadopted until merge.

  7. rynfar commented on Sep 27, 2026

    @rynfar
    CollaboratorAuthor

    PR #868 revised at 3d4fa44c10e2957f3a7c086ef5e8633b123e2ab1 after independent review found a Pylon Prime boundary mismatch. ACP now tags the exact tool update that starts an assistant boundary; Prime clears final-response evidence only for that boundary. A deterministic regression covers background completion after the final answer with no later text; the existing tool-only warning case still passes. Focused ACP and Prime tests: 27 passed; server typecheck, scoped lint and formatting pass. Final-head CI and renewed review remain pending; no merge or adoption claim yet.

  8. rynfar commented on Sep 27, 2026

    @rynfar
    CollaboratorAuthor

    Disposition for frozen source cdb26fe63549df633751ab0eed145b9357b30a21 (#13388): adopted with Pylon-specific receipt ordering in merged PR #867, merge commit 324d708c5c5d5a076e2c722bc635e96109f19d79. Idle Antigravity Stop now closes a session with promoted background commands so their task-stopped receipts are emitted. ProviderService holds replacement-session admission until it has consumed the old terminal event; independent review found and verified fixes for timeout, concurrent Stop, and recovery-swap races. Final-head CI and 219 focused tests passed. A missing terminal receipt fails closed after 15 seconds; recovery requires a later exit or adapter replacement/server restart. The timeout does not bound a native teardown that itself hangs, and these harness tests did not exercise a real Antigravity process.

  9. rynfar commented on Sep 27, 2026

    @rynfar
    CollaboratorAuthor

    Read-only disposition for frozen source ffb5fcce7336f9b3d5bde3a5f496a816907663af (#13363): covered by Pylon's different Codex reset-credit flow. T3 changed its post-redemption re-probe gate to reject an unconfirmed refresh only when the native outcome is reset; an alreadyRedeemed answer survives re-probe failure. In current Pylon CodexDriver.consumeResetCredit, the native outcome is retained when the direct limits read fails and returned with a warning; a failed snapshot.refresh also adds a warning rather than replacing the outcome. This preserves alreadyRedeemed and reports uncertainty for reset without an unsupported success claim. No cherry-pick needed. Revisit if the Pylon flow adopts T3's hard confirmation gate or a regression shows the native outcome being lost after a failed read.

  10. rynfar commented on Sep 27, 2026

    @rynfar
    CollaboratorAuthor

    Disposition for frozen source 7cfb4987fe27da3e1d4e86abacae3a1fc12af5bb (#13473): deliberately excluded. It only changes two Macroscope check-run agent configurations to GPT-6 Sol at max effort. Pylon currently pins separate check models/effort, and the maintainer explicitly asked to reduce agent usage during catch-up. This is a CI cost/quality policy choice, not a missing product fix. Revisit if the maintainer requests a check-agent model/effort change with cost and quality evidence; do not silently adopt T3's max-effort setting.

  11. rynfar commented on Sep 27, 2026

    @rynfar
    CollaboratorAuthor

    Frozen source a36af0637a63ebf316beb5db5670be226df01cbc (#13504): selective Pylon port prepared in #869 at 00a50ea254. Streamed ATX headings and standalone bold titles now wait for following paragraph, list item, or completed code fence; an unindented heading can still release the preceding paragraph. Pylon terminal flush and bounded-buffer safety valve are preserved. Focused ingestion tests: 135 passed, including partial heading, list, bold paragraph, and open/closed fence cases; server typecheck, scoped lint, formatting, and diff checks passed (lint retains a pre-existing unused-import warning). Pending adversarial review and final-head CI; source is not claimed adopted until merge.

  12. rynfar commented on Sep 27, 2026

    @rynfar
    CollaboratorAuthor

    Disposition for frozen source e759847f932c0de08261ec98a5fac3bae037120f (#13386): adopted with Pylon consumer correction in merged PR #868, merge commit d126c1468b98bc250613a6ae91987695c268e506. ACP progress or terminal updates for an already shown tool now keep one assistant answer item intact; a newly shown tool still creates a boundary. Independent review found Prime's separate final-response flag would otherwise produce a false warning when a background tool finished after final text; the final patch derives that flag from the ACP runtime's actual boundary decision and adds a downstream regression. Final-head CI, 27 focused ACP/Prime tests, server typecheck, and scoped lint/format passed. This applies to ACP providers and is not proof of the maintainer's separate Claude streaming symptom. Recent shown IDs are bounded to 256; a very late duplicate terminal update after eviction can form another boundary and is retained as a known cache-limit edge, without evidence of a real occurrence.

  13. rynfar commented on Sep 27, 2026

    @rynfar
    CollaboratorAuthor

    Source 87d84280192195b338e27acf2333771a13d04e61 (#13469): adopted in pending PR #870. Pylon keeps T3CODE_OTEL_SDK_DISABLED semantics; malformed resource attributes are ignored with a fixed warning that does not expose values. Focused tests and shared/server/desktop typechecks pass. Disposition remains pending review and merge.

  14. rynfar commented on Sep 27, 2026

    @rynfar
    CollaboratorAuthor

    Disposition for frozen source a36af0637a63ebf316beb5db5670be226df01cbc (#13504): adopted in merged PR #869, merge commit 607cb42bf7164db85dded5faf40b2e1a8c46a9fb. Pylon now holds streamed Markdown headings and standalone bold section titles until content below them reaches a safe boundary, while a new unindented heading can release the completed paragraph above. The existing tool-start/completion flush and bounded-buffer safety valve remain. Independent review found no actionable issue; final-head CI, 135 focused ingestion tests, server typecheck, and scoped lint/format passed. This is a server-side delivery change using existing message events; no separate browser/mobile visual proof was collected.

  15. rynfar commented on Sep 27, 2026

    @rynfar
    CollaboratorAuthor

    Disposition for frozen source 87d84280192195b338e27acf2333771a13d04e61 (#13469): adopted in merged PR #870, merge commit 3b9730b4c7b0ff59d0739d92277b23d040b567a3. Shared OpenTelemetry config now parses OTEL_RESOURCE_ATTRIBUTES once and supplies accepted values to the server and desktop exporter layers; malformed values fall back to an empty set with a fixed warning that never includes attribute contents. Pylon's T3CODE_OTEL_SDK_DISABLED precedence is preserved. Independent review found no actionable issue; final-head CI, 21 focused shared tests (including malformed secret-bearing, empty, encoded, and exporter reread), scoped lint/format, and shared/server/desktop typechecks passed. A full malformed-env server/desktop startup was not directly exercised; that is the acceptance limit, not an omitted code path.

  16. 112 remaining items

  17. added a commit that references this issue on Sep 30, 2026
  18. rynfar commented on Sep 30, 2026

    @rynfar
    CollaboratorAuthor

    Historical native cleanup verified; class-source disposition corrected

    Fresh Pylon landing head is 29895cefb31c9fabd714785f15c24d60cf18d7e4. #944, #945 and #946 are now merged; merge ancestry verified. The goal remains active. Cursor e67abcf798f8c4d8458755e3b4dde02c2c1f628b, original bound ab099178a7b7f9728843e90fc95ed90bb61d710d (127 sources), and successor 0fcd5f90611451cca842689faea53b5450c022da (32 sources) remain unchanged. No T3 refetch or cursor advancement.

    PR #947 is open at 2058f9a267bbd210b4f527f94a87889e0bf09578, with all final-head checks green. It fully ports historical source bed0b4cdad41408bb09b445a0a8f8ea0e5b62d1b (#13148), previously held in #736 for native dependency verification. The old 0.5.0 archive is the exact upstream blob 8fafc3896813974532ce67ef0969b487045aa8d3, not an independently modified Pylon artifact. The npm-only override is unused by pnpm/EAS. Remove it, the archive, the redundant direct Metro runtime dependency, and its release-smoke fixture reference.

    Before/after frozen installs resolve the same native-markdown 0.5.8 package, patch hash 642b47830730acff3761fe29cf54271d18b493c0070c750097850b7ea032e00c, and installed md4c source SHA256 e28b5cd9268fe7964ad4636ef174a51e6f467d92c8cc73d220fe0ada48f88893. The generated lockfile changes match the complete upstream cleanup without version changes. iOS/Android production bundles pass before and after; both development bundles pass after. Mobile and scripts typechecks pass with incremental caches disabled, as do the temporary-fixture release smoke and scoped lint/format/diff checks. Initial typecheck errors from missing isolated dependencies and their incremental cached diagnostics were corrected; no code changes were needed. JavaScript bundling is not a native device-build claim. Developer merge approval has been requested; not inferred from green checks.

    PR #948 is open at 470de1b2399446996a0ecffefcba46698e3eef47, with CI running. It corrects #945's inaccurate whole-source skip for 80fc23ac32cd8fe5011a94420cff1f469367f1fc. All 32 changed paths now have named dispositions in the PR body and recovery evidence. #944 ports the four invalid font-heading removals, transition-shadow fix, and code color tokens. The rest are explicitly retained Pylon styling or lint-driven static-prop/data-marker refactors; the two new shadcn rules stay excluded while the plugin is absent. Current marker writers/selectors and panel/skeleton dimensions match. Both retained stage focus-offset classes generate CSS with pinned Tailwind. This is a partial adoption with exclusions, not a claim of identical upstream rendering. Documentation-only; no client rendering claim. #948 remains unmerged pending final CI and developer approval.

    Latest recovered open heads:

    PR Head State
    #934 17213535deef31162d101c889832f6fa454e8a80 Check fails; product decision still held
    #937 08c284a0f52877a468014a563507d8464623f719 Green; production relay decision still held
    #939 9cf29c5e96bd0fcf852d174b04a4adc9e35dd9e8 New head/CI pending; other agent separately fixes readiness fixture to a global 0.156 mock version
    #941 5eb6575b7f26b6ebdd9951dfafb8f15e521f9303 Green; local manifest/product decision still held
    #943 6dee2421919b9de839ec61cdc2c6fd8ee58dcd3e Green; separate configurable readiness fixture repair, prior approval question still pending

    #946 repairs the relay deploy workflow's command and change gate; the prior claim that bootstrap is still unfixed is stale. #937 changes relay code, so its production-deploy boundary still applies. Preserve external-agent work and the canonical dirty model manifest. #943 remains open; #939's separate fixture change is not a merge approval or a product disposition.

    Remaining work still includes held product groups, historical triggers/partials, full semantic review of the Effect port 568c9bc4d0ef0dddf74d813619c9877bd35624d7, and named verification gaps. Existing source inventories and historical records are retained; no stale numeric count is used as a completeness claim. No release, EAS build, device installation, or live-profile test.

    Workflow: review-t3-upstream skill. Same-machine recovery snapshots remain under the common Git directory's agent-handoffs/t3-upstream/; current intact worktrees are the first continuation choice.

  19. added a commit that references this issue on Sep 30, 2026
  20. rynfar commented on Sep 30, 2026

    @rynfar
    CollaboratorAuthor

    Cycle closed

    The maintainer decided the remaining groups on 2026-09-30. Merged: #939 (Codex protocol; floor 0.156 and legacy-history rollback removal approved), #937 (Connect tunnel cleanup, reaper shipped off), #941 (Sonnet 5.5 with Pylon's dedicated profile; GPT-6 Sol no longer current). Deferred: DEF-19 banked resets (draft #934), DEF-20 managed ChatGPT authentication, device panel 3D with 78af372cf4. Skipped with triggers: desktop background sync, OpenCode v2 marker.

    The relay deploy triggered by #937 succeeded (run 36750732431, applied infrastructure changes) — the first successful production relay deploy since 2026-09-26, after #946 fixed the bootstrap command and limited the trigger to infra/relay/.

    Ledger closure #949 advances the cursor to 0fcd5f90611451cca842689faea53b5450c022da. Two upstream commits have landed since; they belong to the next cycle. No release or installation.

    Model: Claude Opus 5.5. Harness: Claude Code in Pylon. Workflow: review-t3-upstream skill.

  21. rynfar commented on Sep 30, 2026

    @rynfar
    CollaboratorAuthor

    Post-closure reconciliation: Effect audit and independent historical guard

    Fresh landing head is b5a607e8af0127943ac9a782866e0f3187b3c757. #937/#939/#941/#949 are merged and their commits are ancestors of this head. The maintainer decisions recorded by #949 resolve the prior eight-group questions. #865 is closed and the repository cursor is now 0fcd5f90611451cca842689faea53b5450c022da. Preserve the original frozen 127+32 source/path inventories for provenance; no T3 refetch by this continuation. Closing this bounded cycle does not finish the broader catch-up goal: historical corrections and new arrivals still need handling.

    New PR #950 at 14b13ae81b826e77c6ec4d00463cb6506929eb7f independently ports the wrong-environment config guard from historical 3b75e607eb909522a8f5562fb40e44efc72bb66c (#8606). The original whole-source reusable-token deferral had also left this client guard out. Found through source568's RPC path: current readiness accepts config whose environment ID differs from the prepared connection. Four focused cases reproduce that failure before the fix. With the port, all24 RPC session tests and66 related supervisor/session/server-state tests pass. Shared/custom subscriptions fail, config reads/probes reject, no extra RPC reaches the wrong host, and each owned socket closes for primary/bearer/relay/SSH targets. Client-runtime typecheck/scoped lint/format/diff pass. No auth token, persistence, provider or wire-schema change; reusable dev tokens stay deferred. First-config-per-attempt protection, not ongoing host reauthorization. All16 final-head checks are green (14 successes,2 skips), no inline/review findings, and the PR is mergeable. Developer approval requested; not inferred from green CI.

    #943 is now CLOSED unmerged, superseded for its CI-repair purpose by merged #939's separate supported0.156 fixture change. All9 registry-readiness tests pass from fresh Pylon without #943; its configurable0.159 branch remains preserved. This does not claim the two implementations are identical.

    #947 and #948 remain OPEN, green at their unchanged heads 2058f9a267bbd210b4f527f94a87889e0bf09578 and 470de1b2399446996a0ecffefcba46698e3eef47. Both are mergeable after #949. Their prior developer-approval questions remain pending. #948's32-path partial class-source correction is still necessary: #949 retains the inaccurate whole-source skip row. #947's complete historical native cleanup remains prepared; no native-device result is inferred from its bundles.

    Effect source 568c9bc4d0ef0dddf74d813619c9877bd35624d7 semantic review is complete. Read the full194-file #944 Pylon diff and reconcile all174 original source paths. Pinned Effect 4.0.0-rc.115 source proves Option/undefined/decode aliases, selective-catch propagation, ignore success-value behavior and Deferred constructor equivalence. 82 source files normalize exactly under only these primitive equivalences;384/470 source change blocks match #944 exactly after indentation normalization. Every residual source block and Pylon adaptation was manually reviewed. These counts measure review coverage, not feature adoption. No behavior fault found in landed #944. Preserve hasInterrupts vs hasInterruptsOnly, including mixed causes; ignore helpers only replace already-void/discarded results; traversal constructors have stable inputs/lazy side effects and retain concurrency/order/discard. Owned abort controllers, finalizers, worker drains, receipts, Prime fences, pairing, migration lineage and schemas remain unchanged.

    All71 changed Pylon test files were checked:53 normalize exactly under the limited helper rules;18 remaining files were manually reviewed with no removed/weakened assertions. Separate focused runs at the current client/server tree pass483 tests across20 files, with12 existing desktop platform-dependent skips: reactor cancellation/drains, checkpointing, ACP cancellation, replay guards, source-control/VCS, browser-session cleanup/preview/keychain/WSL/backend, relay state, RPC, ACP/Codex notifications and Codex adapter relay validation. No live Prime proof, rendered client, Windows device, native device, live account, release or installation was performed. This complements earlier eight-package typechecks and CI rather than treating them as semantic proof.

    The23 source paths that #944 did not modify have these explicit dispositions. Syntax-only changes in absent/held features do not import those features. The RPC exception is prepared in #950.

    Source path Disposition
    apps/desktop/src/preview/BrowserImport/FirefoxCookies.ts Retain the equivalent two typed mapError sites; snapshots, readonly SQL layer, default-container filter and pure row mapping are unchanged. No whole-reader refactor required.
    apps/desktop/src/updates/DesktopUpdates.ts Retain generator + named withSpan rather than Effect.fn; expected-version, quitting and install result behavior is identical. Pylon update ownership stays intact.
    apps/server/src/auth/http.test.ts Absent upstream test; its sole change is a succeedNone helper in an unused fixture. No HTTP auth behavior in this hunk.
    apps/server/src/cloud/CliTokenManager.ts The upstream device-token polling flow is absent in Pylon, which has its independent loopback/out-of-band authorization. The hunk only changes Option wrapping; do not replace the authentication flow.
    apps/server/src/cloud/managedTunnelStartup.ts Retain equivalent retry/catch expression now landed in #937: retryable guard and optional exhausted-window callback preserve retry schedule, terminal failure and recovery ordering.
    apps/server/src/device/deviceToolMaintenance.ts Absent maintenance module; hunk only yields the existing typed error directly. Do not import the separate upstream maintenance design for this syntax change.
    apps/server/src/diagnostics/TraceDiagnostics.ts Already covered: current Pylon uses forEach over rotated paths with concurrency 1, preserving oldest-first aggregation and result/error handling.
    apps/server/src/orchestration/decider.pullRequests.test.ts Retain decodeUnknownEffect, the exact pinned decodeEffect alias, in command/event fixtures. Tests retain real schema decoding.
    apps/server/src/provider/Drivers/CursorDriver.ts Retain flatMap usage guard: query only enabled, installed, authenticated instances. Pylon identity stamp and maintenance remain intact.
    apps/server/src/provider/Drivers/GrokDriver.ts Retain flatMap usage guard and Pylon email/account identity enrichment. Upstream filterOrElse negates the same three conditions.
    apps/server/src/provider/Layers/claudeResetCredits.ts Absent on product branch; feature remains DEF-19/draft #934. orElseSucceed syntax does not justify importing the private account-changing endpoint.
    apps/server/src/pullRequest/GitHubPullRequestCli.ts Retain equivalent empty-search fallback guard and includeDetails handling. Pylon detail reads use gh pr view directly; the upstream truncated GraphQL fast-path fallback has no corresponding branch to rewrite.
    apps/server/src/storageCleanup.ts Absent with historical c4ca1b0f94e56bd93899704f03015d51948a6b4d; #736 later hold requires worktree/remote-host lease and recovery design. catchCauseIf syntax is not adoption of deletion behavior.
    apps/server/src/textGeneration/ThreadTitleLinks.ts Absent with historical 08abda9dcf6fee89561f861004efb48bad665df2: pre-generation provider lookup still requires host/auth/latency/capability assessment. URL.canParse and fallback syntax do not implement that feature.
    infra/relay/src/agentActivity/LiveActivities.test.ts Retain equivalent all(map(Effect.flip)) with concurrency 1. Assertions and delivery operations are identical.
    infra/relay/src/clientConfig.test.ts Absent upstream deployment fixture; removing wrapper generators does not add Pylon deployment behavior.
    infra/relay/src/environments/ManagedEndpointAllocations.ts Retain equivalent None/Some wrappers around lock-protected operation. No allocation, lock, ownership or generation behavior change.
    infra/relay/src/environments/ManagedEndpointProvider.test.ts Retain equivalent Option helper fixtures, including lost-claim and repeated-lock cases. No weakened assertion.
    infra/relay/src/environments/ManagedEndpointProvider.ts Retain equivalent DNS null failure, missing-result bypass and deprovision Option wrapping. #937 owns later tunnel recovery changes; original scope/generation guards remain.
    packages/client-runtime/src/rpc/session.ts Found a historical missing initial-environment guard from 3b75e607eb909522a8f5562fb40e44efc72bb66c (#8606). Prepared independent partial port #950, using source568 filterOrFail. Readiness/config/probes and both subscription forms reject mismatch; reusable dev tokens remain deferred. Not landed yet.
    packages/client-runtime/src/state/pullRequestRouting.ts Absent cross-environment router. catchIf is an equivalent rewrite of the existing upstream failover predicate; do not import a separate routing implementation for syntax parity.
    packages/contracts/src/settings.ts StorageCleanupSettings default is absent with the held cleanup feature; decodeSync is the exact pinned decodeUnknownSync alias, not a new settings contract.
    packages/effect-codex-app-server/src/client.ts Covered by current #939: notification handlers already use Effect.ignore and have void success contracts; typed error swallowing and defect/interruption propagation remain unchanged.

    Full174-path recoverable review matrix follows. Primitive is exact pinned-helper AST equivalence; Manual includes complete residual hunks and callers. 944 means that path appears in the adapted Pylon diff; Exception means the explicit table above controls its outcome. Actual194-path adoption includes independent Pylon adaptations and source80 UI hunks, so it is not verbatim174-path upstream adoption.

    Upstream path Review Pylon disposition reference
    apps/desktop/src/app/DesktopAppIdentity.test.ts Primitive 944 adapted
    apps/desktop/src/app/DesktopConnectionCatalogStore.test.ts Primitive 944 adapted
    apps/desktop/src/app/DesktopConnectionCatalogStore.ts Primitive 944 adapted
    apps/desktop/src/backend/DesktopBackendConfiguration.ts Manual 944 adapted
    apps/desktop/src/backend/DesktopBackendManager.test.ts Primitive 944 adapted
    apps/desktop/src/backend/DesktopBackendPool.test.ts Manual 944 adapted
    apps/desktop/src/backend/DesktopLocalEnvironmentAuth.test.ts Primitive 944 adapted
    apps/desktop/src/electron/ElectronMenu.ts Primitive 944 adapted
    apps/desktop/src/ipc/methods/snapShot.test.ts Primitive 944 adapted
    apps/desktop/src/ipc/methods/sshEnvironment.ts Manual 944 adapted
    apps/desktop/src/ipc/methods/window.test.ts Primitive 944 adapted
    apps/desktop/src/ipc/methods/wsl.test.ts Primitive 944 adapted
    apps/desktop/src/preview/BrowserImport/ChromiumKeys.ts Manual 944 adapted
    apps/desktop/src/preview/BrowserImport/FirefoxCookies.ts Manual Exception above
    apps/desktop/src/preview/BrowserSession.ts Manual 944 adapted
    apps/desktop/src/preview/Manager.ts Manual 944 adapted
    apps/desktop/src/settings/DesktopClientSettings.ts Primitive 944 adapted
    apps/desktop/src/settings/DesktopSavedEnvironments.test.ts Primitive 944 adapted
    apps/desktop/src/snapShot/DesktopSnapShot.ts Manual 944 adapted
    apps/desktop/src/ssh/DesktopSshPasswordPrompts.test.ts Primitive 944 adapted
    apps/desktop/src/telemetry/DesktopTelemetryPublisher.ts Manual 944 adapted
    apps/desktop/src/updates/DesktopUpdates.ts Manual Exception above
    apps/desktop/src/updates/updatesTestHarness.ts Manual 944 adapted
    apps/desktop/src/window/DesktopApplicationMenu.test.ts Primitive 944 adapted
    apps/desktop/src/window/DesktopWindow.test.ts Primitive 944 adapted
    apps/desktop/src/wsl/DesktopWslBackend.ts Primitive 944 adapted
    apps/desktop/src/wsl/DesktopWslEnvironment.ts Manual 944 adapted
    apps/server/integration/orphanedProviderSessionStartup.integration.test.ts Primitive 944 adapted
    apps/server/src/assets/AssetAccess.ts Primitive 944 adapted
    apps/server/src/assets/NativeAppIconResolver.ts Primitive 944 adapted
    apps/server/src/auth/PairingGrantStore.test.ts Primitive 944 adapted
    apps/server/src/auth/ServerSecretStore.ts Manual 944 adapted
    apps/server/src/auth/dpop.ts Manual 944 adapted
    apps/server/src/auth/http.test.ts Primitive Exception above
    apps/server/src/checkpointing/CheckpointDiffQuery.test.ts Primitive 944 adapted
    apps/server/src/cli/theme.ts Manual 944 adapted
    apps/server/src/cloud/CliTokenManager.ts Primitive Exception above
    apps/server/src/cloud/ManagedEndpointRuntime.test.ts Primitive 944 adapted
    apps/server/src/cloud/http.test.ts Primitive 944 adapted
    apps/server/src/cloud/http.ts Manual 944 adapted
    apps/server/src/cloud/managedTunnelStartup.ts Manual Exception above
    apps/server/src/cloud/selfUpdate.test.ts Primitive 944 adapted
    apps/server/src/desktopUpdate/DesktopAppUpdate.ts Primitive 944 adapted
    apps/server/src/device/DeviceHubProxy.ts Manual 944 adapted
    apps/server/src/device/DeviceService.ts Manual 944 adapted
    apps/server/src/device/LocalDeviceHost.ts Manual 944 adapted
    apps/server/src/device/deviceToolMaintenance.ts Manual Exception above
    apps/server/src/diagnostics/TraceDiagnostics.ts Manual Exception above
    apps/server/src/environment/ServerEnvironment.test.ts Primitive 944 adapted
    apps/server/src/environment/ServerEnvironment.ts Manual 944 adapted
    apps/server/src/environment/ServerEnvironmentLabel.ts Primitive 944 adapted
    apps/server/src/environment/ServerEnvironmentMachine.ts Manual 944 adapted
    apps/server/src/git/GitManager.ts Manual 944 adapted
    apps/server/src/git/linkCreatedPullRequest.test.ts Primitive 944 adapted
    apps/server/src/keybindings.test.ts Manual 944 adapted
    apps/server/src/mcp/McpHttpServer.test.ts Primitive 944 adapted
    apps/server/src/mcp/McpInvocationContext.ts Manual 944 adapted
    apps/server/src/mcp/McpSessionRegistry.ts Primitive 944 adapted
    apps/server/src/mcp/toolkits/preview/handlers.ts Manual 944 adapted
    apps/server/src/orchestration/Layers/CheckpointReactor.ts Manual 944 adapted
    apps/server/src/orchestration/Layers/OrchestrationEngine.test.ts Primitive 944 adapted
    apps/server/src/orchestration/Layers/OrchestrationEngine.ts Manual 944 adapted
    apps/server/src/orchestration/Layers/ProviderCommandReactor.ts Manual 944 adapted
    apps/server/src/orchestration/Layers/ProviderRuntimeIngestion.ts Manual 944 adapted
    apps/server/src/orchestration/Layers/ThreadDeletionReactor.ts Manual 944 adapted
    apps/server/src/orchestration/PullRequestSyncReactor.ts Manual 944 adapted
    apps/server/src/orchestration/ThreadPullRequestReactor.ts Manual 944 adapted
    apps/server/src/orchestration/ThreadSettlementReactor.ts Manual 944 adapted
    apps/server/src/orchestration/commandInvariants.ts Manual 944 adapted
    apps/server/src/orchestration/decider.pullRequests.test.ts Primitive Exception above
    apps/server/src/orchestration/decider.ts Manual 944 adapted
    apps/server/src/orchestration/workflowScriptQuery.ts Manual 944 adapted
    apps/server/src/persistence/AuthPairingLinks.ts Primitive 944 adapted
    apps/server/src/persistence/AuthSessions.ts Primitive 944 adapted
    apps/server/src/persistence/Layers/ProjectionTurns.ts Primitive 944 adapted
    apps/server/src/persistence/ProviderSessionRuntime.ts Primitive 944 adapted
    apps/server/src/project/AgentSessionImporter.test.ts Primitive 944 adapted
    apps/server/src/project/AgentSessionScanner.ts Primitive 944 adapted
    apps/server/src/project/ProjectFaviconResolver.ts Primitive 944 adapted
    apps/server/src/project/RepositoryIdentityResolver.ts Manual 944 adapted
    apps/server/src/project/T3ProjectFileLoader.ts Primitive 944 adapted
    apps/server/src/provider/AntigravityInstallation.ts Primitive 944 adapted
    apps/server/src/provider/Drivers/AntigravitySkills.ts Manual 944 adapted
    apps/server/src/provider/Drivers/CursorDriver.ts Manual Exception above
    apps/server/src/provider/Drivers/GrokDriver.ts Manual Exception above
    apps/server/src/provider/Layers/AntigravityAdapter.ts Primitive 944 adapted
    apps/server/src/provider/Layers/ClaudeAdapter.test.ts Primitive 944 adapted
    apps/server/src/provider/Layers/ClaudeAdapter.ts Manual 944 adapted
    apps/server/src/provider/Layers/CodexAdapter.test.ts Primitive 944 adapted
    apps/server/src/provider/Layers/CodexSessionRuntime.ts Manual 944 adapted
    apps/server/src/provider/Layers/GrokAdapter.ts Manual 944 adapted
    apps/server/src/provider/Layers/OpenCodeAdapter.test.ts Primitive 944 adapted
    apps/server/src/provider/Layers/OpenCodeAdapter.ts Manual 944 adapted
    apps/server/src/provider/Layers/ProviderService.test.ts Primitive 944 adapted
    apps/server/src/provider/Layers/ProviderService.ts Primitive 944 adapted
    apps/server/src/provider/Layers/ProviderSessionDirectory.ts Primitive 944 adapted
    apps/server/src/provider/Layers/claudeResetCredits.ts Manual Exception above
    apps/server/src/provider/Layers/cursorUsageLimits.ts Manual 944 adapted
    apps/server/src/provider/Layers/grokUsageLimits.ts Manual 944 adapted
    apps/server/src/provider/ModelManifest.ts Manual 944 adapted
    apps/server/src/provider/acp/AcpSessionRuntime.ts Manual 944 adapted
    apps/server/src/provider/antigravityAuthSupport.ts Manual 944 adapted
    apps/server/src/provider/makeManagedServerProvider.ts Primitive 944 adapted
    apps/server/src/provider/providerInstallation.ts Manual 944 adapted
    apps/server/src/pullRequest/GitHubPullRequestCli.ts Manual Exception above
    apps/server/src/pullRequest/GitLabPullRequestCli.ts Manual 944 adapted
    apps/server/src/pullRequest/PullRequestReadCache.ts Primitive 944 adapted
    apps/server/src/pullRequest/PullRequestService.test.ts Manual 944 adapted
    apps/server/src/pullRequest/PullRequestService.ts Primitive 944 adapted
    apps/server/src/relay/AgentAwarenessRelay.test.ts Primitive 944 adapted
    apps/server/src/resourceTelemetry/HostResources.ts Manual 944 adapted
    apps/server/src/server.test.ts Manual 944 adapted
    apps/server/src/serverRuntimeStartup.reconcile.test.ts Manual 944 adapted
    apps/server/src/serverRuntimeStartup.test.ts Primitive 944 adapted
    apps/server/src/serverRuntimeStartup.ts Manual 944 adapted
    apps/server/src/serverRuntimeState.ts Primitive 944 adapted
    apps/server/src/sourceControl/GitHubCli.test.ts Manual 944 adapted
    apps/server/src/sourceControl/SourceControlProviderRegistry.ts Manual 944 adapted
    apps/server/src/storageCleanup.ts Manual Exception above
    apps/server/src/telemetry/Identify.ts Primitive 944 adapted
    apps/server/src/terminal/Manager.ts Manual 944 adapted
    apps/server/src/textGeneration/AntigravityTextGeneration.ts Primitive 944 adapted
    apps/server/src/textGeneration/CodexTextGeneration.test.ts Manual 944 adapted
    apps/server/src/textGeneration/CodexTextGeneration.ts Manual 944 adapted
    apps/server/src/textGeneration/ThreadTitleLinks.ts Manual Exception above
    apps/server/src/usage/UsageService.ts Manual 944 adapted
    apps/server/src/vcs/GitVcsDriver.ts Manual 944 adapted
    apps/server/src/vcs/GitVcsDriverCore.ts Manual 944 adapted
    apps/server/src/vcs/VcsStatusBroadcaster.ts Manual 944 adapted
    apps/server/src/ws.ts Primitive 944 adapted
    apps/web/src/connection/platform.ts Primitive 944 adapted
    apps/web/src/connection/storage.ts Primitive 944 adapted
    infra/relay/src/agentActivity/LiveActivities.test.ts Manual Exception above
    infra/relay/src/clientConfig.test.ts Manual Exception above
    infra/relay/src/environments/ManagedEndpointAllocations.ts Manual Exception above
    infra/relay/src/environments/ManagedEndpointProvider.test.ts Manual Exception above
    infra/relay/src/environments/ManagedEndpointProvider.ts Manual Exception above
    packages/client-runtime/src/authorization/layer.test.ts Primitive 944 adapted
    packages/client-runtime/src/connection/registry.test.ts Primitive 944 adapted
    packages/client-runtime/src/connection/resolver.ts Manual 944 adapted
    packages/client-runtime/src/connection/supervisor.test.ts Primitive 944 adapted
    packages/client-runtime/src/connection/supervisor.ts Primitive 944 adapted
    packages/client-runtime/src/platform/storageDocument.test.ts Primitive 944 adapted
    packages/client-runtime/src/relay/discovery.test.ts Manual 944 adapted
    packages/client-runtime/src/relay/discovery.ts Manual 944 adapted
    packages/client-runtime/src/relay/managedRelay.ts Manual 944 adapted
    packages/client-runtime/src/relay/managedRelayState.ts Manual 944 adapted
    packages/client-runtime/src/rpc/session.test.ts Manual 944 adapted
    packages/client-runtime/src/rpc/session.ts Manual Exception above
    packages/client-runtime/src/state/pullRequestRouting.ts Manual Exception above
    packages/client-runtime/src/state/pullRequests.test.ts Manual 944 adapted
    packages/client-runtime/src/state/server.test.ts Primitive 944 adapted
    packages/client-runtime/src/state/serverUsage.test.ts Primitive 944 adapted
    packages/client-runtime/src/state/session.ts Primitive 944 adapted
    packages/client-runtime/src/state/shell-sync.test.ts Primitive 944 adapted
    packages/client-runtime/src/state/sourceControl.test.ts Primitive 944 adapted
    packages/client-runtime/src/state/threads-atoms.test.ts Primitive 944 adapted
    packages/client-runtime/src/state/threads-pagination.test.ts Primitive 944 adapted
    packages/client-runtime/src/state/threads-sync.test.ts Primitive 944 adapted
    packages/client-runtime/src/state/vcs.test.ts Primitive 944 adapted
    packages/client-runtime/src/state/vcsAction.test.ts Primitive 944 adapted
    packages/contracts/src/pullRequest.test.ts Primitive 944 adapted
    packages/contracts/src/rpc.test.ts Primitive 944 adapted
    packages/contracts/src/settings.ts Primitive Exception above
    packages/effect-acp/src/client.ts Manual 944 adapted
    packages/effect-acp/src/protocol.ts Manual 944 adapted
    packages/effect-codex-app-server/src/_internal/shared.ts Primitive 944 adapted
    packages/effect-codex-app-server/src/client.ts Manual Exception above
    packages/effect-codex-app-server/src/schema.test.ts Primitive 944 adapted
    packages/shared/src/httpReadiness.ts Manual 944 adapted
    packages/shared/src/relayClient.ts Manual 944 adapted
    packages/shared/src/relayTracing.ts Primitive 944 adapted
    packages/shared/src/schemaJson.ts Primitive 944 adapted
    tsconfig.base.json Manual 944 adapted

    Next: finish #950 CI/bot review and request concrete merge approval; retain existing approval requests for #947/#948; audit remaining triggered historical partials; then freeze and account for post-cursor arrivals in a separate cycle. Do not treat #949's cursor advancement or current green checks as the broader goal being achieved. Canonical dirty model manifest and other-agent worktrees remain untouched.

    Model: GPT-6. Harness: Codex in Pylon. Workflow: review-t3-upstream skill.

  22. rynfar commented on Sep 30, 2026

    @rynfar
    CollaboratorAuthor

    The broader upstream catch-up goal remains active after cycle #865 was closed by #949. This continuation preserves the approved reviewed-through cursor 0fcd5f90611451cca842689faea53b5450c022da, original frozen 127+32 source inventories, and existing exclusions/maintainer decisions. Fresh Pylon is b5a607e8af0127943ac9a782866e0f3187b3c757; no T3 refetch or cursor change was performed.

    Newly triggered historical mobile dependency group

    Draft #951, exact head 397616b07519c5a1100d4f20181c0a34cecedc8a, now prepares:

    Source Prepared behavior Source paths
    151324b2c0bf0ace789820b8ea4ec8ceb55753d9 (#13149) Home v2 recycler; per-row clock/outbox/move/header/divider equality; batch reorder availability; provider cache; recycled snooze identity All 9 accounted
    525af2d1ad4b6de847ea658c37a081fd7afe8ef6 (#13702) Viewport swipe activation; dormant row frames; deferred activation while list fingers remain down All 5 accounted
    595a1e1f537f403eba408817c2aba35e61c2ac29 (#13705) Draw distance 1,000 after dormant rows Its 1 path accounted

    The old historical note incorrectly treated legacy-list retirement as a prerequisite for #13149: the final source explicitly preserves both list modes. The Pylon port keeps legacy mode, an independent v2 list reference, split-view keyboard behavior, Plan Ready/progress, multi-environment provider routing, queued-turn snooze expiry/ownership, outbox holds and receipt-backed reorder locks. #928 explicitly deferred the latter two sources because #13149 was absent; those recorded dependencies are now prepared in code, not considered landed. Adjacent legacy deletion sources 0c91f687de606f62e157209f34e6aa74744b555a and aca3c87cdbfb59ea5ed52fe2df82df508d57eb31 remain excluded. The iPad sidebar keeps live swipes while sharing item stamps/equality and batch availability. No dependency/native-module/wire/persistence change.

    Verification: 137 focused tests pass; 4,000 pinned and 4,000 active randomized parity cases match Pylon's existing planner. Mobile typecheck passes; scoped lint has no errors but retains React compiler advisories; formatter/diff pass. Final code exports production and development JavaScript for both iOS and Android. Upstream's running-without-active-turn fixture was adapted to Pylon's deliberate idle semantics; idle timestamp and Plan Ready get additional coverage. All relevant substantive upstream review findings were checked against the final source: stale stamps/sheet/colon IDs/rewrite cases are fixed; numeric touch and earlier2,000 draw-distance suggestions were withdrawn and match our declarations/final source.

    CPU-only evidence on Node24.13.1: actual Pylon planner/key algorithms vs source batch helper, parity before timing, warmup and five-sample medians. At1,000rows: keyed137.05→1.04ms; keyless329.66→1.00ms; hidden mixed hosts228.94→1.53ms. These are development-host order-calculation measurements, not native FPS/render/memory claims.

    Still required for #951: explicit isolated Simulator computer-use approval is pending. The historical deferral retains the Pylon list-profiling requirement, and contribution instructions require before/after images plus an interaction video. No Simulator/browser/device session was started. Need native long-list/reverse/programmatic/accessibility scrolling; swipes/taps/long-press afterflings; recycled custom snooze dismissal; shelves; outbox icons; pending reorder lock/recovery; legacy↔v2, with Android/iPad limitations explicit. Native proof, final-head CI/findings and developer merge approval remain required before readiness/landing. No EAS/release/deploy/install was performed by this continuation.

    Final-head CI is now complete: all16 checks green at397616b07519c5a1100d4f20181c0a34cecedc8a (14 success,2 intentional skips), mergeable. The PR remains draft for native proof; no posted reviews/findings as of this checkpoint. Green CI is not native gesture evidence or developer approval.

    Other pending work retained

    Machine recovery: clean/pushed /private/tmp/pylon-mobile-home-performance-20260930, branch codex/mobile-home-performance, based freshPylonb5a607. All 12 proposed files were inspected, and the previously interrupted merge conflicts are resolved. Preserve the canonical user's dirty apps/server/src/provider/model-manifest.json and all other worktrees. No test backend, Simulator, Metro or live-data process was launched. Local source/path matrix, complete source/adaptation diffs, 159-source recovery, CPU data and verification logs are saved in a verified snapshot under commonGit agent-handoffs/t3-upstream/; the intact #951 worktree is the first recovery choice.

    Workflow: review-t3-upstream and test-pylon-mobile. Do not report fully caught up while approved work/native evidence/new arrivals remain.

  23. rynfar commented on Sep 30, 2026

    @rynfar
    CollaboratorAuthor

    Resumed completeness audit after interruption; checked freshly fetched Pylon b5a607e8af0127943ac9a782866e0f3187b3c757. Preserve #949's closure and reviewed-through 0fcd5f90611451cca842689faea53b5450c022da, the original 127-source bound ab099178a7b7f9728843e90fc95ed90bb61d710d, and the separately frozen 32-source successor. The broader catch-up goal remains active. No upstream refetch or cursor reset in this continuation.

    New Pylon-specific gap and prepared fix

    Draft #952, final head eb96179a93df65c651d2cec4a9c264f69d1201dc, adds the per-thread auto-settle switch to Pylon's retained legacy mobile Home/sidebar rows and the v2 Archive fallback menu. All 16 final-head CI checks are green (14 successful, 2 intentional skips), mergeable, and no reviews, inline findings or PR comments were posted at the final check. It remains a draft pending isolated native menu verification and before/after images.

    The full 42-path source/adaptation review for T3 0109670411d13b9e380766e98b386b2f756ecf5b (#11846) maps every source path to merged #931, including source migration 054→Pylon 067. Thirty-six changed-line sequences match after indentation trimming/path mapping; the six residual sequences are test grouping/extensions, migration loader/test numbering and user documentation clarification. Commands/events, SQL projections and all snapshot shapes, policy/reactor candidate checks and sequence fencing, importer user-activity guard, shared live/cached reducers, web/desktop checked menus and environment-gated mobile callbacks are accounted for. The uncovered behavior was a retained Pylon-only mobile entry point.

    #952 verification: 93 focused tests across four mobile files pass; compact/sidebar component regressions fail before the fix and pass after. Tests cover checked-state updates, off/on dispatch to the current environment/thread after row reuse, capability removal/restoration and Archive preservation. Mobile typecheck with incremental reuse disabled, scoped formatting/diff and production iOS/Android JavaScript exports pass. Scoped lint exits successfully with React compiler advisories in existing Home/sidebar code. This is code/JavaScript-bundle proof, not native rendering or a deployment.

    Reconciled source records

    All 159 unique frozen sources and 1,283 source/path entries are retained, with explicit source decisions, abbreviated identifiers uniquely resolved to frozen SHAs, sanitized source-linked PR bodies and verified merge ancestry. Seventy-two of the 77 source-linked PRs queried are merged into the checked Pylon head; that is evidence about implementation records, not a count of missing behaviors. Cross-references do not imply adoption or whole-source parity. Partial exclusions and deferred triggers remain intact.

    These 13 historical missing/pending labels are stale because their source implementation records have merged. Read each PR for adaptations and remaining verification limits:

    Source Historical label Verified merged implementation
    ab70c8943f48c08e67e3597f62941c169bc58c16 confirmed missing; compatible port pending 935 — b056357acb
    fd996d15e220144ac6e66670169aa87d074ce846 pending PR #921 921 — e49e8c6b2e
    2598ce7a5ab0b25e32e0b67b084a9ec23cd8144f pending PR #921 921 — e49e8c6b2e
    6989856aa630611dd7d6dcc8cfe9f97456816284 confirmed missing; compatible port pending 926 — d3eb44d3e6
    fe6388f01d5ae9f9db43079c6f5b2c31869067ca confirmed missing; compatible native port pending 933 — 69555e54e5
    294dd123410c77eead2810a052c31fb0cfd3e0c1 pending PR #921 921 — e49e8c6b2e
    81e0491d2bdec153bf1ee12d4e1deab3909b7428 confirmed missing; compatible native port pending 933 — 69555e54e5
    74ee5153e05eb183dabec413ff9025d83d2058e4 pending PR #921 921 — e49e8c6b2e
    ed57bed8e71b2e89a9350c94bda0dacc71cd4817 confirmed missing; compatible port pending 926 — d3eb44d3e6
    38f3c62304bfe79ea6c9f75a17afb732b555f48d pending PR #920 920 — 2081f0bd97
    88fbc2cac77ff2bf0d406c44754ecd8014976f5f confirmed missing; compatible port pending 924 — 77574cedb1
    55ec55b1fb2e65f2736ff8420ae0373210c1911e confirmed missing; compatible port pending 924 — 77574cedb1
    050cfad04f673fb092630614b8f7e82000b43ea5 pending PR #923 923 — da775924ec

    Also completed the coherent 14-path ab70c8943f48c08e67e3597f62941c169bc58c16 / 6f97b0f66a51fbafabd54a5616da8827ebdf6020 review against #935. Twelve changed-line sequences match; the remaining composer and mobile-import adaptations preserve Pylon's task dismissal, delegated work, drawer/width behavior and retained legacy list. Both delayed-status keys preserve environment/thread identity. Raw sync status still drives loading behavior; delayed status only drives presentation, and hook cleanup cancels timers. Shared sorting computes keys once and preserves timestamp/id ordering. Existing #935 recorded 211 shared/web and 78 mobile tests are reused; no new rendered timing claim. The separately skipped uncapped desktop subscription source 99641fd09a509feb644b3c8ef718c12c60cf436c remains excluded.

    Remaining work and recovery

    Clean/pushed #952 worktree: /private/tmp/pylon-mobile-legacy-auto-settle-20260930, branch codex/mobile-legacy-auto-settle, base b5a607e8af. Same-machine recovery snapshot: .git/agent-handoffs/t3-upstream/codex-auto-settle-20260930-194423/ (local path, not a second adoption ledger), containing the complete proposed patch/all seven changed files, complete source/adaptation diffs, 42-path and 14-path dispositions, 159-source reconciliation, exact final-head checks and focused verification logs. Use the intact worktree first. Canonical dirty model-manifest and all other worktrees are preserved. No owned runtime processes remain; no release, deployment or installation performed.

    Workflow: review-t3-upstream skill; native computer-use boundary from AGENTS.md remains in force.

  24. rynfar commented on Sep 30, 2026

    @rynfar
    CollaboratorAuthor

    Continuation of the broader upstream catch-up goal — theme partial reconciled against current Pylon.

    Checked freshly fetched origin/pylon at b5a607e8af0127943ac9a782866e0f3187b3c757. Preserve #949 closure and reviewed-through 0fcd5f90611451cca842689faea53b5450c022da; the frozen 127 + 32 sources and 1,283 source/path rows remain intact. This continuation did not refetch T3 or reset the cursor.

    The old 315fcca10a partial is now covered by merged #942 (fb960a7e9b1878e4bde7bcb5faa1a1a7f06f70bd) plus prior #908, with its lint exclusion retained. Reviewed the coherent theme group: 315fcca10a826d8aa1cbdffc3ef5b5eb5a1e2f9d (28 paths), f26ee083fe41720207fb10616359500dcecc19d3 (109), and ed809f7ad274ebccdfbf029ccfd7ff2582fd486a (8). All 145 source/path rows have a recorded assessment. No additional compatible behavior gap was found in this group.

    Evidence: complete source/Pylon diffs; added-line presence triage (116/145, not parity by itself); 130 changed TypeScript files compared structurally with appearance literals masked (115 equal); all 399 changed literals in those files classified by use context, including 19 indirect class/test contexts; all 15 structural residual files and CSS delta reviewed. Pylon retains its shared-Button ComposerControl, independent editor/chips, work-log/compaction controls, grid and multi-environment actions, and 8px initials avatar. Absent upstream stale-label/header, reasoning-row and glass-badge blocks are named explicitly. The final provider badge sizes are 7px/8px, correcting intermediate appearance-migration sizes. shadcn/no-raw-colors and shadcn/no-arbitrary-values remain excluded because Pylon lacks @shadcn/lint.

    Verification on the unchanged web code in clean #952 worktree: production web build passed; 102 focused theme, composer and provider tests in six files passed. Compiled CSS includes all four extra font sizes/line heights, seams/shadows/easing, attachment mask, starting-style, reduced-motion overrides and WCO clearance. Nine class-merge scenarios using the actual current initializer/function preserve font/color and badge overrides. Prior #942's 6,079 web tests/typecheck/scoped lint/format evidence is reused; no repository-wide checks rerun. Scratch harness corrections: the native TypeScript 7 package has no JavaScript parser, so the syntax audit uses installed TypeScript 6; class-merge CJS loading and the expected replacement of an earlier leading class by a later font-size token were corrected before the nine checks passed.

    Limits: no rendered web/Electron/custom-theme pass, and no native/browser/device operation. Stash/capture transitions retain reduced-motion guards; the provider-pill finite countdown has no such guard before or after this source, so the PR body should not be read as proof that all three are guarded. This is inherited behavior, not a missing port. Visual/client evidence remains unverified.

    Fresh exact-head PR states: #918 and #919 are merged with green checks. #947 2058f9a267bbd210b4f527f94a87889e0bf09578, #948 470de1b2399446996a0ecffefcba46698e3eef47, and #950 14b13ae81b826e77c6ec4d00463cb6506929eb7f remain open, mergeable, all 16 checks green (14 success / 2 intentional skips); their earlier developer-approval requests remain unanswered. Draft #951 397616b07519c5a1100d4f20181c0a34cecedc8a and draft #952 eb96179a93df65c651d2cec4a9c264f69d1201dc are likewise green/mergeable, with native evidence pending previously requested isolated Simulator computer-use permission. No permission is inferred from silence. #943 remains closed unmerged/superseded; #934 remains a deferred draft under DEF-19 owned by another worktree.

    Next work: remaining historical partial assessments, authorized merges/native proof, then separately freeze/account for later arrivals. This continuation has not independently enumerated the two post-cursor commits mentioned by the external closure. Fully caught up is not claimed. No new implementation PR was needed for this theme review; no release/deploy/device installation was performed. Canonical dirty model manifest and all other worktrees are preserved.

    Local evidence is theme-final-path-dispositions.json, syntax/context/CSS/class-merge records and verification logs in the shared recovery snapshot referenced by CURRENT.md. Broader goal remains active.

    Workflow: review-t3-upstream skill. Model: GPT-6. Harness: Codex.

  25. rynfar commented on Sep 30, 2026

    @rynfar
    CollaboratorAuthor

    Upstream completeness checkpoint — remaining historical partials and usage presentation follow-up (2026-09-30).

    Preserve external #949 closure, reviewed-through 0fcd5f90611451cca842689faea53b5450c022da, original bound ab099178a7b7f9728843e90fc95ed90bb61d710d, all 159 frozen source records and 1,283 source/path rows. Broader catch-up goal remains active; no T3 refetch or cursor reset in this continuation. Fresh origin/pylon remains b5a607e8af0127943ac9a782866e0f3187b3c757.

    • Marketing 53456bc0129f61325dbaa498e2399c33b4360cb8: all four source paths assigned. fix(marketing): update OpenCode provider mark #888 OpenCode SVG remains byte-identical to source; Pylon marketing still has no Antigravity entry, so that recorded trigger is unmet. No new compatible gap.
    • Terminal 1a0c915c41024ddb47e16befd9fc730c1173af02: all nine source paths assigned. fix(terminal): close completed setup shells safely #896 successful-setup cleanup and its stricter sentinel/PID/input/output/write-lock ownership remain intact; 95 current focused manager/setup tests pass. General settlement cleanup remains deferred until reliable command-completion/idle-prompt evidence exists; absence of children cannot distinguish active shell builtins or exec. No ordinary-terminal closure added.
    • Usage e5a46d6c5d00b89afba5274a94d42428c8d79763: all 43 paths assigned with mixed hunks explicitly split; this does not imply semantic closure. feat(usage): include bounded local OpenCode history #886 local OpenCode reader/service is preserved: six reader tests and one targeted integration pass. External serverUrl history remains unsupported. Pylon richer Antigravity implementation, per-source buckets, volume identity and legacy attribution remain. Maintainer Cursor account-history/Keychain deferral (5857136205) is unchanged.

    The path audit exposed compatible independent presentation hunks previously omitted from that usage disposition. Draft #953, head c97a7442dbcff31b1f649639b0d289bd8159b0df, fixes small positive shares rounding to 0.0% and explains Cursor's two usable pools on web/mobile. Overall stays visible for combined-only accounts from older hosts; unknown windows, account navigation and reset controls stay intact. No dashboard/Keychain/settings/refresh/contract change. All 16 final-head checks green (14 success, two intentional skips), mergeable, no posted reviews/findings. Local verification: 150 focused tests in nine files; four affected-package typechecks; scoped lint/format/diff; production web build and iOS/Android exports. Formatter and real web/mobile entry regressions fail on the base. Required before/after images are outstanding: isolated browser permission newly requested, earlier Simulator permission still pending. Draft is not ready to merge.

    Two additional generic usage hunks remain concrete required work, separate from the privacy deferral and #953: (1) source merge prefers a newer partial scan over an older complete scan; two saved baseline regressions reproduce loss from 10 to 4 for provider-wide and source-attributed summaries. Adapt complete/failed/partial priority and supplemental non-overlapping cells while preserving Pylon identity and legacy approximation. (2) web/mobile do not show individual partial/failed source messages; current environment/loading/error notices do not cover those scan diagnostics. Add generic warnings independently of excluded Cursor-enable prompts. Source/path assignment is not whole-source adoption; do not report this source closed semantically.

    #947/#948/#950 remain OPEN, mergeable, all 16 checks green at unchanged recorded heads; their prior merge-approval requests remain unanswered. #951/#952 remain green drafts, native evidence pending previously requested Simulator permission. #918/#919 are confirmed MERGED. #934 remains deferred under DEF-19; preserve other owners' worktrees. No release, deployment, EAS/device operation, installation, live-account collection, test backend, browser or Simulator launch by this continuation.

    New clean/pushed managed worktree: /Users/rynfar/.codex/worktrees/usage-presentation/pylon, branch codex/usage-presentation, base b5a607e8af. Canonical dirty model-manifest and all other worktrees preserved. Recoverable snapshot will be linked from the shared handoff. Next: generic usage integrity/diagnostic follow-ups, approved merges and client evidence, then separately freeze later arrivals; do not silently expand the frozen ranges.

    Recorded using the repository review-t3-upstream skill. Implemented/reviewed by GPT-6 in Codex.

  26. rynfar commented on Sep 30, 2026

    @rynfar
    CollaboratorAuthor

    Continuation after interruption: broader upstream catch-up goal remains active. Preserve #949 closure and reviewed-through 0fcd5f90611451cca842689faea53b5450c022da. Freshly fetched Pylon remains b5a607e8af0127943ac9a782866e0f3187b3c757. Original 159 source records / 1,283 source-path rows remain intact; no cursor reset or silent expansion.

    The two additional generic usage gaps found in e5a46 are now prepared:

    • fix(usage): retain complete scans when merging partial history #954, open, head 470568f0e4cc8bb60241cdf239c6bdd252653a36: retain complete scans over partial/failed sources and add only attributable, newer unseen supplemental cells, preserving Pylon source buckets, physical volume identity, mixed-version approximation and future-contract rules. Both real client hooks are covered. 82 focused tests pass; before-fix shared/client regressions fail; shared/web/mobile typechecks and scoped lint/format pass. All 16 final-head CI checks green (14 success / 2 intentional skips), mergeable, no review findings. Developer merge approval requested and pending.
    • fix(usage): disclose incomplete provider history scans #955, draft, head 853c697b77d616f78500c7464c9fea7faee38c52: disclose selected source partial/failed history messages and coverage status on web/mobile. 39 focused tests pass; real client before-fix regressions fail; shared/web/mobile typechecks, scoped lint/format, production web build and iOS/Android JS exports pass. Initial test-harness/type failures were repaired and affected checks rerun. All 16 final-head CI checks green, mergeable, no reviews/inline findings; CI thread-transfer report remains within every ceiling. Required UI images await previously requested browser/Simulator computer-use permission. No rendered native/browser/live-account claim.

    Presentation draft #953 remains unmerged; explicit Cursor account-history/Keychain deferral, richer Pylon Antigravity and local-only OpenCode history boundary remain. All 43 e5a46 paths retain their mixed dispositions. Prepared does not mean landed or whole-source adoption.

    Separately frozen newer arrivals: 0fcd5f9061..d5980a0ff1511e6ae1f1876406a7c45a7a989cdb, 7 sources / 32 source-path rows, not two. Every source and path is retained in the recovery inventory:

    Source Subject Current disposition
    c18e5ea6ed741443a8ec4a5d22d4b6939b0ecd21 Diff filename clipping (#14375), 1 path Compatible missing CSS fix; focused web draft next; images pending.
    c2fa9fc911daeac97df4760f95fc57dca42b84c8 Mobile registration copy (#10963), 2 paths Compatible Pylon Connect onboarding copy/alignment; preserve Pylon identity and device-management behavior.
    38969148a23e7a422045be023627c7fbbddf7503 WSL busy fixtures (#14351), 1 path Pylon-preserving test repair underway in isolated codex/wsl-busy-fixtures; retain legacy runtime entry and reverse stale-cache transition.
    35be904f2fc40aa6d7a42778b6895e8274f3097f Vite Plus 1.0 (#14462), 18 paths Compatible tooling candidate, not implemented; needs Pylon lock/config/bench/fixtures/Alchemy-hook compatibility verification.
    792c7dd127865fc542a453ad944b94ae85ead10a Codex Ultrafast bolts (#14479), 4 paths Compatible missing trigger distinction; preserve fallback text, Standard/Flex and Pylon providers.
    0d9468fea907dda747b51204e92ca15b54f81d47 Contribution triage policy (#14480), 3 paths Skipped: upstream repository policy/skill/template, no runtime dependency; Pylon has independent contribution policy. Revisit only explicit Pylon policy request.
    d5980a0ff1511e6ae1f1876406a7c45a7a989cdb Explicit triage exemptions (#14485), 3 paths Skipped: T3-specific exemptions/triage rollout and policy, no runtime dependency. Same explicit-policy-request trigger.

    Complete non-generated source diffs were read; generated tooling lock still requires Pylon regeneration and dependency review. No T3 refetch beyond this frozen bound during continuation. The newer sources are reviewed candidates/exclusions, not a claim of implementation or readiness.

    #918/#919 are confirmed merged, matching the user's explicit approvals. #947/#948/#950 and #954 retain pending merge-approval requests; draft #951/#952/#953/#955 need recorded client evidence. #934 remains the deferred external-owner banked-reset follow-up. Existing exclusions/watch triggers, including Oh My Pi, remain. No implicit approval, direct push to pylon, release/deploy/EAS/device/install or live-state writes. Canonical dirty model manifest and other worktrees preserved.

    Recoverable same-machine snapshot: /Users/rynfar/repos/pylon/.git/agent-handoffs/t3-upstream/codex-usage-integrity-20260930-221156, 70 files plus SHA256SUMS verified, including all 11 changed files from #954/#955, full patches, final-head CI/review records, focused logs (including repaired failures), updated 159-source and 43-path dispositions, separate 7-source/32-path inventory and complete source diffs. Both usage worktrees clean/pushed. The intact worktrees remain first choice. Fully caught up is not claimed.

    Next: finish WSL test repair and its CI, then the remaining compatible arrivals; collect authorized client evidence and land only explicitly approved green PRs. This status update uses the repository review-t3-upstream skill.

  27. rynfar commented on Sep 30, 2026

    @rynfar
    CollaboratorAuthor

    The interrupted catch-up audit has resumed and made additional progress. Preserve #949 closure and original159 source records /1,283 path rows through0fcd; broader goal remains active and fully caught up is not claimed.

    The newer arrivals are now owned by bounded cycle #961: exact 0fcd5f90611451cca842689faea53b5450c022da..d5980a0ff1511e6ae1f1876406a7c45a7a989cdb, 7 sources /32 source-path rows, independently verified against Git and retained separately. Every source and path has an explicit disposition; five compatible ports are prepared/unmerged and two T3-only contribution-policy sources are skipped with explicit-policy-request triggers. #961 contains all full SHAs and32path names for recovery from a fresh clone. No further T3 refetch in this continuation.

    • test(desktop): keep WSL busy fixtures visible under Bash #956 open, fe2d8aeb10c1a66cd545b24c18e178d47c378c35: WSL busy fixtures; all16 final-head checks green. Actual Linux log shows all51 WSL tests pass; local39pass/12platformskips, desktop types/scopedchecks pass. Pylon legacy entry and reverse aged-stale retention/release remain. Holder-specific readiness avoids grep selfmatching; lock-holder FD ownership avoids delaying runtime release. Developer approval requested/pending.
    • Draft fix(web): stop clipping diff filename descenders #957, 5707dc24a640f7851b1c87fe69691d4e2b48a4cb: clipped diff filenames; all16green,3 existing tests/scopedchecks pass,32px metric preserved. UIimages pending permission.
    • Draft fix(web): name Pylon Connect in mobile setup instructions #958, 3039766fe7e72af843538c6476995606ed7b884e: mobile setup copy names install/Pylon Connect, preserves agent activity and notification opt-in; all16green,5 existing management tests/scopedchecks pass. UIimages pending.
    • Draft fix(web): distinguish Codex Ultrafast in trait controls #959, de5fbc993969163609b78617f6eb7bf0a62f3f30: distinct Ultrafast bolt/accessibility, standalone text/Standard/Flex/Pylon controls and providers retained; all16green,65tests5files andwebtypes/scopedchecks pass. Three new display regressions fail on base. Mobile continues native descriptor text. UIimages pending.
    • chore(tooling): upgrade Vite Plus to 1.0 #960 open, 55f5c91b159bcffc493e282a14866575c9341b9f: VitePlus1.0 with Pylon-generated lock via pnpm11.10.0; all17 final-head checks green14success/3intentional skips.106distinctfocusedtests/11benchmarks,5packagetypes/scopedchecks/webbuild pass. Pylon-specific relay startup suite included. Alchemy's version unchanged; two hooks imports patched. Initial CI formatting failure fixed in one pre-existing OpenCode test (only whitespace/optional trailing argument comma). Initial benchmark regular-run invocation and mistyped plugin filter corrected; before/failure and passing logs retained. Frozen reinstall resolves initial transient bin-link warnings. Developer approval requested/pending.

    Clean rebases also refresh older pending PRs onto Pylonb5a607 without widening scope: #947 now 2204eabb999504b379926b93704328e78be894d1, same4file dead archive/Metro dependency cleanup; #948 now d8e1a82339bfc0a0e84513fc70d5957b896005ac, same32path partial-class-lint correction. #948 preserves #949 closure,0fcd cursor and all other ledger content (formatter separator width ignored in content comparison). Both all17 final-head checks green14success/3skip, current transfer reports match exact heads and allceilings, no reviews/inlinefindings. Earlier mergeapproval requests remain pending; no approval inferred from the rebases.

    #950/#954 remain green/open at recorded unchanged heads and await prior approval requests. Drafts #951/#952/#953/#955 remain green and need their named native/browser evidence. Cursor-history/Keychain deferral, richer Antigravity, local-only OpenCode, ordinary-terminal idle proof and other decisions/watches retain original triggers. #934 stays deferred/external-owned. #918/#919 confirmed merged under the user's explicit approvals. No release/deploy/EAS/device/install/browser/Simulator/backend/live-account operation or live-state write; canonical dirty model manifest and other worktrees preserved.

    Recoverable snapshot: /Users/rynfar/repos/pylon/.git/agent-handoffs/t3-upstream/codex-later-arrivals-20260930-224730; all7branch patches/current changed files, 7/32 and159/1283 inventories, scope/rebase evidence, focused and repaired-failure logs, exact-head CI/review states, actualLinux51test log, newcycleissue readback and checksum manifest are saved and verified. Both older and five new task worktrees are clean/pushed; use them before any restoration. No outstanding terminal sessions or owned runtime processes. The snapshot count/checkpoint readback is recorded in shared CURRENT.md.

    Next: pending developer approvals and UI/native computer-use permission/evidence, approved landings, then a separate completion refresh. Preserve new961bound; no fresh unbounded restart. Workflow: repository review-t3-upstream skill.

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