Skip to content

0.13 --- whether a node may be started, a start that is not a program, and the two directions of a connection - #33

Merged
Sunrisepeak merged 3 commits into
mainfrom
openkal-0.13
Sep 17, 2026
Merged

Sunrisepeak merged 3 commits into
mainfrom
openkal-0.13

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

Part of the openkal 0.13 wave. Every repository of the wave uses the branch openkal-0.13, so each CI takes the others' working trees.

What changes

  • KAL_INFO_EXECUTABLE, KAL_FS_PROP_EXECUTABLE, kal_fs_set_executable_at. Whether a node may be started is a property of the node and presupposes no principal (clause 11 item 6). kal_node_info grows by the field and a reserved word (clause 4.2; clause 5.3 now states the exception). Size 56 on every target.
  • kal_err_not_program = 14. Clause 5.2 states the criterion for adding a value and records this one against it.
  • The two directions of a connection are independent (net.h, datagram.h, clause 6.6).
  • kal_process_spawn states that a start that did not happen is reported, by its reason.
  • Conformance: the executable record (claimed and unclaimed), a name that does not exist, a text file that is not a program, and a bounded observation that a waiting read does not delay a write.
  • README: what a program built on openkal may assume, layer by layer.
  • Clause 11 entries 16 to 19.
  • Documents and comments carry no emoji.

Verification

  • tools/check-declarations.sh: 104 names, compiled without the environment's headers.
  • tools/check-types.sh clang: 175 declarations conform.
  • tools/gen-macros.sh: regenerated.
  • Conformance against openkal-linux openkal-0.13 (0.13.0), full,optional: 190 held, 0 did not hold, 3 not observed.
  • openkal-linux's own test for kal_err_not_program was run red with the mapping removed.

Design record: .agents/docs/2026-09-17-openkal-ecosystem-cross-repo-design.md, execution plan .agents/docs/2026-09-17-openkal-0.13-ecosystem-execution-plan.md.

…, and the two directions of a connection

Three declarations, each admitted because its absence left a caller wrong.

KAL_INFO_EXECUTABLE, KAL_FS_PROP_EXECUTABLE and kal_fs_set_executable_at.
Whether a node may be started is a property of the node and presupposes no
principal, which is why it is defined where a permission is not (clause 11
item 6). kal_node_info grows by the field and a reserved word, the growth
clause 4.2 permits; clause 5.3 now states the exception. A packaging tool above
openkal-musl could not leave an unpacked program startable, and an archive
extracted above the interface lost the property without an error.

kal_err_not_program. A name that exists and may be started and is not in a form
the environment can start. openkal-linux reported it as kal_err_io, which a C
library returned as EIO where a host returns ENOEXEC (issue 28). Clause 5.2
states the criterion for adding a value, and the criterion this one meets.

The directions of a connection are independent (net.h, datagram.h, clause 6.6).
The order of concurrent operations upon one handle remains unspecified; a read
waiting for the peer shall not hold back a write the peer waits for.

kal_process_spawn states that a start that did not happen is reported, by its
reason. The conformance suite observes it with a name that does not exist, a
text file that is not a program, the executable record, and a write that a
waiting read shall not delay, bounded so that a serialising implementation is
reported rather than left waiting. Against openkal-linux 0.13.0: 190 held, 0 did
not hold, 3 not observed.

README states what a program built on openkal may assume, layer by layer.
Clause 11 entries 16 to 19 record what was settled and what was considered and
not defined (a stream at an arbitrary position, a stream handle of zero).

Documents and comments carry no emoji.
@Sunrisepeak
Sunrisepeak merged commit 789701a into main Sep 17, 2026
22 of 24 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