Skip to content

[codex] Propose reviewed-state pattern reuse points - #104

Closed
fgilio wants to merge 1 commit into
mainfrom
codex/propose-reviewed-pattern-reuse
Closed

[codex] Propose reviewed-state pattern reuse points#104
fgilio wants to merge 1 commit into
mainfrom
codex/propose-reviewed-pattern-reuse

Conversation

@fgilio

@fgilio fgilio commented Jun 17, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds targeted proposal comments where the reviewed-state pattern could be reused later.
  • Covers queued root bridges, server-owned snapshots, and explicit islands for stale-prone UI surfaces.
  • Leaves behavior unchanged.

Validation

  • vendor/bin/pint --dirty --format agent
  • composer test:lint
  • npm test -- tests/Js/branch-explorer.test.js

Add targeted in-code proposal comments at the sections most likely to reuse the reviewed-state approach: queued root bridges, server-owned state snapshots, and explicit islands for small stale-prone UI surfaces.

Co-authored-by: Codex CLI <fgilio+codex-cli@publica.la>
@github-actions

Copy link
Copy Markdown

Screenshots

Updated for cd02564.

copy-paths-bulk-default copy-paths-bulk-default
copy-paths-bulk-menu-open copy-paths-bulk-menu-open
copy-paths-single-menu-open copy-paths-single-menu-open

github-actions Bot added a commit that referenced this pull request Jun 17, 2026
fgilio added a commit that referenced this pull request Jul 3, 2026
* Settle divergence banners through islands instead of page morphs

A HEAD-divergence transition from the poller re-rendered the whole
review page, re-hydrating every diff-file child (the 1+N cost the
page avoids everywhere else) even when only banner chrome changed.
The header marker and the missing-target bar now live in explicit
islands that checkHeadDivergence refreshes under skipRender. The
page still morphs when auto-follow rehydrates the file list, or
when the list is empty: the divergence empty-state message lives
outside the islands and that morph has no children to re-hydrate.

Comment writes re-check divergence through a variant that leaves
the render decision to the mutation's flags. That fixes two latent
defects: a transition caught mid-write painted nothing (the poller
then saw the state as already applied and stranded a stale banner),
and the unchanged-divergence path latched skipRender over mutations
that declared a render. The deleted/cleared/restored mutations now
declare skipsRender: true, matching their tested and shipped
behavior; their previous false flag was always overridden by
that latch.

Implements the one presently actionable proposal from #104.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G5BYb5cTR149b9ahJFYNTm

* Bridge divergence banner actions through the page root

The divergence marker and missing-target bar now live inside islands,
where a wire:click scopes its render to that island. Their buttons
(switch review, keep reviewing, dismiss) all settle more than the
banner they were clicked in: switchReviewToHead rehydrates the file
list, and keep/dismiss can swap the divergence empty-state message.
The buttons now $dispatch bubbling rfa-* window events that the
page-root Alpine forwards to $wire, matching the existing
reviewed-state bridge pattern.

Addresses the Codex review finding on PR #132.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G5BYb5cTR149b9ahJFYNTm

---------

Co-authored-by: Claude <noreply@anthropic.com>
@fgilio fgilio closed this Jul 3, 2026

fgilio commented Jul 3, 2026

Copy link
Copy Markdown
Owner Author

Closing: superseded by #132 (merged), which implements the divergence-islands proposal from this PR and documents in its description why the other five proposals aren't actionable until their trigger conditions exist.


Generated by Claude Code

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