Skip to content

spec 2.3: an active package's TypeScript composite is interpretable, and a host value's origin is unknown - #260

Merged
lex00 merged 2 commits into
mainfrom
spec-2.3
Oct 8, 2026
Merged

lex00 merged 2 commits into
mainfrom
spec-2.3

Conversation

@lex00

@lex00 lex00 commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Spec 2.3, a minor.

Widened: F-Call step 4 rule 1 with F-Host-Composite (chant#3607, option 1). A composite that an active package registers in TypeScript source is interpretable. The package is matched by text as F-Host-Trust arm 1 matches it and only then resolved. Compiled JavaScript or a declaration file keeps invoking. A declined interpretation continues at step 5. F-Host-Trust is unchanged. F-Host-Interface item 6, F-Host-Closed-vs-Open, the rationale's rule 1 and inventory row L7.1 now agree with chant since 0.102.0 (chant#3247). The corpus report generator no longer says chant invokes every lexicon composite.

Added: F-Obs-Provenance host values (#248). A value a host call returns or a host's plain-data export supplies is unknown and never direct, at an export or in a field. Fixtures: a host call in a field, export const k = count([1, 2]), and SIZES.large in a field and at an export.

Fixtures from chant#3610. A same-file call result read in an argument binds for that argument only, so a later read outside any argument runs whichever declarator comes first. An interpreted host composite's result read in another one's argument folds and is interpreted once (counters). The reference ran the second file and now counts an interpreted composite's result as a composite instance for reads in an argument.

chant 0.109.0 fails all five new fixtures. They are held out in chant-agreement.test.ts under chant#3610 and tsad#248. The guard now checks each held fixture on its own: it must still disagree with the reference or fail its own assertions.

Paper: fixture count 139, Appendix B names spec 2.3, and the provenance sentence says chant passes five of eight.

Closes #248

lex00 added 2 commits October 7, 2026 22:27
…and a host value's origin is unknown

F-Host-Composite and F-Call step 4 rule 1 admit a composite an active package registers in TypeScript source, matched by text as F-Host-Trust arm 1 matches it. Compiled JavaScript or a declaration file keeps invoking, and a declined interpretation continues at step 5. F-Host-Trust is unchanged. F-Host-Interface item 6, F-Host-Closed-vs-Open, the rationale and inventory row L7.1 agree, and the corpus report no longer says chant invokes every lexicon composite (chant#3607).

F-Obs-Provenance: a value a host call returns or a host's plain-data export supplies is unknown and never direct, at an export or in a field (#248). Three fixtures.

Two F-Call fixtures from chant#3610: a call result read in an argument binds for that argument only, and an interpreted host composite's result read in another one's argument folds and is resolved once. The reference now counts an interpreted composite's result as a composite instance there. chant 0.109.0 fails all five new fixtures, so they are held out by reason (chant#3610, tsad#248), and the hold-out guard now checks each fixture on its own.

Closes #248
@lex00
lex00 merged commit 3e0d673 into main Oct 8, 2026
3 checks passed
@lex00
lex00 deleted the spec-2.3 branch October 8, 2026 04:34
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.

F-Obs-Provenance: is a host-call value written at the export direct or unknown?

1 participant