fix: Font Face + Other stability cases + Trusted Publishing - #78
Merged
Conversation
…nresolvable asComponent
asComponent(Link as React.ComponentType) and asElement('div' as const) now
extract like their bare forms (TS as/satisfies/non-null/paren wrappers are
peeled). A target with no static identifier name bails the chain to the
runtime path with a named reason instead of emitting
createComponent(unknown, ...) - a guaranteed ReferenceError in-browser.
Verified: clippy, hygiene:rust, unit:rust (4 new chain_walk tests), canary,
parity, integration all green.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… dev lane New scenario re-roots the fixture theme through src/palette.ts (ds.ts -> theme.ts -> palette.ts) and proves an edit to the two-hop module alone triggers the geological reset and lands in the variable CSS. Passing on current main - the gap was verification, not behavior. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… hotUpdate registerSystemWatchPaths only registered loader-reported system deps; externalPackageDirs (workspace DS packages outside the root walk) were never watched, so their file events never fired and the deletion-pruning path - which already handles ..-relative cache keys - was never driven. External dirs now register, including a call after discovery assigns them (both prior registration points run earlier in the lifecycle). node_modules-installed packages remain unwatchable (Vite hard-ignores them), matching the documented system-dependency limitation. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
external-package-file-discovery delta: silence is never an outcome. The shared pipeline gains unresolvableIncludesMessage(); vite buildStart gates through ctx.enforceIncludeResolution() (strict throws naming every offending specifier, non-strict warns), runSelfVerify reports unresolvable alongside empty, and next-plugin applies the same gate in its session. Verified: build:ts, verify:compile, verify:unit:ts, vite-plugin dependents claim, next-app owner claim - all green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…lStyles
global-styles-system delta (ANI-013). FontFace/FontFaceSrc types; the
factory takes an optional { fontFaces } second argument and carries the
descriptors on the block (field omitted when empty - legacy blocks stay
byte-identical). The loader serializes the wrapped { styles, fontFaces }
form; resolve_all_global_blocks accepts wrapped and legacy shapes and
renders font-face blocks AHEAD of selector rules under @layer anm-global.
src urls emit byte-exact (host bundler owns asset resolution); family
resolves through the token vocabulary.
Verified: NAPI + TS builds, compile, types, unit:ts, unit:rust, clippy,
canary, integration - all green.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… refresh Audit found ANI-004/005/008 fixtures already present (compose-slot-bail, duplicate-compose-modules, extension-compounds, compose-default). Added the two gaps: inline-asserted-targets.tsx (ANI-015 - as-const tag and as-typed component targets extract like bare forms) and color-family-pass-through.tsx (ANI-009 - backgroundColor resolves the semantic token, borderTopColor literal passes through, responsive object slot emits the sm media query; the array form was corrected to the pinned object slot form after the first capture showed arrays drop on pass-through props). One privileged refresh under intent ani-closeout-fixture-batch-20260803; register cleared after absorption. Verified: verify:unit:ts, verify:parity green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Release job converts to npm Trusted Publishing: id-token: write, NODE_AUTH_TOKEN and npm whoami removed, npm >= 11.5.1 floor asserted; provenance is automatic under OIDC. Owner must register ci.yaml as trusted publisher for all five packages on npmjs.com before the next tag. Pack step switches to bun pm pack - the same packer verify:packed proves on every push (npm pack shipped two release-only bugs in v0.1.2). Action majors: checkout v7, setup-node v7, upload-artifact v7, download-artifact v8 (Node 20 deprecation). Receipt uploads fail loud on showcase/next/packed lanes; verify-vite keeps warn plus an ls diagnostic until its empty-artifact cause is decided by a real run. ci-graph pins updated: OIDC permissions + no-token assertion, bun packer command, new artifact action versions. Verified: vp run verify:full green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… verify:full now green Record correction: the previous commit's verify:full claim was wrong - that run failed on verify:lint (jsx-a11y anchor-has-content in the new inline-asserted-targets fixture; sibling 137s were vp cancellation). The asComponent target is now a span; only the unit's code artifact drifted (CSS and observables unchanged), re-refreshed under the same intent ani-closeout-fixture-batch-20260803 and the register cleared after absorption. vp run verify:full exits 0 on this tree. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.