0.14.1 --- what a started program receives is stated, and the grant is observed - #43
Merged
Merged
Conversation
…s observed Clause 7.13 states as a requirement what clause 11, entry 18 recorded as a fact: a started program receives the three streams and the directories its caller granted, and no other handle, including one the caller itself inherited. A program that needs an interpreter may keep one handle, naming itself. A granted directory is received as a preopen, in order and under its name, and the first grant is the directory the started program regards as the one it was started in. The conformance suite observes both by starting a copy of itself with grants; an implementation that does not claim the position is observed to refuse a grant. Two implementations claimed it for three releases while the program they started enumerated the directories it would have had anyway. No declaration changes, so the version is a patch: 0.14.1. The design and its self-review are in .agents/docs/2026-10-01-what-a-started-program-receives-design.md. Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
This was referenced Oct 1, 2026
Merged
Sunrisepeak
added a commit
to mcpplibs/openkal-windows
that referenced
this pull request
Oct 1, 2026
* 0.10.2 --- written against openkal 0.14.1 The specification is openkal 0.14.1 (mcpplibs/openkal#43). The implementation's behaviour is unchanged: a started program already received only the three streams it was given, which clause 7.13 now requires; #28 added the test that observes it. Released so that a graph naming openkal 0.14.1 can contain this implementation, since every pin in the ecosystem is exact. Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com> * README names the versions of this release Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com> --------- Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Sunrisepeak
added a commit
to mcpplibs/openkal-opensbi
that referenced
this pull request
Oct 1, 2026
* 0.8.1 --- written against openkal 0.14.1 The specification is openkal 0.14.1 (mcpplibs/openkal#43), which states what a started program receives (clause 7.13) and changes no declaration. This implementation provides no process start, so nothing in it changes; it is released so that a graph naming openkal 0.14.1 can contain it, since every pin in the ecosystem is exact. Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com> * README names the versions of this release Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com> --------- Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Sunrisepeak
added a commit
to mcpplibs/openkal-uefi
that referenced
this pull request
Oct 1, 2026
* 0.8.1 --- written against openkal 0.14.1 The specification is openkal 0.14.1 (mcpplibs/openkal#43), which states what a started program receives (clause 7.13) and changes no declaration. This implementation provides no process start, so nothing in it changes; it is released so that a graph naming openkal 0.14.1 can contain it, since every pin in the ecosystem is exact. Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com> * README names the versions of this release Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com> --------- Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Sunrisepeak
added a commit
to mcpplibs/openkal-emscripten
that referenced
this pull request
Oct 1, 2026
The specification is openkal 0.14.1 (mcpplibs/openkal#43), which states what a started program receives (clause 7.13) and changes no declaration. This implementation provides no process start, so nothing in it changes; it is released so that a graph naming openkal 0.14.1 can contain it, since every pin in the ecosystem is exact. Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.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.
Clause 7.13 states as a requirement what clause 11, entry 18 recorded as a fact: a program started by
kal_process_spawnreceives the three streams and the directories its caller granted, and no other handle, including one the caller itself inherited. A program that needs an interpreter may keep one handle, naming itself.A granted directory is received as a preopen, in order and under its name, and the first grant is the directory the started program regards as the one it was started in (
kal::fs::working, and what openkal-musl treats as the current directory).process.handfs.cppmsay so.The conformance suite observes the grant by its effect: it starts a copy of itself with two granted directories and has the copy report what
kal_fs_preopenenumerates, and with a count of zero. An implementation that does not claimKAL_PROCESS_PROP_GRANT_DIRis observed to refuse a grant. Against openkal-linux 0.15.0 both observations fail; against the implementation in mcpplibs/openkal-linux#31 they hold (193 held, 0 did not hold, 3 not observed).No declaration changes; the version is 0.14.1.
Arose from mcpplibs/openkal-linux#30. Design and self-review:
.agents/docs/2026-10-01-what-a-started-program-receives-design.md.Paired branches (
openkal-0.14.1): mcpplibs/openkal-linux (mirror of #31), mcpplibs/openkal-macos, mcpplibs/openkal-windows.