Skip to content
Merged
Show file tree
Hide file tree
Changes from 42 commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
2e08497
pin the StyleX lint plugin and the Tailwind->StyleX converter
schickling-assistant Sep 1, 2026
6003e7d
require Storybook 10.5 so the visual gate can test one project per theme
schickling-assistant Sep 1, 2026
5127de2
refactor(stylex): make the token package browser-pure and own CSS inj…
schickling-assistant Sep 1, 2026
0b1caeb
feat(utils): add the story-driven visual and accessibility gate
schickling-assistant Sep 1, 2026
b6a200b
feat(stylex): wire the story gate into effect-schema-form-aria
schickling-assistant Sep 1, 2026
0b10a63
fix(stylex): register the StyleX compiler in the gate's Vitest project
schickling-assistant Sep 1, 2026
2e6b9e5
fix(stylex): let the gate report regressions rather than absolute health
schickling-assistant Sep 1, 2026
9d0092c
fix(stylex): serve workspace sources to the gate's derived worktree
schickling-assistant Sep 1, 2026
2f6d6ec
docs(changelog): record the story gate
schickling-assistant Sep 1, 2026
b4fe3a1
fix(nix): refresh the pnpm-deps hashes the lockfile move invalidated
schickling-assistant Sep 1, 2026
6f4cf05
style(stylex): satisfy the repo's explicit-boolean-compare rule
schickling-assistant Sep 1, 2026
b534e50
fix(stylex): stop the gate passing over an unusable baseline, and fre…
schickling-assistant Sep 1, 2026
48104c1
fix(nix): substitute rather than replace the oxlint JS-plugin list
schickling-assistant Sep 1, 2026
baf65c7
feat(oxc-config): enforce the StyleX token constraint in two layers
schickling-assistant Sep 1, 2026
2952a63
fix(stylex): limit the motion freeze to motion, and record its flake …
schickling-assistant Sep 1, 2026
9803768
chore: regenerate config and re-measure the pnpm-deps FODs
schickling-assistant Sep 1, 2026
a4fcb0c
fix(effect-schema-form-aria): resolve the pilot package's three drift…
schickling-assistant Sep 1, 2026
ff33f7b
docs(changelog): record the pilot package drift resolution
schickling-assistant Sep 1, 2026
78fd512
fix(stylex): pin React to the consuming tree so cross-checkout storie…
schickling-assistant Sep 1, 2026
481d1fe
fix(stylex): let the comparator tolerate sub-pixel AA without going b…
schickling-assistant Sep 1, 2026
01dc4c2
feat(stylex): turn on cascade layers for the one target that can take…
schickling-assistant Sep 1, 2026
0ce081d
feat(stylex): refuse a green run over a matrix dimension that never v…
schickling-assistant Sep 1, 2026
e3f4aad
fix(stylex): stop the animation tokens compiling to nothing at all
schickling-assistant Sep 1, 2026
ad7c243
fix(stylex): wait for a settled DOM instead of two equal frames
schickling-assistant Sep 1, 2026
bfb207e
fix(stylex): actually subtract the exclusion set the gate already com…
schickling-assistant Sep 1, 2026
5694855
fix(stylex): stop the settle signal believing quiet it has not earned
schickling-assistant Sep 1, 2026
5418cd2
feat(stylex): land the focus-order detector as a runnable check
schickling-assistant Sep 1, 2026
d26bb0b
fix(stylex): stop the gate exiting 0 without running when reached by …
schickling-assistant Sep 1, 2026
cd82fec
fix(stylex): stop a story settling twice from counting as reproducible
schickling-assistant Sep 1, 2026
9e8a0d9
test(effect-schema-form-aria): add the focused-control stories the ri…
schickling-assistant Sep 2, 2026
16dc323
fix(story-gate): thread consumer plugins into every project, not the …
schickling-assistant Sep 2, 2026
b05ccb9
refactor(effect-schema-form-aria): move the focus ring from boxShadow…
schickling-assistant Sep 2, 2026
219a1c3
Merge origin/main into the StyleX catalog-pins stack base
schickling-assistant Sep 2, 2026
e7432b5
build(nix): refresh seven pnpm closure hashes for the merged tree
schickling-assistant Sep 2, 2026
1946b0a
Merge the catalog-pins stack base (KNOWN RED: pruned-workspace lock gap)
schickling-assistant Sep 2, 2026
462d12c
Merge main into the collapsed StyleX stack
schickling-assistant Sep 2, 2026
76cf59a
build: regenerate the merged lockfile and refresh eight contracted FO…
schickling-assistant Sep 2, 2026
00958ee
chore(genie): regenerate the projections that could be generated
schickling-assistant Sep 2, 2026
ce942f1
fix(buck2): give the importer root .bin a pnpm-compatible winner inst…
schickling-assistant Sep 2, 2026
f73adba
Merge the gate plugin-scope fix, which the collapse was silently missing
schickling-assistant Sep 2, 2026
5c01243
fix(lint): satisfy the collapsed stack's own lint toolchain
schickling-assistant Sep 2, 2026
5e05410
Merge remote-tracking branch 'origin/main' into schickling-assistant/…
schickling-assistant Sep 2, 2026
5bfcd86
fix(genie): point the Buck projection test at the renamed stylex-tokens
schickling-assistant Sep 2, 2026
dc74fb2
fix(nix): restore the oxlint wrapper fixes the collapse merge reverted
schickling-assistant Sep 2, 2026
6641635
test(effect-schema-form-aria): re-record the focus-ring outline class…
schickling-assistant Sep 2, 2026
dec3aa2
fix(story-gate): close four false-green paths found in review of #1191
schickling-assistant Sep 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/labels.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,11 @@ result-*
storybook-static
.vercel

# Story gate — diff images from a failed screenshot assertion. Evidence for one
# run, never an artifact: baselines are derived from a git ref on demand and
# live under node_modules/.cache, so nothing the gate produces is committed.
.vitest-attachments

# Playwright
test-results
playwright-report
Expand Down
101 changes: 99 additions & 2 deletions .oxlintrc.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 19 additions & 2 deletions .oxlintrc.json.genie.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,34 @@ import {
baseOxlintPlugins,
baseOxlintRules,
otelOxlintRules,
stylexOxlintRules,
} from './genie/oxlint-base.ts'
import { oxlintConfig, type OxlintConfigArgs } from './packages/@overeng/genie/src/runtime/mod.ts'

/** Path to custom oxlint rules plugin */
const OXC_PLUGIN_PATH = './packages/@overeng/oxc-config/src/mod.ts'

/**
* Path to the `@stylexjs` namespace shim, which re-exports the upstream
* `@stylexjs/eslint-plugin` rules. A second plugin entry rather than the bare
* package specifier, because upstream ships no `meta.name` and a bare specifier
* only resolves from the root `node_modules`, which this aggregate root cannot
* carry a dependency in. See that file's header.
*/
const STYLEX_UPSTREAM_PLUGIN_PATH =
'./packages/@overeng/oxc-config/src/stylex-upstream-plugin.ts'

export default oxlintConfig({
plugins: baseOxlintPlugins,
jsPlugins: [OXC_PLUGIN_PATH],
jsPlugins: [OXC_PLUGIN_PATH, STYLEX_UPSTREAM_PLUGIN_PATH],
categories: baseOxlintCategories,
rules: baseOxlintRules,
rules: {
...baseOxlintRules,
// StyleX enforcement, both layers (decision 0005 Amendment 2). Repo-wide
// rather than scoped, so a target becomes gated the moment it starts using
// StyleX — the rules are inert in files that never call the StyleX API.
...stylexOxlintRules(),
},
ignorePatterns: [
...baseOxlintIgnorePatterns,
// The emitted Weaver registry directory: generated YAML/TS bindings + thin codegen glue
Expand Down
Loading
Loading