Releases: flyingrobots/wesley
Releases · flyingrobots/wesley
v0.0.5
[0.0.5] - 2026-05-21
Fixed
- Object extension folding validation: JS GraphQL lowering now rejects
duplicate fields and repeated Wesley directives whenextend typeblocks are
folded into base object definitions. - L1 fixture regeneration:
pnpm fixtures:irnow regenerates the tracked
Rust L1*.l1.jsonand*.l1.hashcorpus through the native Wesley CLI and
exits nonzero when any fixture fails. - Parity sentinel backlog truth: Clarified that Rust L1 fixture
regeneration is not the same as the future JS/Rust parity comparator. - Progress surface cleanup: Removed
@wesley/scaffold-multitenantfrom the
active README/progress metadata and architecture-boundary required package
checks, and replaced the generated overall status hard break with a Markdown
table. - Release dependency audit: Added pnpm overrides for patched
fast-uri,
brace-expansion, andwstransitive versions sopnpm audit --prod=false
reports no known vulnerabilities during release prep.
v0.0.4
[0.0.4] - 2026-05-15
Added
- Runtime optic requirements artifact:
compile_runtime_optic()now emits a
Wesley-ownedOpticAdmissionRequirementsArtifactcontaining canonical
requirements bytes, an explicitwesley.requirements.canonical-json.v0codec,
and a digest computed from those exact bytes. Downstream runtimes can import
the bytes, digest, and codec directly without reserializing
OpticAdmissionRequirementsto create admission truth.
v0.0.3
[0.0.3] - 2026-05-14
Added
- Stack Witness 0001 fixture artifact shape: Added a hermetic
jedit-through-Echo file-history fixture with operation ids, temporary fixture
vars bytes, declared footprints, EINT and QueryView helper shapes, fixture
vectors, and Rust/TypeScript operation binding coverage. The semicolon-kv
bytes are explicitly marked as fixture-only, whiletargetCodec: wesley-binary/v0records the future Wesley-generated binary codec target
without implementing it. - Runtime optic root argument validation:
compile_runtime_optic()now
validates selected root field arguments against the schema, preserves
canonical root argument bindings inOpticOperation, and includes those
bindings in stable operation identity. - Runtime optic selected field arguments:
compile_runtime_optic()now
validates selected payload field arguments against the schema, preserves
canonical field argument bindings inOpticOperation, and includes those
bindings in stable operation and artifact identity. - Runtime optic footprint bounds:
compile_runtime_optic()now requires
readsandwritesarrays whenever@wes_footprintis present, while
omittedforbidsstill defaults to an empty forbidden-resource list. - Runtime optic root footprint admission:
@wes_footprintis now legal only
on the selected root field for runtime optic artifacts, keeping nested
directives from changing admission-facing requirements. - Runtime optic input literal validation:
compile_runtime_optic()now
recursively validates input object literals, required nested input fields, and
enum values before emittingshape.valid.v1. - Runtime optic fragment compatibility: Runtime optic lowering now rejects
impossible fragment spreads and inline fragments by comparing parent and type
condition possible runtime types. - Runtime optic nested list validation: Runtime optic argument literal
validation now preserves nested list wrappers while descending list values, so
flattened literals cannot satisfy nested list types. - Runtime optic nested list variable compatibility: Runtime optic variable
validation now rejects nullable nested-list leaf types when the schema
argument requires non-null leaves. - Runtime optic subselection validation: Runtime optic lowering now rejects
composite fields without subselections and leaf fields with subselections
before emittingshape.valid.v1. - Runtime optic response-name validation: Runtime optic lowering now rejects
conflicting same-response-name selections before payload codec extraction can
collapse incompatible fields. - Optic registry resolver errors: Removed the unreachable
ArtifactIdMismatchresolver error from the v0 in-memory registry, where
descriptor artifact ids are lookup keys and unknown ids correctly resolve as
ArtifactNotFound. - Runtime optic footprint label validation: Runtime optic lowering now
rejects duplicate labels within each@wes_footprintreads,writes, and
forbidsarray. - Runtime optic directive argument validation: Runtime optic lowering now
rejects duplicate executable directive arguments instead of preserving
last-write-wins metadata for law and footprint directives. - Runtime optic executable subset guards: Runtime optic lowering now rejects
variable defaults,__typenameselections, and interface inheritance as
explicit v0 unsupported features instead of accepting them under
shape.valid.v1. - Authority and witness wire snapshots: Runtime optic tests now snapshot
CapabilityGrant,CapabilityPresentation,AdmissionTicket,
LawWitness, observer classes, permission actions, evidence kinds, and law
verdict enum spellings. - Runtime optic invalid-operation assertions: Runtime optic regression tests
now assert structured operation lowering errors instead of matching error
message substrings. - Runtime optic directive preservation: Runtime optic artifacts now preserve
directive records from the executable operation, nested selections, fragment
spreads, fragment definitions, and inline fragments instead of only the root
field. - Runtime optic payload aliases: Payload codec shapes now use GraphQL
response names, so aliases and repeated schema fields with distinct aliases are
reflected in payload paths and artifact hashes. - Runtime optic payload requiredness: Payload codec fields now respect
nullable ancestors, preventing non-null children under nullable parents from
being emitted as required response paths. - Runtime optic executable directive variables: Runtime optic directive
records now preserve variable-backed executable directive arguments, such as
@include(if: $flag), as canonical variable-reference JSON. - Optic artifact registry normalization: The in-memory optic artifact
registry now derives stored registration descriptors from artifact identity
fields instead of trusting stale embedded descriptor data. - Optic registration descriptor integrity coverage: The in-memory registry
tests now assert operation id tampering is rejected alongside artifact hash,
schema id, requirements digest, and missing artifact checks.
v0.0.2
[0.0.2] - 2026-05-09
Fixed
- Crates.io release clean-worktree recovery: The release workflow now keeps
GitHub Release scratch files in the runner temp directory so draft release
preparation no longer dirties the checkout beforecargo xtask publish-cratesenforces the real-publish clean-worktree guard.