Skip to content

fix(web): surface drafts in the legacy sidebar - #24

Merged
lastobelus merged 1 commit into
lastcode/mainfrom
port/upstream/pr-7120-legacy-sidebar-drafts
Aug 17, 2026
Merged

fix(web): surface drafts in the legacy sidebar#24
lastobelus merged 1 commit into
lastcode/mainfrom
port/upstream/pr-7120-legacy-sidebar-drafts

Conversation

@lastobelus

@lastobelus lastobelus commented Aug 17, 2026

Copy link
Copy Markdown
Owner

Drafts remain in the composer store after navigation, but the legacy sidebar did not render them. That left users with no way to return to an unsent draft while the legacy sidebar was enabled.

This ports pingdotgg/t3code#7120 at pinned head 799ba957f51cd0b48ad8e5020090814318d0388f. It exports the existing SidebarDraftBlock and reuses it above the legacy project list through a small wrapper that supplies project lookup, route state, and navigation. Upstream authorship and the cherry-pick -x provenance trailer are preserved.

Validation

  • LastCode Quick CI passed on Node 24.13.1 at the current head.
  • Focused web typecheck and lint passed.
  • 3 nearby test files passed: 118 tests.
  • Manual isolated-app verification passed for draft appearance, restoration, discard, zero-draft layout, and default-sidebar parity.
  • Responsive verification passed at 465 × 800: selecting the persisted draft restored its exact text and closed the sidebar.
  • Matched desktop and responsive before/after evidence is attached in the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3 Code.

Copy link
Copy Markdown
Owner Author

Visual verification

Desktop

Before — current lastcode/main baseline:

before-matched

After — imported pingdotgg#7120:

after

Responsive (465 × 800)

Before — the legacy mobile sidebar surfaces the persisted draft row:

responsive-before

After — selecting the row restores the exact draft and closes the sidebar:

responsive-after

Drafts created under the legacy sidebar were invisible there: the store
kept them, but only the v2 sidebar rendered rows, so navigating away
lost the way back in and drafts silently piled up in the v2 list.

Reuse the v2 SidebarDraftBlock (now exported) above the legacy projects
list via a self-contained wrapper that supplies project lookups, the
route draft id, and navigation, keeping SidebarProjectsContent's memo
intact. The block renders nothing at count 0, so the empty sidebar is
unchanged.

(cherry picked from commit 799ba95)
@lastobelus
lastobelus force-pushed the port/upstream/pr-7120-legacy-sidebar-drafts branch from 566cb9a to 75c38e3 Compare August 17, 2026 03:41
@lastobelus
lastobelus marked this pull request as ready for review August 17, 2026 03:41
@lastobelus

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Keep them coming!

Reviewed commit: 75c38e34ca

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@lastobelus
lastobelus merged commit 3fdf2e0 into lastcode/main Aug 17, 2026
@lastobelus
lastobelus deleted the port/upstream/pr-7120-legacy-sidebar-drafts branch August 17, 2026 03:54
lastobelus added a commit that referenced this pull request Aug 17, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Aug 17, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Aug 17, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Aug 18, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Aug 19, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Aug 19, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Aug 19, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Aug 22, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Aug 22, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Aug 22, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Aug 22, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Aug 23, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Aug 23, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Aug 24, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Aug 24, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Aug 28, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Aug 28, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Aug 28, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Aug 28, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Aug 28, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Aug 29, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Aug 29, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Sep 1, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Sep 1, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Sep 1, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Sep 1, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Sep 1, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Sep 1, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Sep 1, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Sep 2, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Sep 2, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Sep 2, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Sep 2, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Sep 2, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Sep 2, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Sep 3, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Sep 3, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Sep 3, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Sep 3, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Sep 3, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

## Validation

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Sep 5, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Sep 5, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Sep 5, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Sep 5, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Sep 5, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus added a commit that referenced this pull request Sep 5, 2026
Drafts remain in the composer store after navigation, but the legacy
sidebar did not render them. That left users with no way to return to an
unsent draft while the legacy sidebar was enabled.

This ports
[pingdotgg#7120](pingdotgg#7120)
at pinned head `799ba957f51cd0b48ad8e5020090814318d0388f`. It exports
the existing `SidebarDraftBlock` and reuses it above the legacy project
list through a small wrapper that supplies project lookup, route state,
and navigation. Upstream authorship and the `cherry-pick -x` provenance
trailer are preserved.

- LastCode Quick CI passed on Node 24.13.1 at the current head.
- Focused web typecheck and lint passed.
- 3 nearby test files passed: 118 tests.
- Manual isolated-app verification passed for draft appearance,
restoration, discard, zero-draft layout, and default-sidebar parity.
- Responsive verification passed at 465 × 800: selecting the persisted
draft restored its exact text and closed the sidebar.
- Matched desktop and responsive before/after evidence is attached in
the PR conversation.

Model and harness: GPT-5.6-Sol via the Codex harness in LastCode/T3
Code.

Co-authored-by: VIvidh Mahajan <vividhmahajan@gmail.com>
lastobelus pushed a commit that referenced this pull request Sep 7, 2026
Carry-Group: upstream-bugfixes
Carry-Contribution: {"sourceCommit":"f7e7ab3653928828da416c37a58a47b989daa7cf","subject":"carry(upstream-bugfixes): fix(web): surface drafts in the legacy sidebar (#24)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/24"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7120"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/f44a0e2a1a67daec624e2aa3b07aab8ae96a8088"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"7fc0a88ba083bce3f028664a81fc59f48b9a546f","subject":"carry(upstream-bugfixes): feat(web): filter archived threads by project (#31)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/31"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7282"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/fc3fd563304ff38da4fa23ae4c7aa5a2d2799ff3"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"6f6c0523b215b2d69a7ead8fcad6fecd4f35ef2f","subject":"carry(upstream-bugfixes): fix(web): avoid archive breadcrumb route race (#45)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/45"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7282"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/170f9427de40c815c1fd5498f1e1e3303b8e8c8b"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"4a0e6e2b6b3b63658e9c6eba32d9024ca60bdb88","subject":"carry(upstream-bugfixes): fix(codex): keep finished subagents from pinning Working (#48)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/48"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7848","https://github.com/pingdotgg/t3code/pull/7468"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/14e88be35630ea6ec22e418dfba0b5430010d337"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"8e0f88bb595c6952fc4f21d1a9ac73c7dcf12596","subject":"carry(upstream-bugfixes): fix(server): wait for launchd shutdown safely (#56)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/56"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7874"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/a559ca7edd357116c8263fbbf6c6eeda33bed531"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"7ef50d5c427dfa4c9b2a9555c6fe98dda84669eb","subject":"carry(upstream-bugfixes): fix(codex): retain residual subagent liveness safeguards (#69)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/69"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7468","https://github.com/pingdotgg/t3code/pull/7848","https://github.com/pingdotgg/t3code/pull/7937"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/796a340c3ff98d812d3c2b3f3a636994882ce36d"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"49f77df6e32092d82cbddc89f8ce3f07522cf3bb","subject":"carry(upstream-bugfixes): fix(server): remove large worktrees reliably (#74)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/74"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/3902"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/cdbc2dcabd265fdce9508530517af14d4da5c1cc"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"1a20473427ed4ac9d5353132d7d4cb25957f1610","subject":"carry(upstream-bugfixes): fix(web): keep remote icon visible on hover (#82)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/82"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/8132"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/cbd2a5eb930c53c44f5424d004c54294883323bb"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"a5947c235329af7b75b6e9fd955850e958412687","subject":"carry(upstream-bugfixes): fix(tailscale): preserve occupied Serve handlers (#102)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/102"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/8338"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/bd098650bfd55014e41b4014050c5f61ed131c14"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"54936af5ad0cc6b47052ed5e047287e14e6300b2","subject":"carry(upstream-bugfixes): fix(web): tolerate external project script ids in keybinding commands (#112)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/112"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7961"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/07c165ce8391d442cbe365017c6f33001b5f8f59"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
lastobelus pushed a commit that referenced this pull request Sep 7, 2026
Carry-Group: upstream-bugfixes
Carry-Contribution: {"sourceCommit":"f7e7ab3653928828da416c37a58a47b989daa7cf","subject":"carry(upstream-bugfixes): fix(web): surface drafts in the legacy sidebar (#24)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/24"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7120"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/f44a0e2a1a67daec624e2aa3b07aab8ae96a8088"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"7fc0a88ba083bce3f028664a81fc59f48b9a546f","subject":"carry(upstream-bugfixes): feat(web): filter archived threads by project (#31)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/31"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7282"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/fc3fd563304ff38da4fa23ae4c7aa5a2d2799ff3"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"6f6c0523b215b2d69a7ead8fcad6fecd4f35ef2f","subject":"carry(upstream-bugfixes): fix(web): avoid archive breadcrumb route race (#45)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/45"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7282"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/170f9427de40c815c1fd5498f1e1e3303b8e8c8b"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"4a0e6e2b6b3b63658e9c6eba32d9024ca60bdb88","subject":"carry(upstream-bugfixes): fix(codex): keep finished subagents from pinning Working (#48)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/48"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7848","https://github.com/pingdotgg/t3code/pull/7468"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/14e88be35630ea6ec22e418dfba0b5430010d337"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"8e0f88bb595c6952fc4f21d1a9ac73c7dcf12596","subject":"carry(upstream-bugfixes): fix(server): wait for launchd shutdown safely (#56)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/56"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7874"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/a559ca7edd357116c8263fbbf6c6eeda33bed531"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"7ef50d5c427dfa4c9b2a9555c6fe98dda84669eb","subject":"carry(upstream-bugfixes): fix(codex): retain residual subagent liveness safeguards (#69)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/69"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7468","https://github.com/pingdotgg/t3code/pull/7848","https://github.com/pingdotgg/t3code/pull/7937"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/796a340c3ff98d812d3c2b3f3a636994882ce36d"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"49f77df6e32092d82cbddc89f8ce3f07522cf3bb","subject":"carry(upstream-bugfixes): fix(server): remove large worktrees reliably (#74)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/74"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/3902"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/cdbc2dcabd265fdce9508530517af14d4da5c1cc"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"1a20473427ed4ac9d5353132d7d4cb25957f1610","subject":"carry(upstream-bugfixes): fix(web): keep remote icon visible on hover (#82)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/82"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/8132"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/cbd2a5eb930c53c44f5424d004c54294883323bb"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"a5947c235329af7b75b6e9fd955850e958412687","subject":"carry(upstream-bugfixes): fix(tailscale): preserve occupied Serve handlers (#102)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/102"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/8338"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/bd098650bfd55014e41b4014050c5f61ed131c14"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"54936af5ad0cc6b47052ed5e047287e14e6300b2","subject":"carry(upstream-bugfixes): fix(web): tolerate external project script ids in keybinding commands (#112)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/112"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7961"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/07c165ce8391d442cbe365017c6f33001b5f8f59"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
lastobelus pushed a commit that referenced this pull request Sep 7, 2026
Carry-Group: upstream-bugfixes
Carry-Contribution: {"sourceCommit":"f7e7ab3653928828da416c37a58a47b989daa7cf","subject":"carry(upstream-bugfixes): fix(web): surface drafts in the legacy sidebar (#24)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/24"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7120"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/f44a0e2a1a67daec624e2aa3b07aab8ae96a8088"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"7fc0a88ba083bce3f028664a81fc59f48b9a546f","subject":"carry(upstream-bugfixes): feat(web): filter archived threads by project (#31)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/31"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7282"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/fc3fd563304ff38da4fa23ae4c7aa5a2d2799ff3"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"6f6c0523b215b2d69a7ead8fcad6fecd4f35ef2f","subject":"carry(upstream-bugfixes): fix(web): avoid archive breadcrumb route race (#45)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/45"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7282"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/170f9427de40c815c1fd5498f1e1e3303b8e8c8b"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"4a0e6e2b6b3b63658e9c6eba32d9024ca60bdb88","subject":"carry(upstream-bugfixes): fix(codex): keep finished subagents from pinning Working (#48)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/48"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7848","https://github.com/pingdotgg/t3code/pull/7468"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/14e88be35630ea6ec22e418dfba0b5430010d337"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"8e0f88bb595c6952fc4f21d1a9ac73c7dcf12596","subject":"carry(upstream-bugfixes): fix(server): wait for launchd shutdown safely (#56)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/56"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7874"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/a559ca7edd357116c8263fbbf6c6eeda33bed531"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"7ef50d5c427dfa4c9b2a9555c6fe98dda84669eb","subject":"carry(upstream-bugfixes): fix(codex): retain residual subagent liveness safeguards (#69)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/69"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7468","https://github.com/pingdotgg/t3code/pull/7848","https://github.com/pingdotgg/t3code/pull/7937"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/796a340c3ff98d812d3c2b3f3a636994882ce36d"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"49f77df6e32092d82cbddc89f8ce3f07522cf3bb","subject":"carry(upstream-bugfixes): fix(server): remove large worktrees reliably (#74)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/74"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/3902"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/cdbc2dcabd265fdce9508530517af14d4da5c1cc"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"1a20473427ed4ac9d5353132d7d4cb25957f1610","subject":"carry(upstream-bugfixes): fix(web): keep remote icon visible on hover (#82)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/82"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/8132"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/cbd2a5eb930c53c44f5424d004c54294883323bb"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"a5947c235329af7b75b6e9fd955850e958412687","subject":"carry(upstream-bugfixes): fix(tailscale): preserve occupied Serve handlers (#102)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/102"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/8338"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/bd098650bfd55014e41b4014050c5f61ed131c14"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"54936af5ad0cc6b47052ed5e047287e14e6300b2","subject":"carry(upstream-bugfixes): fix(web): tolerate external project script ids in keybinding commands (#112)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/112"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7961"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/07c165ce8391d442cbe365017c6f33001b5f8f59"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
lastobelus pushed a commit that referenced this pull request Sep 7, 2026
Carry-Group: upstream-bugfixes
Carry-Contribution: {"sourceCommit":"f7e7ab3653928828da416c37a58a47b989daa7cf","subject":"carry(upstream-bugfixes): fix(web): surface drafts in the legacy sidebar (#24)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/24"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7120"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/f44a0e2a1a67daec624e2aa3b07aab8ae96a8088"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"7fc0a88ba083bce3f028664a81fc59f48b9a546f","subject":"carry(upstream-bugfixes): feat(web): filter archived threads by project (#31)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/31"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7282"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/fc3fd563304ff38da4fa23ae4c7aa5a2d2799ff3"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"6f6c0523b215b2d69a7ead8fcad6fecd4f35ef2f","subject":"carry(upstream-bugfixes): fix(web): avoid archive breadcrumb route race (#45)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/45"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7282"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/170f9427de40c815c1fd5498f1e1e3303b8e8c8b"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"4a0e6e2b6b3b63658e9c6eba32d9024ca60bdb88","subject":"carry(upstream-bugfixes): fix(codex): keep finished subagents from pinning Working (#48)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/48"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7848","https://github.com/pingdotgg/t3code/pull/7468"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/14e88be35630ea6ec22e418dfba0b5430010d337"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"8e0f88bb595c6952fc4f21d1a9ac73c7dcf12596","subject":"carry(upstream-bugfixes): fix(server): wait for launchd shutdown safely (#56)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/56"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7874"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/a559ca7edd357116c8263fbbf6c6eeda33bed531"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"7ef50d5c427dfa4c9b2a9555c6fe98dda84669eb","subject":"carry(upstream-bugfixes): fix(codex): retain residual subagent liveness safeguards (#69)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/69"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7468","https://github.com/pingdotgg/t3code/pull/7848","https://github.com/pingdotgg/t3code/pull/7937"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/796a340c3ff98d812d3c2b3f3a636994882ce36d"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"49f77df6e32092d82cbddc89f8ce3f07522cf3bb","subject":"carry(upstream-bugfixes): fix(server): remove large worktrees reliably (#74)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/74"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/3902"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/cdbc2dcabd265fdce9508530517af14d4da5c1cc"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"1a20473427ed4ac9d5353132d7d4cb25957f1610","subject":"carry(upstream-bugfixes): fix(web): keep remote icon visible on hover (#82)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/82"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/8132"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/cbd2a5eb930c53c44f5424d004c54294883323bb"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"a5947c235329af7b75b6e9fd955850e958412687","subject":"carry(upstream-bugfixes): fix(tailscale): preserve occupied Serve handlers (#102)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/102"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/8338"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/bd098650bfd55014e41b4014050c5f61ed131c14"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"54936af5ad0cc6b47052ed5e047287e14e6300b2","subject":"carry(upstream-bugfixes): fix(web): tolerate external project script ids in keybinding commands (#112)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/112"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7961"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/07c165ce8391d442cbe365017c6f33001b5f8f59"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
lastobelus pushed a commit that referenced this pull request Sep 7, 2026
Carry-Group: upstream-bugfixes
Carry-Contribution: {"sourceCommit":"f7e7ab3653928828da416c37a58a47b989daa7cf","subject":"carry(upstream-bugfixes): fix(web): surface drafts in the legacy sidebar (#24)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/24"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7120"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/f44a0e2a1a67daec624e2aa3b07aab8ae96a8088"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"7fc0a88ba083bce3f028664a81fc59f48b9a546f","subject":"carry(upstream-bugfixes): feat(web): filter archived threads by project (#31)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/31"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7282"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/fc3fd563304ff38da4fa23ae4c7aa5a2d2799ff3"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"6f6c0523b215b2d69a7ead8fcad6fecd4f35ef2f","subject":"carry(upstream-bugfixes): fix(web): avoid archive breadcrumb route race (#45)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/45"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7282"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/170f9427de40c815c1fd5498f1e1e3303b8e8c8b"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"4a0e6e2b6b3b63658e9c6eba32d9024ca60bdb88","subject":"carry(upstream-bugfixes): fix(codex): keep finished subagents from pinning Working (#48)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/48"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7848","https://github.com/pingdotgg/t3code/pull/7468"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/14e88be35630ea6ec22e418dfba0b5430010d337"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"8e0f88bb595c6952fc4f21d1a9ac73c7dcf12596","subject":"carry(upstream-bugfixes): fix(server): wait for launchd shutdown safely (#56)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/56"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7874"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/a559ca7edd357116c8263fbbf6c6eeda33bed531"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"7ef50d5c427dfa4c9b2a9555c6fe98dda84669eb","subject":"carry(upstream-bugfixes): fix(codex): retain residual subagent liveness safeguards (#69)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/69"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7468","https://github.com/pingdotgg/t3code/pull/7848","https://github.com/pingdotgg/t3code/pull/7937"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/796a340c3ff98d812d3c2b3f3a636994882ce36d"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"49f77df6e32092d82cbddc89f8ce3f07522cf3bb","subject":"carry(upstream-bugfixes): fix(server): remove large worktrees reliably (#74)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/74"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/3902"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/cdbc2dcabd265fdce9508530517af14d4da5c1cc"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"1a20473427ed4ac9d5353132d7d4cb25957f1610","subject":"carry(upstream-bugfixes): fix(web): keep remote icon visible on hover (#82)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/82"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/8132"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/cbd2a5eb930c53c44f5424d004c54294883323bb"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"a5947c235329af7b75b6e9fd955850e958412687","subject":"carry(upstream-bugfixes): fix(tailscale): preserve occupied Serve handlers (#102)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/102"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/8338"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/bd098650bfd55014e41b4014050c5f61ed131c14"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"54936af5ad0cc6b47052ed5e047287e14e6300b2","subject":"carry(upstream-bugfixes): fix(web): tolerate external project script ids in keybinding commands (#112)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/112"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7961"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/07c165ce8391d442cbe365017c6f33001b5f8f59"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"7d57d8bf7e17f7d59208ce29a2f66b3acbb42693","subject":"test(web): align script shortcut fixtures with external IDs","group":"upstream-bugfixes","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":[],"Carry-Evidence":[],"Carry-Applies-To":[],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"c2d8a221ba9a04f0a0db9df82079bc106ec9a414","subject":"fix(server): align script ID diagnostics and fixtures","group":"upstream-bugfixes","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":[],"Carry-Evidence":[],"Carry-Applies-To":[],"Carry-Supersedes":[]}}
lastobelus pushed a commit that referenced this pull request Sep 8, 2026
Carry-Group: upstream-bugfixes
Carry-Contribution: {"sourceCommit":"f7e7ab3653928828da416c37a58a47b989daa7cf","subject":"carry(upstream-bugfixes): fix(web): surface drafts in the legacy sidebar (#24)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/24"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7120"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/f44a0e2a1a67daec624e2aa3b07aab8ae96a8088"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"7fc0a88ba083bce3f028664a81fc59f48b9a546f","subject":"carry(upstream-bugfixes): feat(web): filter archived threads by project (#31)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/31"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7282"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/fc3fd563304ff38da4fa23ae4c7aa5a2d2799ff3"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"6f6c0523b215b2d69a7ead8fcad6fecd4f35ef2f","subject":"carry(upstream-bugfixes): fix(web): avoid archive breadcrumb route race (#45)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/45"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7282"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/170f9427de40c815c1fd5498f1e1e3303b8e8c8b"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"4a0e6e2b6b3b63658e9c6eba32d9024ca60bdb88","subject":"carry(upstream-bugfixes): fix(codex): keep finished subagents from pinning Working (#48)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/48"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7848","https://github.com/pingdotgg/t3code/pull/7468"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/14e88be35630ea6ec22e418dfba0b5430010d337"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"8e0f88bb595c6952fc4f21d1a9ac73c7dcf12596","subject":"carry(upstream-bugfixes): fix(server): wait for launchd shutdown safely (#56)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/56"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7874"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/a559ca7edd357116c8263fbbf6c6eeda33bed531"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"7ef50d5c427dfa4c9b2a9555c6fe98dda84669eb","subject":"carry(upstream-bugfixes): fix(codex): retain residual subagent liveness safeguards (#69)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/69"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7468","https://github.com/pingdotgg/t3code/pull/7848","https://github.com/pingdotgg/t3code/pull/7937"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/796a340c3ff98d812d3c2b3f3a636994882ce36d"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"49f77df6e32092d82cbddc89f8ce3f07522cf3bb","subject":"carry(upstream-bugfixes): fix(server): remove large worktrees reliably (#74)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/74"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/3902"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/cdbc2dcabd265fdce9508530517af14d4da5c1cc"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"1a20473427ed4ac9d5353132d7d4cb25957f1610","subject":"carry(upstream-bugfixes): fix(web): keep remote icon visible on hover (#82)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/82"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/8132"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/cbd2a5eb930c53c44f5424d004c54294883323bb"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"a5947c235329af7b75b6e9fd955850e958412687","subject":"carry(upstream-bugfixes): fix(tailscale): preserve occupied Serve handlers (#102)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/102"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/8338"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/bd098650bfd55014e41b4014050c5f61ed131c14"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"54936af5ad0cc6b47052ed5e047287e14e6300b2","subject":"carry(upstream-bugfixes): fix(web): tolerate external project script ids in keybinding commands (#112)","group":"upstream-bugfixes","metadata":{"Carry-Fix":["https://github.com/lastobelus/lastCode/pull/112"],"Carry-Upstream":["https://github.com/pingdotgg/t3code/pull/7961"],"Carry-Observation":["Existing manifest records upstream pull-request provenance."],"Carry-Evidence":["https://github.com/lastobelus/lastCode/commit/07c165ce8391d442cbe365017c6f33001b5f8f59"],"Carry-Applies-To":["upstream 8d3c56b (v0.0.39-nightly.20260905.1289); frozen source 4156900"],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"7d57d8bf7e17f7d59208ce29a2f66b3acbb42693","subject":"test(web): align script shortcut fixtures with external IDs","group":"upstream-bugfixes","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":[],"Carry-Evidence":[],"Carry-Applies-To":[],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"c2d8a221ba9a04f0a0db9df82079bc106ec9a414","subject":"fix(server): align script ID diagnostics and fixtures","group":"upstream-bugfixes","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":[],"Carry-Evidence":[],"Carry-Applies-To":[],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"dd2537bad43114417769bb3d1bbcd6fd0efa8d9f","subject":"test(lastcode): align script ID expectations with external actions","group":"upstream-bugfixes","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["LastCode accepts nonempty trimmed external script IDs; upstream slug-only shortcut expectations do not apply."],"Carry-Evidence":[],"Carry-Applies-To":[],"Carry-Supersedes":[]}}
Carry-Contribution: {"sourceCommit":"27e27fa30d13a3f92fdaecccd5abb79944ce3d1e","subject":"test(lastcode): align server script ID expectations","group":"upstream-bugfixes","metadata":{"Carry-Fix":[],"Carry-Upstream":[],"Carry-Observation":["External script IDs are nonempty and trimmed; retain server rejection coverage for empty and padded IDs."],"Carry-Evidence":[],"Carry-Applies-To":[],"Carry-Supersedes":[]}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants