Skip to content

Navigation Menu

Sign in
Sign up

History / Night Watch Doc Reviewer

Revisions

  • Correct radius role tokens, CLI and sandbox paths, and the renamed templates gallery route

    @cixzhang cixzhang committed Aug 11, 2026
  • Doc Reviewer: the last two docs-types references

    @cixzhang cixzhang committed Aug 11, 2026
  • Doc types come from @astryxdesign/cli/authoring; docs-types.ts does not exist

    @cixzhang cixzhang committed Aug 11, 2026
  • Fix spacing around the Doc Reviewer rubric note

    @cixzhang cixzhang committed Aug 10, 2026
  • Reduce the deprecated API Auditor to a redirect; point Doc Reviewer at the rubric The API Auditor's checks are all carried by the rubric now, including the composition items its successor had dropped. The Doc Reviewer keeps its scripts and per-check detail — those are the enforcement the rubric cites — and gains a note saying the rubric owns the grading.

    @cixzhang cixzhang committed Aug 10, 2026
  • Doc Reviewer: refresh all check paths for the CLI restructure The restructure relocated the CLI tree and several audit checks silently went dead (globbing paths that no longer exist, so passing on zero files): - Templates moved packages/cli/templates/ -> packages/cli/assets/templates/ (614 block + 43 page docs). Checks 3/6/7/8/9/10/11 globbed the empty old path and were passing on nothing. - Reference docs moved packages/cli/docs/ -> packages/cli/assets/docs/. - src/ split: docs loader -> api/docs/docs.mjs; component-loader -> foundation/discovery/; docOverlays.test -> api/docs/; bin -> clients/cli/bin/astryx.mjs. - Check 18 config/README drift: the Zod schemas are now module-PRIVATE (const configSchema / const integrationSchema) split across authoring/config/parse.mjs + authoring/integration/parse.mjs, not the old exported names in src/lib/. Rewrote the audit to read both files and match the private names. Verified against current main: block globs resolve (614+43 files) and the config drift audit reads real schema keys instead of empty sets.

    @josephfarina josephfarina committed Aug 7, 2026
  • Night Watch: catch docs that name things which do not exist Generalizes the useToggle finding. That bug was not "an example broke" but "a doc named a subject that does not exist" — a hook, component, topic, or template that was renamed or never existed, inside an otherwise valid command. Records the method, because the obvious approach is wrong: extracting `astryx <cmd> <subject>` by regex and checking the subject against --list was tried and produced 8 false findings out of 11. Aliases still resolve (`component XDSButton` is absent from --list but exits 0 and prints the Button doc), and ordinary prose matches the pattern ("...only contains astryx component strings."). Executing the invocation settles both, and is what caught useToggle. Also notes that a subject resolving only through a legacy alias is a softer finding: it works, but it teaches the old name. Co-authored-by: Cursor <cursoragent@cursor.com>

    @josephfarina josephfarina committed Aug 5, 2026
  • Night Watch: run the CLI's documented examples, and stop hand-writing .d.mts Check 19 had gone stale against main and was missing the one CLI check that finds real rot. - Examples: every CommandDoc carries `examples` and nothing ever executed them. The drift harness compares flags and args, so an example naming a subject that does not exist looks valid. Running them turned up `astryx hook useToggle --json`, which fails with ERR_UNKNOWN_HOOK — shipped in `astryx manifest --json`, which agents read. Adds a runnable script, plus the gotcha that the sandbox cwd must be inside the repo or core resolution fails and every example reports as broken. - Structure: the doc-type quartet is a trio now. parse.d.mts is generated, so the check no longer asks for it — and an agent must never hand-write one to satisfy a missing-declaration error. Points at sync:api-types and the published-surface verifier instead. - Layering: notes that the import directions and defineCommand registration are ESLint errors now, not things to eyeball. Co-authored-by: Cursor <cursoragent@cursor.com>

    @josephfarina josephfarina committed Aug 5, 2026
  • Night Watch: correct the CLI doc checks (check 19) The golden harness is a local-only verification tool, not committed, so the Doc Reviewer instructions pointed at `pnpm -F @astryxdesign/cli golden:check`, a script that does not exist. Replace it with the checks that do ship: the drift harness and `pnpm check:cli-structure`. Also: `--help` is now generated from each CommandDoc via defineCommand, so note that editing a command doc changes user-visible help and should be eyeballed; and stop claiming the docs already feed `astryx docs` and the doc site, which are still to come. Co-authored-by: Cursor <cursoragent@cursor.com>

    @josephfarina josephfarina committed Aug 5, 2026
  • Doc Reviewer: cover the CLI's colocated docs (check 19) Co-authored-by: Cursor <cursoragent@cursor.com>

    @josephfarina josephfarina committed Aug 4, 2026
  • Doc Reviewer: add check 18, CLI config & integration doc drift Add a names-in-sync audit that compares the astryx.config and astryx.integration Zod schemas (packages/cli/src/lib/config-schema.mjs, the runtime source of truth) against the CLI README's field tables, so a schema field add/remove/rename that leaves the README stale is caught nightly. Includes a detection-only audit script and updates the Findings template and State JSON with a configDocDrift counter.

    @josephfarina josephfarina committed Jul 21, 2026
  • Doc Reviewer: document reference-doc overlay contract (id-anchored, prose-only blocks) Reference docs (astryx docs <topic> --lang zh|dense) use ReferenceTranslationDoc via api/docs.mjs, which is a separate system from the component/hook overlays already covered. Overlays now anchor by section title + block id and are prose-only; the old positional content array is rejected by the gate (docOverlays.test.mjs). Documents the shape so the Doc Reviewer generates it. Co-authored-by: Cursor <cursoragent@cursor.com>

    @josephfarina josephfarina committed Jul 20, 2026
  • Doc Reviewer check 1: fix dead post-rebrand glob (Astryx*.tsx matched 0 files) Check 1 (Storybook @example compat) scanned 'packages/core/src/*/Astryx*.tsx'. Components were unprefixed in the Astryx rebrand, so that glob matches ZERO files and the entire check has been silently passing on nothing every run. It masked 15 real violations on main: 6 files with the Storybook-breaking ```tsx language tag plus 9 with // comments, blank lines, or a bare > inside @example code fences (all of which break autodocs rendering). Scan bare-named .tsx recursively under BOTH packages/core/src and packages/lab/src (excluding *.test.*, *.story*, *Context*) in the prose scan, the grep helper, and the python audit script. Verified the corrected scan finds the 15 files on current main.

    @josephfarina josephfarina committed Jul 14, 2026
  • Doc Reviewer: fix theming (check 5) false positives; mark componentsUsed (check 7) advisory Check 5 (theming sync) two bugs, both inflated DRIFT: - The doc_map regex only matched visualProps on the SAME line as className, so any target whose visualProps span multiple lines read as empty ([]), a false drift. Parse the whole target object with a multiline-aware regex instead. - Targets may expose 'states' (selectors like selected/disabled/today) INSTEAD of visualProps. The old script ignored states entirely, so every state-only target (astryx-calendar-day, etc.) looked like it was missing its props. Track states separately and never flag a states-only target as a visualProps drift. DRIFT drops from 32 (mostly false) to 17 genuine; documented in the schema. Check 7 (componentsUsed) cannot be made reliably green by a regex: the convention is not uniform in the source (module vs named import, and layout primitives recorded inconsistently as alias vs module). Rewrote it as an explicitly ADVISORY check (union of named imports + module names removes the module-vs-named class of false positive) with a prominent warning not to open block-metadata PRs off its output. A real fix needs a maintainer decision on the canonical componentsUsed contract plus a one-time normalization.

    @josephfarina josephfarina committed Jul 8, 2026
  • Doc Reviewer check 17: detect AI-slop tells authored as JS escape sequences The typographic detection helper only scanned for raw Unicode chars, so tells written as escapes (\u2014 em dash, \u2013 en dash, \u2018/\u2019 curly single, \u201c/\u201d curly double, \u2026 ellipsis) slipped through even though they decode to the same characters and reach rendered CLI/docs output. Add an escape-aware grep line and a rubric note that escape-authored tells are in scope, with guidance on replacing the escape with the correct plain character. Same CJK (\u2014\u2014) and numeric-range exemptions apply.

    @josephfarina josephfarina committed Jul 4, 2026
  • Fix stale Doc Reviewer audit scripts (checks 5 and 10) Check 5 (theming sync): themeProps() second-arg parsing captured object values as prop names via a bare \w+ findall, so shorthand+value pairs like {size: resolvedSize} produced visualProps ['resolvedSize','size'] and a false DRIFT on every such component. Parse the object key only (before the colon), handling shorthand, key:value, and spreads. Check 10 (aspect ratio): the regex [\d./-]+ stopped at the space in '16 / 9' and matched just '16', tripping the >10 SUSPICIOUS branch on every widescreen block (271 false positives). Match a full ratio 'N / N' (optional spaces) or a bare number instead. Both verified against packages/core and packages/cli/templates on current origin/main: check 10 now reports 0 false positives; check 5 reports real missing/stale only, no value-capture noise.

    @josephfarina josephfarina committed Jul 1, 2026
  • Update wiki for XDS → Astryx rename Refresh outdated references across all wiki articles to match the current codebase after the XDS → Astryx rebrand: - Package scope @xds/* → @astryxdesign/* (theme-default/theme-daily → theme-neutral; ESLint rule → @astryx/*) - CLI command xds → astryx; fix stale commands (build-theme → theme build, agent-docs folded into init) - CSS/layers: xds.css → astryx.css, @layer xds → @layer astryx-base, @layer xds.theme → @layer astryx-theme - Config key "xds" → "astryx"; env var XDS_THEME → ASTRYX_THEME - Repo facebookexperimental/xds → facebook/astryx; versions 0.0.15 → 0.1.1 - Swizzle output dir components/xds/ → components/astryx/ - API rename xdsThemeProps → themeProps (verified against source) - Asset set xds_oss → astryx (browse via internalfb.com/assets/set/astryx) - Correct component-purity docs: components are unprefixed (no "Astryx" prefix) Co-authored-by: Cursor <cursoragent@cursor.com>

    @rubyycheung rubyycheung committed Jul 1, 2026
  • Astryx design system wiki Documentation for the Astryx design system: API conventions, component authoring, theming, RSC utilities, Night Watch automation, and contribution guides.

    @cixzhang cixzhang committed Jun 23, 2026

AltStyle によって変換されたページ (->オリジナル) /