Skip to content

as/transform: near-miss marker warning (F1) + asc dep floor (F2) - #28

Merged
zarah-s merged 1 commit into
mainfrom
as-transform-followups
Aug 6, 2026
Merged

as/transform: near-miss marker warning (F1) + asc dep floor (F2)#28
zarah-s merged 1 commit into
mainfrom
as-transform-followups

Conversation

@zarah-s

@zarah-s zarah-s commented Aug 6, 2026

Copy link
Copy Markdown
Member

Follow-ups from the #23 review (tracked in the now-closed #27).

F1 — a decorator one edit from a marker (@veiw, @mutatng, @payble) was silently left on the AST and its function compiled unchecked. partitionDecorators now takes an optional warn and flags a non-marker within one edit (transposition-aware, so @veiw is caught) of a real marker. Diagnostic only — wasm unaffected; real markers and @inline never trip it. +2 tests.

F2 — the asc dep floor (^0.27.0 / peer >=0.27.0) sat below the enforced floor 0.27.30; a clean install resolving <0.27.30 would stand the transform down while tests expect it running. Both now >=0.27.30 <0.29.0, matching SUPPORTED_ASC_RANGE.

F3 left as-is — by design (parser reads only [functions.NAME] headers, a tested choice; fail-closed, otigen only emits headers).

Suite: 31/31 on asc 0.27.37 and 0.28.20.

Two follow-ups from the #23 review.

F1 — a decorator one edit away from a marker (@veiw, @mutatng, @payble)
was silently left on the AST and the function it meant to constrain
compiled unchecked — the one silent-miss that most undermines the
'checked against otigen.toml' promise. partitionDecorators now takes an
optional warn callback and, for a non-marker decorator within one edit
(transposition included) of a real marker, tells the author it is being
left unchecked and what they likely meant. Purely diagnostic — the wasm
is unaffected, and a real marker or an asc built-in (@inline) never trips
it. Covered by two collectIntents tests.

F2 — the asc dep floor (^0.27.0 / peer >=0.27.0) sat below the range the
transform actually enforces (>=0.27.30). A clean install resolving
0.27.0-0.27.29 would stand the transform down while the tests expect it
to run. Both the devDep and the peer range now start at 0.27.30 and cap
below 0.29.0, matching SUPPORTED_ASC_RANGE.

F3 (unconventional manifest shapes) is left as-is: the parser reads only
[functions.NAME] headers by design — a tested choice — it is fail-closed
with an actionable error, and otigen only ever emits headers.

Suite: 31/31 on asc 0.27.37 and 0.28.20.
@zarah-s
zarah-s merged commit f13ab7e into main Aug 6, 2026
@zarah-s
zarah-s deleted the as-transform-followups branch August 6, 2026 09:16
zarah-s added a commit that referenced this pull request Aug 6, 2026
First npm release carrying the intent transform (#23) and its follow-ups
(#28): @view/@mutating/@payable checked against otigen.toml, plus the
near-miss marker warning and the tightened asc floor. assembly/ (raw.*
escape hatch, ctx/exit/hash wrappers) ships unchanged.
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.

Intent transform (#23) follow-ups: misspelled markers silently skipped; asc devDep floor; manifest-shape edge cases

1 participant