Skip to content

test(web): existence contracts so stack recovery cannot drop fork UI - #156

Merged
patroza merged 1 commit into
fork/changesfrom
test/fork-surface-existence
Jul 28, 2026
Merged

test(web): existence contracts so stack recovery cannot drop fork UI#156
patroza merged 1 commit into
fork/changesfrom
test/fork-surface-existence

Conversation

@patroza

@patroza patroza commented Jul 28, 2026

Copy link
Copy Markdown
Owner

Summary

Stack conflict recovery can leave pure helpers + unit tests green while deleting product chrome (proved by #154: remote Open in VS Code header button). This PR hardens the highest-risk fork surfaces and documents the rule.

Tests

  • ChatHeader: shouldOfferRemoteVscodeOpen pure gate; null URI cases; source existence markers for button wiring + openExternal
  • listEnvironmentFilter: multi-select, legacy mode/grouping migration, hide-settled + V2 settled defaults/keys
  • Sidebar.logic: resolveSettledTimestamp, isThreadSettledForDisplay capability gate
  • QueuedMessageChips: empty / text / attachment-only render + Steer/Edit aria-labels
  • projectGrouping: title fallback when no identity or members disagree
  • forkSurfaceExistence.test.ts: last-line source contracts for classic Settled shelf, Sidebar V2 chrome, ChatHeader, queued chips

Docs

Scope note

Full fork/candidates..fork/changes is ~109 commits / hundreds of files. This lands the anti-#154 pattern and covers the top silent-drop surfaces from an audit; remaining areas should follow the same pure-gate + existence rule as they are touched.

Test plan

  • vp check
  • tsgo --noEmit in apps/web and packages/client-runtime
  • Focused tests (146) including new files

Partial conflict resolutions can keep pure helpers and unit tests while
deleting product chrome (#154 remote Open in VS Code). Export a pure
remote-open gate, add behavior + source existence tests for high-risk
fork surfaces (ChatHeader, list prefs, settled display, queued chips,
short project labels), and document product-conflict rules in AGENTS
and fork-stack docs.
@patroza
patroza merged commit a516eb6 into fork/changes Jul 28, 2026
12 checks passed
patroza added a commit that referenced this pull request Jul 28, 2026
…cs (#161)

Stack sync fails rebasing fork/integration onto fork/changes on AGENTS.md
while replaying overlay #146. Neither pure ours nor pure theirs is safe:
#146 has Discord co-author / always-open-draft rules; #156 has product-
conflict and existence-test rules.

Merge both into fork/changes AGENTS, record durable policies:
- fork/changes AGENTS → theirs (fork layer rewrite)
- fork/integration AGENTS + docs/fork-stack.md → ours (keep complete base)

Local sync --dry-run succeeds with these resolutions.

Co-authored-by: T3 Code PR Stack <41898282+github-actions[bot]@users.noreply.github.com>
patroza added a commit that referenced this pull request Jul 29, 2026
…156)

Partial conflict resolutions can keep pure helpers and unit tests while
deleting product chrome (#154 remote Open in VS Code). Export a pure
remote-open gate, add behavior + source existence tests for high-risk
fork surfaces (ChatHeader, list prefs, settled display, queued chips,
short project labels), and document product-conflict rules in AGENTS
and fork-stack docs.

Co-authored-by: T3 Code PR Stack <41898282+github-actions[bot]@users.noreply.github.com>
patroza added a commit that referenced this pull request Jul 29, 2026
…cs (#161)

Stack sync fails rebasing fork/integration onto fork/changes on AGENTS.md
while replaying overlay #146. Neither pure ours nor pure theirs is safe:
#146 has Discord co-author / always-open-draft rules; #156 has product-
conflict and existence-test rules.

Merge both into fork/changes AGENTS, record durable policies:
- fork/changes AGENTS → theirs (fork layer rewrite)
- fork/integration AGENTS + docs/fork-stack.md → ours (keep complete base)

Local sync --dry-run succeeds with these resolutions.

Co-authored-by: T3 Code PR Stack <41898282+github-actions[bot]@users.noreply.github.com>
patroza added a commit that referenced this pull request Jul 29, 2026
…156)

Partial conflict resolutions can keep pure helpers and unit tests while
deleting product chrome (#154 remote Open in VS Code). Export a pure
remote-open gate, add behavior + source existence tests for high-risk
fork surfaces (ChatHeader, list prefs, settled display, queued chips,
short project labels), and document product-conflict rules in AGENTS
and fork-stack docs.

Co-authored-by: T3 Code PR Stack <41898282+github-actions[bot]@users.noreply.github.com>
patroza added a commit that referenced this pull request Jul 29, 2026
…cs (#161)

Stack sync fails rebasing fork/integration onto fork/changes on AGENTS.md
while replaying overlay #146. Neither pure ours nor pure theirs is safe:
#146 has Discord co-author / always-open-draft rules; #156 has product-
conflict and existence-test rules.

Merge both into fork/changes AGENTS, record durable policies:
- fork/changes AGENTS → theirs (fork layer rewrite)
- fork/integration AGENTS + docs/fork-stack.md → ours (keep complete base)

Local sync --dry-run succeeds with these resolutions.

Co-authored-by: T3 Code PR Stack <41898282+github-actions[bot]@users.noreply.github.com>
patroza added a commit that referenced this pull request Jul 29, 2026
…156)

Partial conflict resolutions can keep pure helpers and unit tests while
deleting product chrome (#154 remote Open in VS Code). Export a pure
remote-open gate, add behavior + source existence tests for high-risk
fork surfaces (ChatHeader, list prefs, settled display, queued chips,
short project labels), and document product-conflict rules in AGENTS
and fork-stack docs.

Co-authored-by: T3 Code PR Stack <41898282+github-actions[bot]@users.noreply.github.com>
patroza added a commit that referenced this pull request Jul 29, 2026
…cs (#161)

Stack sync fails rebasing fork/integration onto fork/changes on AGENTS.md
while replaying overlay #146. Neither pure ours nor pure theirs is safe:
#146 has Discord co-author / always-open-draft rules; #156 has product-
conflict and existence-test rules.

Merge both into fork/changes AGENTS, record durable policies:
- fork/changes AGENTS → theirs (fork layer rewrite)
- fork/integration AGENTS + docs/fork-stack.md → ours (keep complete base)

Local sync --dry-run succeeds with these resolutions.

Co-authored-by: T3 Code PR Stack <41898282+github-actions[bot]@users.noreply.github.com>
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.

1 participant