-
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.
109 PRs · 96 reviews posted, 14 drafted
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 is a knot in astryx/release_blocks; 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 |
|---|---|---|---|---|
| #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 |
| #5454 fix(Table): frozen-column/grouped-row defects | ernestt | request-changes | loop 1.1.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 | loop 1.0.0 | open |
| #5540 fix(docsite): scope preview theme icons | imdreamrunner | approve | loop 1.0.0 | open |
| #5543 feat(theme): responsive width tiers in defineTheme | imdreamrunner | request-changes + human architecture | loop 1.0.0 | open |
| #5525 fix(cli): astryx.theme takes npm package names only | bhamodi | request-changes | loop 1.0.0 | open |
| #5483 feat(Banner): theme targets for description and actions | freddymeta | request-changes | loop 1.0.0 | open |
| #5214 feat(Spinner): make the ring geometry and colors themeable | freddymeta | approve (drafted, round 6) | full 22m · loop 1.4.0 · 6 rounds | open |
| #5385 feat(core): minQueryLength | freddymeta | request-changes (re-review) | current loop | open |
| #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 | request-changes (re-review) | current loop | open |
| #5484 fix(Spinner): stop narrow flex host compressing the box | freddymeta | request-changes | current loop | open |
| #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 (drafted, with Cindy) | 3 | open |
| #5531 fix(cli): ASTRYX_NO_PROJECT_CODE=1 keeps the CLI on built-in data | bhamodi | request-changes (drafted, with Cindy — one decision with #5525) | 2 | open |
| #5529 fix(theme): a theme declaration always stays one declaration | bhamodi | request-changes (drafted, with Cindy) | 3 | open |
| #5528 fix(CodeBlock): only name-shaped token types reach the dynamic highlight rule | bhamodi | request-changes (drafted, with Cindy) | 4 | open |
| #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 | request-changes (drafted, with Cindy) | 3 | open |
| #5518 ci: resolve the preview deploy target from the CI run's head commit | bhamodi | request-changes (drafted, with Cindy) | 2 | open |
| #5517 ci: derive PR-comment inputs from the workflow_run context | bhamodi | request-changes (drafted, with Cindy) | 2 | open |
| #5375 feat(Toast): add scroll-safe swipe dismissal | rubyycheung | request-changes (architecture: extract gesture hook) | 3 + driven seam calibration | open |
| #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 isEdgeAligned | jiunshinn | request-changes + ruling | 1 | open |
| #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 |
| #4101 chore(deps): prune stale pnpm overrides, move | Han5991 | approve | 2 | merged |