-
Notifications
You must be signed in to change notification settings - Fork 0
Reviews
Every PR this loop has reviewed, newest first. One page each: what the PR did, what the review said, and how it was judged.
New reviews are recorded here as they are drafted — R17. Every review starting with loop 1.0.0 records both its Review Loop version and Component Audit Rubric version; older records remain unversioned rather than being guessed from dates. The page skeleton is on Review Presentation: problem, solution, API, theme targets, ossification, breaking, judgement, the review as posted, and what changed before posting.
163 PRs · 117 reviews posted, 48 drafted · 2 invalidated · 2 blocked before review
Run retrospectives: 2026-08-23 — five runs, seven new critic rules, and where they came from.
Merged with something owed afterwards? A promise that must be settled before
the cut belongs in the internal release-block register; a public defect a contributor
could pick up is a GitHub issue on facebook/astryx. The wiki no longer carries
a debt register.
| PR | author | verdict | rounds | state |
|---|---|---|---|---|
| #5674 ci: route remaining gh-pages writers through publisher | cixzhang | request changes (Round 2; self-authored COMMENT) | Round 2 full 20m · loop 1.9.1 · audit 1.14.4 · 1 critic pass | open; exact head 12bf8338; clean fixture status, repository-local bot identity, and same-name byte assertion fixed; 45/45 focused tests, repository checks, and substantive exact-head CI green; inherited trusted identity/readiness, adversarial rejection, staged-byte precedence, permissions, zero direct writers, retries/idempotency, subtree preservation, exclusive authority, and terminal cleanup pass; retention still blocks because each weekly parentless compaction re-dates survivors, and an August 20 screenshot remains after September 21 cleanup at 32 original days; not landing-ready; no merge/auto. |
| #5636 ci: add protected main quality shadow workflow | cixzhang | approve (Round 4 self-authored COMMENT) | Round 4 full 10m · loop 1.9.1 · audit 1.14.4 · 1 critic pass | open draft; exact head 218a4a2b; prior valid-index crash fixed — production runner writes 1/1 complete clean, injected scan failure and occupied-port startup both stay non-clean downstream, and no listener/descendant survives; missing/malformed/zero/partial/duplicate/mismatch controls remain fail-closed; 58/58 focused and 11/11 forced-colors tests plus actionlint, syntax, Prettier, diff-check, and check:repo pass; exact SHA/four suites/shadow/artifact round-trip/monotonic latest/shared publisher/no branch-release mutation/#5608 ownership retained; zero substantive exact-head Actions runs; landing waits for #5629 → #5631 → #5635, then exact-head CI; no merge/auto. |
| #5635 ci: promote accepted visuals from main | cixzhang | approve (Round 2; self-authored COMMENT) | Round 2 full 11m · loop 1.9.1 · audit 1.14.4 · 1 critic pass | open draft; exact head df65ecdd; prior candidate-discovery gap closed — mixed PR/merge/main fixtures pass 6/6, inverted filter fails 3/6, omitted filter fails 2/6; focused suite 100/100 plus actionlint, syntax, Prettier, diff-check, and check:repo green; publisher and main-status semantics byte-identical to prior head; 0 substantive exact-head Actions runs; landing waits for #5629 → #5631 → exact-head CI; no merge/auto; #5636 is code-review-safe but was not started. |
| #5632 fix(ci): trace affected PR check dependencies | cixzhang | approve once undrafted (Round 10 authoritative self-authored COMMENT; Round 5 approval invalidated) | Round 10 full 20m · loop 1.9.1 · audit 1.14.4 · 2 critic passes | open draft; exact head ad79df23; semantic/runtime delta from ffe38f07 is one test file (+100/−26); positional mutant reds the intended status assertion on valid Button input; action shell/no-op and five prior drift mutants red; 9 focused files / 183 tests, 171 path assertions, direct Node 20 grammar/action matrix, 19 syntax checks, ESLint, actionlint, diff-check, check:repo, current-main 104/104, and exact CI 18 success / 5 intentional skips. |
| #5633 ci: route remaining gh-pages writers through publisher | cixzhang | approve (Round 3; self-authored COMMENT) | Round 3 full 12m · loop 1.9.1 · audit 1.14.4 · 1 critic pass | open draft; exact head 051e991c; both prior runtime blockers pass independently — final API readiness is after artifacts and directly gates publish, while current same-name report bytes beat old remote and remote-only bytes survive; 58-day retention, compaction cleanup/exclusivity, direct-writer migration, permissions, retry/idempotency, and terminal cleanup pass; 44/44 focused tests and repository checks green; one non-blocking before-landing note — the new same-name fixture has no byte assertion and the remote-wins mutant stays green; one skipped Review signal run and zero substantive Actions CI; landing waits for #5629 → #5631 → exact-head CI; no merge/auto. |
| #5630 fix(ci): simplify PR visual scope | cixzhang | approve (Round 5; self-authored COMMENT) | Round 5 full 14m · loop 1.9.1 · audit 1.14.4 · 2 critic passes | open draft; exact head 04246c00, sole commit on landed #5608 main; old/new base trees, head trees, and stable patch id match exactly with empty semantic diff; removal-only/mixed acceptance, preimage/no-after, no-prune promotion, array/object 25/41 parity, trusted object defer, Probe current-only, and #5510-shaped 121→4 scope all pass; focused Vitest 99/99 plus 8/8 selected invariants, independent lifecycle fixture, syntax, actionlint, check:repo, and exact CI 17 pass/5 intentional skips; visual-acceptance success with no stable scope; no Storybook, merge, or auto; #5632 restack revalidation may start. |
| #5631 ci: route visual gh-pages writers through publisher | cixzhang | approve (Round 9 harness revalidation; self-authored COMMENT) | Round 9 full 25m · loop 1.9.1 · audit 1.14.4 · 2 critic passes | open; exact head 13a2aa3f; delta from ba4287ed is one test file (+109/−18), with production/workflow bytes unchanged; prior harness control passes 2/12 and fails 10/12, while exact promotion is 13/13, focused is 45/45, runtime is 10/10, and all 4 regression mutants are non-green for the intended reason; syntax, filtered actionlint, Prettier, diff-check, and check:repo pass; exact-head CI passes 626 files / 13,103 tests and all required statuses are green; landing-ready; no merge/auto. |
| #5608 fix(ci): keep accepted stable shots in the release gate | cixzhang | approve (Round 8; self-authored COMMENT) | Round 8 full 14m · loop 1.9.1 · audit 1.14.1 · 2 critic passes | open; exact head 37d70566; prior baseline-membership block fixed; live accounting 974 = 882 planned + 92 excluded + 0 legacy + 0 unclassified; deleted story emits 2 current removals; capture failure emits failed verdict with 0 removals; PR promotion remains upsert-only; focused Vitest 243/243; exact-head checks 15 success / 4 path skips plus 3 green statuses; no Storybook, merge, or auto-merge. |
| #5629 ci: centralize gh-pages publishing | cixzhang | approve (posted as semantic COMMENT; self-authored draft) | full 8m · loop 1.9.1 · audit 1.14.1 · 1 critic pass | open draft; exact head 88195bb8; prior actions: read blocker resolved in both publisher jobs with a workflow contract test; focused Vitest 18/18, syntax, and actionlint green; exact-head CI 14 success / 7 path skips plus 3 green statuses; no merge or auto-merge; successor migration is safe to start. |
| #4121 fix(chat): keep reader position when loading earlier messages | AKnassa | approve (drafted; no public PR action) | Round 2 full 20m · loop 1.6.0 · audit 1.13 · 1 critic pass | open, MERGEABLE/BLOCKED; exact head 75c0ca09; author can proceed; prior align="top" 1160px lost-position blocker and scroll-container helper note both fixed; current main 9aaa6f4 is ahead but touches none of the PR files, so no merge done; focused Vitest 40/40 green; Chromium: top/bottom first+repeated prepends keep the first fully visible message at 0px drift, underfilled auto-refills 20→40 until scrollable, and mid-load user scroll preserves the current message; CI package checks/a11y/RTL/visual pass, Vercel/initialize fail and review-required pending. |
| #4411 feat(vega): theme Vega charts from the charts package | AKnassa | request-changes (drafted; no public PR action) | full 35m · loop 1.6.0 · audit 1.13 · 2 critic passes | open; exact head b846f95f; current main merged mechanically and pushed; author can proceed; focused charts/vega Vitest 4 files / 24 tests green plus cold Vega config test green; rendered Vega-Lite probe proves themed palette/config precedence; 2 blockers: impossible core peer graph (vega 0.3.0 vs charts 0.5.0) and native Vega View reinitializes on theme/mode despite documented unthemed path; CI Vercel red and review-required pending. |
| #4228 feat(TreeList): customizable expand/collapse indicator icon | AKnassa | approve (Round 2 drafted; no public PR action) | full 18m · loop 1.6.0 · audit 1.13 · 1 critic pass | open, MERGEABLE; exact head 7eb427ea; prior blocker fixed; author can proceed; focused TreeList Vitest 108/108 green; 11 receipted Chromium frames; substantive CI green, Vercel failed, visual-acceptance/review-required pending; no merge or auto action |
| #4545 feat(vibe-tests): add MiniMax design judge provider | octo-patch | request-changes (drafted; no public PR action) | full 18m · loop 1.6.0 · audit 1.13 · 2 critic passes | open, MERGEABLE/BLOCKED; current main merged in conflict-free and non-force pushed, exact head 5a159f3; author can proceed; focused mocked MiniMax Vitest 4/4 green; dry-run CLI made no provider call; focused ESLint red on 3 explicit any annotations in the new test file; full Actions still action_required on the fork head. |
| #4410 fix(core): return focus to the opener when MobileNav closes | AKnassa | blocked before review — not a review, not counted | refresh only · loop 1.6.0 · audit 1.13 · 0 critic passes | open, CONFLICTING; head 1672af6e unchanged (nothing pushed); merging current main c6041cfd conflicts in MobileNav.tsx; non-mechanical because main now delays native dialog.close() and owns layer dismissal/gutter behavior in the same region the PR uses for focus restore; author must merge main and decide restore ordering relative to the delayed close path; process guard clean; no PR action. |
| #4310 fix(core): lazy-load usePopover in SideNavHeading (#264) | jibin7jose | request-changes | full 10m · loop 1.6.0 · audit 1.13 · 1 critic gate | open |
| #4404 feat(core): wire the translator adapter into i18n | AKnassa | request-changes (drafted; no public PR action) | full 7m · loop 1.6.0 · audit 1.13 · 1 critic gate | open, MERGEABLE/BLOCKED; exact head dd8aa877; no prior reviews; focused i18n Vitest 8 files / 94 tests green. 1 blocker: non-string adapter fallback for interpolated strings returns raw ICU (Go to page {page, number}) instead of the bundled formatted fallback (Go to page 5), so labels/titles can still expose placeholder text. Author can proceed; full CI still running, Vercel red. |
| #4329 feat(Tokenizer): split delimited text into separate tokens on type and paste (#4175) | AKnassa | request-changes (drafted; no public PR action) | full 10m · loop 1.6.0 · audit 1.13 · 1 critic pass | open, BLOCKED; exact head 54cd11e3; author can proceed; focused Vitest 190/190 green; exact-head Storybook/Chromium proves list paste creates three tokens and comma-safe/custom/disabled paths behave; CI lint red on the same blocker — batch live-region announcement hardcodes English (Added N items); API judgement remains after fix for new public delimiters / transformQuery surface. |
| #4405 feat(core): make Tokenizer InputGroup-compatible | AKnassa | request-changes (drafted; nothing posted, community PR adding core behaviour) | full 35m · loop 1.6.0 · audit 1.13 · 5 gates | open, MERGEABLE/BLOCKED. Branch was a month stale (507 behind); merged current main in — textually conflict-free, four of the PR's own files auto-merged, zero conflicts — and non-force pushed, so the reviewed head is 7f7460f not the dispatched 6d90946. No prior review of any kind. 2 decisions, both recorded in the body; zero Effects, zero listeners, no API change, no new theme target; 88 focused tests green. The fix itself is real and driven: grouped Tokenizer goes from a 59px control spilling 27px below a 32px group, with two Fields and two field-labels, to one 32px row with one of each — before/after receipted. 2 blockers. (1) At tokenOverflowBehavior's 'none' default the grouped row is nowrap + overflowX: auto + scrollbar-width: none, so six selections put 202px off screen — one token cut mid-word at the border, one gone entirely, no scrollbar, no fade, no +N; the PR's own story sets maxEntries={3} to avoid it. The remedy is landed and shipped, not invented: tokenOverflowBehavior="unfocusedInline" renders +3 more and brings scrollWidth − clientWidth to 0, and MultiSelector — the other multi-value control on the same compatible list — already summarizes in the group row. (2) Lint red on the merged head: mergeRefs during render trips @astryx/no-unstable-merged-refs ×2, a rule that landed in #5429 after this branch was cut, so Lint was green on the original head and our merge is what surfaced it; Typeahead uses useMergedRefs at the same position. 1 note: two aria-describedby ids resolve to nothing when a grouped Tokenizer sets its own description/status — 4 of 7 group-aware controls guard the status half, and the PR body's claim that MultiSelector shares the wart is wrong. RTL, keyboard reach, focus-ring clearance and both unfocusedLayer states driven and clean; the author's own worry about a clipped focus ring does not reproduce. Author can proceed; 7 receipted frames. |
| #4314 feat(code-block): add sticky line numbers | zeroryu | request-changes (drafted; no public PR action) | Round 2 full 36m · loop 1.6.0 · audit 1.13 · 3 critic passes | open, BLOCKED, CHANGES_REQUESTED ×2 still live (ernestt 2026-07-28, ours 2026-08-24 — only each account can clear its own); exact head 8545add7, prior reviewed head 8dd51e56, head did not move during the run. All four round-1 asks satisfied and deleted: the ungated minmax(0, 1fr) is gone and the unwrapped scroll range is byte-identical to main (531/198/333), hasStickyLineNumbers is removed so sticky is now the default of hasLineNumbers, and the branch is rebased (merge-base e6507a9, 3 commits behind, none touching CodeBlock). Zero Effects, zero listeners, no API change, outer geometry unchanged (499.48px row before and after). 2 blockers, both children of one undeclared var: --_codeblock-sticky-background is not in CodeBlock.doc.mjs, so the theming registry test fails and the required test job is red; and with container="section" that var makes the gutter paint --color-background-card over a block that is transparent by design — 45.8px of rgb(255,255,255) on a rgb(241,241,241) panel, pixel-sampled, in a configuration templates/pages/ide/page.tsx:278 ships. Author can proceed; 5 receipted frames; RTL, both highlight paths, the wrapped path and the highlight seam all driven and clean |
| #4053 feat(layout): add shellWidth to cap and center the entire shell | jiunshinn | request-changes (drafted; no public PR action) | full 45m · loop 1.6.0 · audit 1.13 · 2 critic passes | refreshed 0ee614bb → a9a0d1b5 — current main merged in as an ordinary merge commit and non-force pushed; both conflicts mechanical (CLI template-tree rename + an independently duplicated contentWidth doc entry). PR now MERGEABLE, state BLOCKED; author can proceed; 1 blocker — LayoutShellWidth.doc.mjs:3 still imports ../../../../../core/src/docs-types, which main's rename broke, so typecheck:template-docs fails and takes build-storybook/build with it while pr-a11y, pr-rtl and the visual job skip; the shellWidth vs maxWidth naming question the PR asks is settled from 7 landed non-centring maxWidth call sites; settings template appearance left to the repo's needs:design-review gate |
| #4377 test: route charts/vega into the ui vitest project and cover the untested viz packages and hooks (#4295) | AKnassa | request-changes (drafted; no public PR action) | full 25m · loop 1.6.0 · audit 1.13 · 2 gates | open, CONFLICTING; head 36f240d unchanged — read-only run, nothing posted and no code pushed. Branch is 34 days old: base 2026-07-24, 815 commits on main since. #4382 landed the charts half of the config change on 2026-07-30 and solved the bare @astryxdesign/core import with a resolve alias to source — a better mechanism than this PR's dependency on the node project's globalSetup building core. 8 of 66 test files are now add/add conflicts against tests five other people landed, so the conflict is not mechanical. 1 blocker: 4 of the PR's tests fail on a correctly merged tree (useTooltip ×2 predate touchTrigger/useLayerDismissal; TableHeaderCell ×2 assert border-right-width where main paints borderInlineEndWidth) — proven by an executed merged-tree run and independently by source. The vega half is unduplicated and still wanted: 3 files / 30 tests green. Test quality is good (1,117 assertions, ~6% weak). Drift is our latency, not the author's debt; author can proceed with 5 acceptance criteria. Merge held. |
| #4158 feat(lab): Image — content image with loading, error fallback, and preview (RFC #4094) | AKnassa | request-changes (drafted; no public PR action) | full 27m · loop 1.6.0 · audit 1.13 · 2 critic passes | open, BLOCKED; aged head a4e2b81d (2026-07-21) was CONFLICTING — merged current main 2458b03b, mechanical (barrel: independent TransferList/Image additions kept), pushed non-force, exact head now 58906ddc and MERGEABLE; 59/59 focused Vitest green and local pnpm run build exits 0, but two required checks are red on files this PR owns, both from gates that landed AFTER the PR (typecheck:docs 2026-07-27 #4435, @astryx/disabled-cursor 2026-08-22 #5335) — at the old head Lint and CI were both green; 3 blockers (doc-types module does not exist → build-storybook; cursor guard → lint; focus reaches <body> when hasPreview flips off under an open preview, the branch the code's own comment claims to handle); author can proceed; 8 receipted frames |
| #3937 feat(lightbox): host arbitrary React content items | jiunshinn | blocked before review — not a review, not counted | refresh only · loop 1.6.0 · 0 critic passes | open, CONFLICTING; head d802efcb unchanged (nothing pushed); merging current main conflicts in Lightbox.tsx (5 hunks) + Lightbox.doc.mjs (2); non-mechanical — 5 author-owned behaviour/API decisions; author must merge main and decide; nothing posted to the PR |
| #4690 feat(Table): treegrid semantics and row-focus keyboard model for the tree plugin | AKnassa | request-changes (drafted; no public PR action) | Round 2 full 36m · loop 1.6.0 · audit 1.13 · 2 critic passes | open, BLOCKED, CHANGES_REQUESTED (ours, 2026-08-13, still live); exact head c88f6579; both round-1 findings fixed and deleted; ruling 5 conditions met and driven; author can proceed; exact-head CI green (pr-a11y, pr-rtl, test, build), Vercel red repo-wide; 1 blocker — changeset category vs released surface; merge held |
| #4977 feat(lab): add InputMask masked text input (RFC #4946) | AKnassa | approved — posted as drafted | Round 2 (delta re-review) full 33m · loop 1.6.0 · audit 1.13 · 2 critic passes | open, BLOCKED; exact head 74c1f21b; prior reviewed head cd995b3d; all 3 round-1 findings fixed and rechecked, none remain; author can proceed; substantive CI green (test, lint, pr-a11y, pr-rtl, builds), Vercel red as on unrelated PRs; R26 subsystem — merge left to a person, review-required pending |
| #4707 fix(cli): filter skeleton component lists to resolvable components (#4677) | MeGaurav4 | request-changes | full 19m · loop 1.6.0 · audit 1.13 · 1 critic pass | open, BLOCKED, CHANGES_REQUESTED; exact head bc817316; author can proceed; Actions green, Vercel failed; 1 blocker |
| #3935 feat(core): add isSticky/stickyOffset props to Stack family | jiunshinn | changes requested — posted exactly as drafted | full 28m · loop 1.6.0 · audit 1.13 · 2 critic passes | open, MERGEABLE, CHANGES_REQUESTED; exact head f4408f0; author can proceed; merge held; CI test + Vercel red; visual acceptance pending; 1 blocker |
| #3890 feat(SideNav): collapse to a custom width, including zero, with optional animation | AKnassa | request changes (Round 2, drafted; no public PR action — loop is read-only on public PRs) | Round 2 full 21m · loop 1.6.0 · audit 1.13 · 2 critic passes | open, MERGEABLE, CHANGES_REQUESTED from round 1; exact head 829da488; author can proceed on 2 blockers; both round-one asks verified met; CI test red on the CSS invariant this diff trips |
| #3934 feat(chat): add useChatSpeech hook and ChatSpeechButton for text-to-speech | jiunshinn | request-changes (drafted; no public PR action) | Round 2 full 18m · loop 1.6.0 · audit 1.13 · 1 critic pass; previous stale-head round invalidated | open, BLOCKED; exact head 3364f381; author can proceed on 3 blockers; one API judgement for isPaused; CI red on build/Storybook/sandbox/Vercel; review-required pending |
| #5438 fix(cli): an unknown manifest key no longer discards the whole integration | josephfarina | changes requested | full 17m · loop 1.6.0 · audit 1.13 · 2 critic gates | open, MERGEABLE, CHANGES_REQUESTED; exact head 4b6f80c; author can proceed; exact-head CI green; 2 blockers |
| #4022 fix: WCAG 2.1 AA contrast failures in core color tokens | gonzoblasco | approved | Round 3 fast 4m · loop 1.6.0 · audit 1.13 · 1 critic pass | open, MERGEABLE, overall CHANGES_REQUESTED; exact head b5aac840; generated docs and PR body notes cleared; exact-head substantive CI green; Vercel red and @ernestt's historical review remain; no merge or auto-merge action |
| #4284 fix(core): preserve multi-line caret navigation in ChatComposerInput | Lee-Dongwook | request-changes (drafted; no public PR action) | full 22m · loop 1.6.0 · audit 1.13 · 3 critic gates | open; exact head 2a02ed2; author can proceed; performance blocker; Actions green, Vercel failed |
| #5371 ci: publish PR previews as real GitHub deployments | cixzhang | commented — engineering verdict request changes; self-review cannot set it mechanically | full 22m · loop 1.6.0 · audit 1.13 · 2 gates · 2 critic passes | open, MERGEABLE; exact head aebf786; CI green; author can proceed — 2 blockers |
| #5094 docs: replace em dashes, en dash, and ellipsis in doc prose | josephfarina | changes requested — main overtook it; 17 of 19 lines already landed | full 19m · loop 1.6.0 · audit 1.13 · 2 gates · 2 critic passes | open, CONFLICTING; test red; exact head e27a123; author can proceed |
| #5604 fix(ci): defer broad trusted visual acceptance | cixzhang | APPROVE — judgment only, no public action | full 13m · loop 1.5.0 · audit 1.13 · 2 critic passes | open; record; exact head cc907ca; author can proceed |
| #5601 | Carousel edge focus (Night Watch audit) | request changes x4 then approve; ruled mid-run | Review-5601 | |
| #5199 OverflowList: report the collapsed set with onOverflowChange | cixzhang | comment — semantic approve (posted) | 8 gates · final full 27m · loop 1.5.0 · audit 1.13 · 2 critic passes | merged as 7e6b73b
|
| #5592 fix(ci): authorize Repo Owners for visual acceptance | cixzhang | COMMENT — semantic approve with notes (Round 2 drafted; no public PR action) | Round 2 full 25m · loop 1.5.0 · audit 1.13 · 2 critic passes | merged as d0536cd; exact head 1efb73c; independently re-verified |
| #5588 fix(ci): restore visual acceptance publication | cixzhang | comment — semantic approve (posted) | post-rebase full 18m · loop 1.5.0 · audit 1.13 · fresh clean pass | open; required checks green; maintainer merge |
| #5075 fix(SideNav): give collapse a single owner across collapsible and resizable | cixzhang | comment — semantic approve (posted) | full 44m · loop 1.5.0 · audit 1.13 · 2 critic passes · 2 gates | merged |
| #5458 docs(storybook): show how to theme a toast's chrome and its content | cixzhang | approve and merge (posted) | full 16m · loop 1.5.0 · audit 1.13 · 1 critic pass | merged |
| #5109 Document the seven core hooks missing from the CLI hook index | cixzhang | comment — semantic approve (posted) | fast 11m · loop 1.5.0 · audit 1.13 · 1 critic pass | merged |
| #5555 fix(Typeahead,Tokenizer): move busy Spinner to the field end lane | freddymeta | request-changes (R1e Round 2 drafted; no public PR action) | Round 2 full 18m · loop 1.5.0 · audit 1.13 · 2 critic passes | open; exact head 1c34260; author can proceed |
| #5550 feat(Drawer): containerRef — bind the drawer to an element, not the viewport | freddymeta | request changes (R1e Round 3 drafted; no public PR action) | Round 3 full 20m · loop 1.5.0 · audit 1.13 · 2 critic gates | open; exact head 4fecc8f; author can proceed; rebase + 2 blockers |
| #5549 fix(Drawer): stop the panel repainting into the page after close() | freddymeta | request-changes (drafted; no public action; Drawer set held with #5550) | full 34m · loop 1.5.0 · audit 1.12 · 2 critic passes | open; set hold |
| #5204 fix(richtext): close all 8 RichTextEditor audit BLOCKs | AKnassa | request-changes (posted) | full 30m · loop 1.5.0 · 3 critic passes | open; conflicts with main |
| #5563 fix(core): forward pass-through props on ten BaseProps components | cixzhang | COMMENT — semantic request-changes (drafted; PR merged before posting) | full 59m · loop 1.5.0 · 1 critic pass · current-main reconciliation | merged; follow-up #5584 open |
| #5565 fix(ci): stop shipping template-assets into every PR preview | cixzhang | COMMENT — semantic approve (drafted, no public action) | full 21m · loop 1.5.0 · 3 critic passes · 2 rounds | open |
| #5548 fix(docsite): stabilize PPR loading states | imdreamrunner | request-changes at 0d19a67 (Round 4 drafted; no public action) |
Round 4 R1e · loop 1.5.0 · rubric 1.13 · 2 gates | open; AUTHOR CAN PROCEED: yes — fallback Carousel preserves focus-loss block |
| #5559 fix(Text, Heading): a truncated label shows one tooltip, not two | freddymeta | approve and merge (drafted, no public action) | full 24m · loop 1.5.0 · 2 critic passes | open |
| #5558 fix(Badge): a long label no longer escapes its container | freddymeta | approve (Round 2 drafted, no public action; Round 1 was request-changes) | 2 rounds · latest full 57m · loop 1.5.0 · audit 1.13 · 2 critic passes | open; review-required pending |
| #5553 fix(core): keyboard-scrollable text-only Bottom Sheets | cixzhang | COMMENT — semantic approval (posted) | full 35m · loop 1.6.0 · 2 critic passes | open |
| #5547 fix(Toast): the card's shadow is no longer clipped away | freddymeta | approve (Round 3 drafted; no public action) | Round 3 full 17m · loop 1.6.0 · audit 1.13 · 1 critic pass | open, BLOCKED only by visual-acceptance pending; exact head 5eaa259f; author can proceed; no code-review blockers |
| #5570 Storybook: add the missing Probe Theme all-axes page | cixzhang | approve with three nits (posted) | full 35m · loop 1.4.1 · 2 critic passes · 1 fix round | merged |
| #5516 fix(core): ensure pressed overlays override hover | jiunshinn | approve (critic-confirmed; drafted, not posted) | full 47m · loop 1.4.1 · 1 critic pass | open |
| #5545 fix(docsite): server-render the gallery previews above the fold | imdreamrunner | approve with two nits (drafted, not posted) | full 36m · loop 1.4.0 · 1 critic pass | merged |
| #5567 feat(Collapsible): animate the content reveal, and rewrite the block examples | ernestt | request-changes (posted) | full 24m · loop 1.4.1 · 3 critic passes | open |
| #5513 fix(core): make BottomSheet text keyboard-scrollable | jiunshinn | request-changes (drafted, not posted) | full 46m · loop 1.4.0 · 3 critic passes | open |
| #5515 perf(markdown): bound incremental parsing to stream tail | jiunshinn | request-changes (drafted, not posted) | full 27m · loop 1.4.1 · 2 critic passes | open |
| #5478 fix(cli): resolve component and hook names case-exactly on case-insensitive filesystems | cixzhang | approve (not posted — GitHub blocks self-review; merged on green CI) | full 39m · loop 1.4.0 · 2 rounds | merged |
| #5512 build(themes): emit standalone icons as ESM only | jiunshinn | approve (drafted, not posted; CI hold) | full 28m · loop 1.4.0 · 1 round | open; CI hold |
| #5510 fix(NumberInput): keep stepped values within fractional bounds | jiunshinn | approve (drafted; no public action) | full 36m · loop 1.4.0 · 2 rounds | open |
| #5514 ci(visual-gate): build the theme dists the gate needs instead of crashing | cixzhang | comment — semantic approve (drafted, not posted) | full 17m · loop 1.4.0 · 2 critic passes | open |
| #5508 fix(Selector): preserve StyleX evaluation in source builds | jiunshinn | approve (drafted, not posted) | full 27m · loop 1.4.0 · 1 round | open |
| #5454 fix(Table): two defects surfaced by frozen columns and grouped rows | ernestt | approve (round 2, drafted; round 1 was request-changes) | full 44m · loop 1.4.0 · 2 rounds | open |
| #5493 fix(TreeList): forward BaseProps attributes to the tree element | gonzoblasco | approve (round 4 independent re-review; no public action) | full 20m · loop 1.4.0 · 4 rounds | merged |
| #3938 feat(tablist): add isFullBleed to bleed a tab bar to container edges | jiunshinn | request-changes (round 3b — ownership ratified; 2 implementation changes, drafted) · no ruling held | full · loop 1.4.0 · 3 rounds + 3 corrections | open |
| #5303 fix(i18n): harden date locale handling | nynexman4464 | approved (R1e round 4; review 5044829206) | full 14m · loop 1.6.0 · audit 1.13 · 1 critic pass · 4 rounds | open; pipeline 4, awaiting maintainer merge double-check |
| #5557 docs(slop): replace em dashes and a curly apostrophe in doc prose | josephfarina | approve with body nit (drafted) | fast 12m · loop 1.4.0 | open |
| #5507 test(layer): body contexts and xstyle precedence | jiunshinn | approve | fast 7m · loop 1.4.0 | open |
| #5509 fix(theme-stone): secondary text contrast | jiunshinn | approve | full 26m · loop 1.4.0 | open |
| #5511 fix(core): ignore modifier-only key presses | jiunshinn | request-changes (drafted) | full 19m · loop 1.4.0 | open |
| #5538 fix(TransferList): clear three audit BLOCKs | ernestt | approve | loop 1.1.0 | open |
| #5520 ci: validate Visual Baseline inputs before promotion | bhamodi | request-changes (Round 2 drafted; no public PR action) | full 10m · loop 1.6.0 · audit 1.13 · 2 critic gates | open; exact head 776e744
|
| #5540 fix(docsite): scope preview theme icons | imdreamrunner | approve | loop 1.0.0 | open |
| #5543 feat(theme): responsive width tiers in defineTheme | imdreamrunner | withheld (round 5; all public findings fixed) | full · loop 1.6.0 · audit 1.13 · 5 rounds | open; mergeable; exact head 35bb83e0; CI green; maintainer decision pending |
| #5525 fix(cli): theme loading resolves from the project and obeys the safe-mode gate | bhamodi | request-changes (R1e Round 2 drafted; no public action) | full 133m · loop 1.5.0 · audit 1.13 · 1 critic pass · 3 gates | open; exact head d841caba; author can proceed; terminal-output block |
| #5483 feat(Banner): theme targets for description | freddymeta | APPROVE proposed (Round 2 drafted; no public PR action) | Round 2 full 20m · loop 1.6.0 · audit 1.13 · 2 rounds | open; exact head d4a0a719; prior blockers fixed; CI green except visual-acceptance pending; PR metadata cleanup remains; no merge/auto |
| #5214 feat(Spinner): make the ring geometry and colors themeable | freddymeta | approve (round 8 drafted; no public action) | full · loop 1.5.0 · audit 1.13 · 8 rounds | open; approval ready to post |
| #5385 feat(core): minQueryLength | freddymeta | approve (round 4, drafted; no public PR action) | full 13m · loop 1.5.0 · audit 1.13 · 1 critic pass · 4 rounds | open; AUTHOR CAN PROCEED: yes |
| #5418 feat(TextArea): expose theme targets for the control and counter | freddymeta | approve (re-review) | current loop | open; CI hold |
| #5420 feat(Table): expose theme targets for sort/filter affordances | freddymeta | request-changes (re-review) | current loop | open |
| #5428 feat(Toast): renderContent custom toast layout | freddymeta | APPROVE proposed (read-only re-review; no public PR action) | Round 4 full 12m · loop 1.6.0 · audit 1.13 · 2 critic gates | open; exact head cb18d4b; all prior findings fixed; CI green except review/visual acceptance gates |
| #5484 fix(Spinner): stop narrow flex host compressing the box | freddymeta | approved (Round 3 delta re-review) | Round 3 full 26m · loop 1.6.0 · audit 1.13 · 2 critic gates · 3 rounds | open; exact head 9a197cc6; visual-acceptance PENDING and needs:design-review still gate the merge; no auto-merge |
| #5494 fix(Toast): viewport landmark only while populated | freddymeta | approve | current loop | open |
| #5495 feat(Stepper): reflect segment on connector target | freddymeta | approve once undrafted | current loop | draft |
| #5523 fix(docsite): give the playground preview an opaque origin | bhamodi | request-changes (Round 3 proposed; browser regression missing) | full 30m · loop 1.6.0 · audit 1.13 · 4 critic gates | open; exact head 6868c2e; runtime fixed |
| #5531 fix(cli): ASTRYX_NO_PROJECT_CODE=1 keeps the CLI on built-in data | bhamodi | request-changes (R1e Round 2 drafted; no public action) | Round 2 full 10m · loop 1.5.0 · audit 1.13 · 2 critic passes | open; exact head ae4d15f; author can proceed; CI red |
| #5529 fix(theme): a theme declaration always stays one declaration | bhamodi | R1e request-changes (drafted) · loop 1.5.0 · audit 1.13 | 4 | open |
| #5528 fix(CodeBlock): escape generated highlight names so any tokenizer type is safe | bhamodi | request-changes (R1e Round 3 drafted; no public PR action) | Round 3 full 18m · loop 1.5.0 · audit 1.13 · 2 critic passes | open; exact head c16568b; author can proceed; lint red |
| #5527 fix(apps): harden the embed theme-sync channel and theme lookups | bhamodi | approve (loop) | 3 | open, merging |
| #5526 ci: pin pnpm/action-setup by commit SHA | bhamodi | request-changes (drafted, with Cindy) | 2 | open |
| #5524 fix(core): apply one URL scheme rule wherever a link leaves React's hands | bhamodi | approve (superseding self-contained R1e; both prior blockers closed) | R1e full 11m · loop 1.6.0 · audit 1.13 · 2 critic passes | open; exact head b6184fe; 23/23 focused tests green; pre-fix arm fails only the requested regression; PR remains unmodified |
| #5518 ci: resolve the preview deploy target from the CI run's head commit | bhamodi | approve (drafted, not posted) | 3 | open |
| #5517 ci: resolve fork PRs by head repo and branch in pr-comment | bhamodi | approve (Round 3 drafted; no public PR action; both prior blockers addressed) | Round 3 full 26m · loop 1.5.0 · audit 1.13 · 2 critic passes | open; exact head f10b579; CI green |
| #5375 feat(Toast): add scroll-safe swipe dismissal | rubyycheung | approve with notes (Round 2 drafted; no public PR action) | full 16m · loop 1.5.0 · audit 1.13 · 2 critic gates | open; conflicting; reset/rebase before merge |
| #5533 fix(scripts): trusted-publishing default points at release.yml | bhamodi | approve (loop) | 2 | open, merging |
| #5532 fix(docsite): state the playground page's own framing headers | bhamodi | approve (loop) | 2 | open, merging |
| #5530 docs(vega): document that specs are programs, with the untrusted-spec wiring | bhamodi | approve (loop) | 5 | open, merging |
| #5522 fix(Markdown): apply the URL safety rule to every image path | bhamodi | approve (loop; owner's signature given) | 2 | open |
| #5521 ci: render report fields in the PR comment as literal text | bhamodi | approve (loop) | 2 | open, merging |
| #5519 ci: re-deploy previews from CI artifacts instead of rebuilding | bhamodi | approve (loop) | 3 | open, merging |
| #5152 fix(NumberInput): commit an out-of-range entry at the nearest bound | cixzhang | approve (loop; merged by the loop) | 2 loops, 4 gates | merged |
| #5491 fix(Card): reflect elevation as a theme target, correct the padding default docs | cixzhang (Night Watch self-review) | approve (loop; merged by the loop) | 3 | merged |
| #5399 fix(chat): replace Badge with plain text in ChatComposerDrawer collapsed state | athz | request-changes (drafted, with Cindy) | 3 | open |
| #5434 fix(visual-gate): freeze the clock at capture time | cixzhang | approve (loop; merged by the loop) | 1 | merged |
| #5426 feat(CheckboxInput): expose theme targets for the checkbox marks | freddymeta | approve | 1 | merged |
| #5466 Give NumberInput steppers a dedicated icon slot | rubyycheung | hold(API) → ruled: namespaced (Rulings #11) | 5 | open |
| #5419 fix(HoverCard): expose rich cards as dialog popups | gonzoblasco | request-changes | 1 | open |
| #5414 fix(theme): give syntax punctuation its own AA colour | HelloOjasMutreja | approve | 1 | open |
| #5394 fix(core): one platform detection, Unknown is no answer | Astro-Han | approve | 1 | merged |
| #5321 fix(Avatar): light-dark() for fallback initials | Abidit | approve | 1 | open |
| #5407 fix(markdown): keep the streaming cache across open fences | cixzhang | merge (self-gated, 3 passes) | 3 | merged |
| #5269 lint: forbid inline mergeRefs calls | nynexman4464 | request-changes | 1 | open |
| #5265 docs(core): correct the v0.4.5 StatusDot changelog | bhamodi | approve | 1 | open |
| #5260 feat(cli): doctor detects CSS theming escapes | josephfarina | request-changes | 1 | open |
| #5259 cli: include integration-contributed components | andrskr | approve | 1 | open |
| #5404 test: give the ui vitest project the same time | cixzhang | comment / approve (self-gated) | 2 | merged |
| #5255 feat(core)!: Banner content is visible by defa | freddymeta | approve (breaking, 0.5.0 cut) | 3 | merged |
| #5402 fix(Chat): align message-bubble tokens the way | cixzhang | merge (self-gated) | 6 | merged |
| #4743 fix(dropdown-menu): move indicator-icon theme t | athz | approve (retracts our block) | 2 | merged |
| #5391 fix(docsite): anatomy guard misses dark rendere | cixzhang | approve (self-gated) | 2 | merged |
| #5390 fix(sandbox): prune unknown ledger keys one lev | cixzhang | no loop pass | — | merged |
| #4847 fix(docsite): render the component anatomy tabl | AKnassa | approve | 2 | merged |
| #5324 fix(Chat): align composer tokens to middle ins | athz | approve | 2 | merged |
| #5287 fix(selector): block popup activation while is | athz | request-changes | 2 | open |
| #5353 fix(Toast): improve responsive and interactio | rubyycheung | comment | 1 | open (draft) |
| #5314 feat(PowerSearchMobile): the touch form of Po | imdreamrunner | comment | 1 | open (draft) |
| #5261 feat(DateInput): show the browser/OS date pic | imdreamrunner | hold: ruling | 1 | open |
| #5255 feat(core)!: Banner collapse moves to a `coll | freddymeta | request-changes | 2 | open |
| #4839 fix(cli): keep scaffolded video sources playa | AKnassa | close: superseded | 1 | closed |
| #4553 fix(cli): sync theme registry with doc targets | AKnassa | close: fixed | 1 | closed |
| #4685 fix(a11y): name RichTextEditor/RichTextView surf | AKnassa | close: superseded | 1 | closed |
| #4319 docs(core): API contract props, content compone | HelloOjasMutreja | approve (blocked, then merged) | 2 | merged |
| #4320 docs(core): API contract props for Field | HelloOjasMutreja | approve | 1 | open |
| #4316 docs(core): API contract props, 10 complex comp | HelloOjasMutreja | approve | 1 | open |
| #4083 feat(docsite): BlogShowcase empty/single post | Unmesh100 | approve | 1 | open |
| #4590 feat(list): add isFullBleed to align list item content with the container edge | jiunshinn | request-changes (round 2 drafted) | full 33m · loop 1.4.0 · 2 rounds | open; conflicting |
| #4689 fix(DateRangeInput): expose trigger as combobox | AKnassa | request-changes | 1 | open |
| #4072 docs(core): playground examples for 7 component | AKnassa | request-changes | 1 | open |
| #5107 fix(Selector, MultiSelector): hide standalone di | HelloOjasMutreja | approve | 1 | merged |
| #5322 fix(BottomSheet): guard standalone Escape aga | AKnassa | approve | 1 | merged |
| #5357 fix: standalone BottomSheet IME Escape (dupe) | HelloOjasMutreja | declined | 1 | closed |
| #5325 fix(core): blank client-hints platform is unk | Astro-Han | approve | 1 | merged |
| #5344 fix(selector): in-listbox dividers as presenta | gonzoblasco | declined | 1 | closed |
| #5107 fix(Selector, MultiSelector): hide standalone | HelloOjasMutreja | approve | 1 | merged |
| #5363 fix(Table): a plugin can suppress a body cell's | ours (+ernestt) | approve | 1 | merged |
| #5350 fix(DateInput): clearing on touch no longer jum | imdreamrunner | draft only | 1 | merged |
| #5310 feat(Table): let useTableSelection opt out of | ernestt | approve | 1 | merged |
| #5343 fix(AlertDialog): keep actions readable on n | rubyycheung | request-changes | 1 | open |
| #5354 docs: replace em dashes and curly quotes in CLI | josephfarina | approve | 1 | open |
| #5331 docs(cli): document the integration manifest doc | josephfarina | approve | 1 | open |
| #5330 docs(Avatar): restore the missing dense best-pra | josephfarina | approve | 1 | merged |
| #5329 docs: replace em dashes in MediaTheme and cli-in | josephfarina | approve | 1 | merged |
| #5317 fix(Table): keep group headers out of the caller | ernestt | approve | 1 | open |
| #5306 fix(Calendar): open on a month inside the min/ma | imdreamrunner | approve | 1 | open |
| #5292 docs(ComplexSelector): backfill two missing de | josephfarina | approve | 1 | merged |
| #5291 docs: replace em dashes in useScrollLock, Tool | josephfarina | approve | 1 | merged |
| #5251 docs: replace em dashes in theme and Selector | josephfarina | approve | 1 | merged |
| #5210 docs: replace em dashes in DateRangeInput and | josephfarina | approve | 1 | merged |
| #5201 feat(core): promote Stepper from Lab | ernestt | approve | 3 | open |
| #5200 feat(lab): harden ListInput to the states its | ernestt | comment | 1 | merged |
| #5197 feat(internal): lab readiness audit tooling + | ernestt | approve | 1 | merged |
| #5195 fix(i18n): use provider locale outside date in | nynexman4464 | approve | 2 | merged |
| #5194 feat(i18n): expose provider-backed locale hook | nynexman4464 | approve | 1 | merged |
| #5191 fix: Escape dismisses only the top-most overla | HelloOjasMutreja | comment | 1 | open |
| #5183 feat(core): let CheckboxInput and Switch name | freddymeta | request-changes | 1 | open |
| #5181 fix(NumberInput): track themed padding so the | freddymeta | approve | 2 | merged |
| #5180 docs: replace em dashes in theme-build, TextAr | josephfarina | approve | 1 | merged |
| #5179 feat(Selector): add selector-option-row theme | freddymeta | approve | 1 | merged |
| #5174 fix(core): close only the top-most layer on Es | AKnassa | comment | 1 | closed |
| #5171 feat(lint): require provider-backed locale API | nynexman4464 | approve | 1 | merged |
| #5148 feat(DateTimeInput): expose toggle-icon and cl | freddymeta | approve | 1 | merged |
| #5147 fix(core): keep tooltip status button interact | freddymeta | approve | 1 | merged |
| #5145 feat(DateRangeInput): add maxRangeSpan/minRang | freddymeta | approve | 2 | merged |
| #5144 audit(Blockquote): drop the contentinfo landma | cixzhang | comment | 1 | merged |
| #5143 fix(RadioListItem): make the whole row a click | freddymeta | approve | 2 | merged |
| #5142 docs(banner): backfill two missing dense best- | josephfarina | approve | 1 | merged |
| #5110 fix(NumberInput): reject non-numeric character | freddymeta | request-changes | 1 | open |
| #5035 fix(SegmentedControl): clamp item labels to a | ernestt | comment | 2 | merged |
| #5018 fix(core): stop popup triggers from fighting t | cixzhang | request changes | 3 | open |
| #4930 feat(core): conditional theme layer in defineT | cixzhang | comment | 1 | open |
| #4881 feat(core): one shared dismissal stack for eve | cixzhang | comment | 2 | open (draft) |
| #4865 fix(dialog): close only the top-most modal on | freddymeta | comment | 1 | closed |
| #4791 feat(FormLayout): add defaultOptionality — mar | freddymeta | approve | 2 | merged |
| #4500 feat(core): DialogHeroHeader — hero-style Dial | Lee-Dongwook | comment | 1 | closed |
| #4388 fix(MobileNav): closing the drawer could leave | AKnassa | approve | 2 | merged |
| #4327 feat(Avatar): add shape prop (circle | rounded | HelloOjasMutreja | request-changes | 2 |
| #4259 feat(lab): add LineClamp — clamp arbitrary content to N lines | HelloOjasMutreja | request changes (Round 2 drafted; no public PR action) | Round 2 full 31m · loop 1.6.0 · audit 1.13 · 2 critic gates | open; exact head 48566e3; author can proceed; CI green, Vercel failed |
| #4101 chore(deps): prune stale pnpm overrides, move | Han5991 | approve | 2 | merged |