Skip to content

feat: Extension DX - #79

Merged
codecaaron merged 8 commits into
mainfrom
fix/extraction-dx
Aug 5, 2026
Merged

feat: Extension DX#79
codecaaron merged 8 commits into
mainfrom
fix/extraction-dx

Conversation

@codecaaron

Copy link
Copy Markdown
Owner

No description provided.

codecaaron and others added 8 commits August 4, 2026 00:50
…ts fail named

Cold-reviewer panel unanimously flagged both 0.1.3 probe gaps:

chain_walk resolves dotted static-member target paths for asComponent
(Compound.Item, deep Ns.Compound.Item, assertions peeled at every hop -
erased type syntax must never change extraction). Computed members and
call results still bail loudly. The emitter already renders AsComponent
tags verbatim, so the member path compiles as-is. 4 new walker tests;
corpus unit gains MemberWrapped, refreshed under intent
member-target-extraction-20260804 (register cleared after absorption).

The system loader now rejects bundler asset imports (?url/?raw/?inline
suffixes and binary asset extensions) at crawl time with an error naming
the specifier, the importing module, and the literal-URL fix - previously
a woff2?url import crawled as an exports-less module and died as
"cannot read property 'default' of undefined" with an empty-config build
in non-strict mode. 2 new loader tests.

Verified: clippy, hygiene:rust, unit:rust, canary, integration, parity,
unit:ts, lint all green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…hored discovery tracing

Increment 01 of standardize-inheritance-and-assets: createSystem().from()
(phantom-stage enforced first-position, type admission without registry
merge, includes delegating as deprecated alias), createTheme().from()
library-bundle tokens-half acceptance, and createSystem-anchored from()
tracing in extractSystemFilePackages so theme-side from() never grants
discovery membership.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ource-token witness

Increment 02 of standardize-inheritance-and-assets: the engine records
external-token candidates (pre-shed walk gated by declared external dirs;
new 17th analyze slot), the loader captures per-module built-theme
manifests from the evaluation it already performs, collection attributes
files/dirs to their owning specifier, and the TS-side join turns a
witnessed miss into the teaching error naming token, component, source
package, and the missing createTheme().from(...) — warn non-strict,
build failure under strict, in both plugins. Corpus manifests stay
byte-identical (parity gate: zero baseline movement).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ubstitution

Increment 03 of standardize-inheritance-and-assets: asset(specifier)
returns a branded string whose value IS the placeholder
(animus-asset:<specifier>), riding the sandbox JSON serialization and the
emitter's byte-exact url pass-through unchanged. Vite substitutes via
/@fs/ in dev and emitFile + a post-ordered generateBundle rewrite in
build (hashed name + base); Next resolves through Node/package-root and
hands a relative .animus/assets/ url to its own CSS asset pipeline.
Unsubstitutable refs warn + emit literally, or fail the build under
strict. The crawl-time asset-import error now points at asset(). vite-app
becomes the end-to-end witness: from()-form discovery + a package-owned
font asserted as a hashed URL + emitted file in dist.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…journal

verify:full green end-to-end (35 tasks): the packed-proof DEF-5 gate
caught the extensionless './asset' declaration import — now './asset.js'
per repo convention.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@codecaaron codecaaron changed the title Fix/extraction dx feat: Extension DX Aug 5, 2026
@codecaaron
codecaaron merged commit c377f95 into main Aug 5, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant