(builtin-env cfg)The host boundary, resolved once: which interpreter to run, which directory relative paths mean, and whether to refuse the ones that leave it. A missing interpreter is a configuration fact, and turn fourteen of a paid run is the expensive place to learn it.
The host boundary, resolved once: which interpreter to run, which directory relative paths mean, and whether to refuse the ones that leave it. A missing interpreter is a configuration fact, and turn fourteen of a paid run is the expensive place to learn it.
(builtin-toolkit)(builtin-toolkit opt)The enabled builtins as a toolnexus.tool toolkit.
The enabled builtins as a `toolnexus.tool` toolkit.
The ten §4A builtins with the default host boundary, in the order of the SPEC table. One definition, not two: the cfg-aware builder is the only place the set is listed, so the two cannot drift.
The ten §4A builtins with the default host boundary, in the order of the SPEC table. One definition, not two: the cfg-aware builder is the only place the set is listed, so the two cannot drift.
(builtin-tools-for cfg)The ten §4A builtins, built against a host boundary — the interpreter, base directory and confinement of a builtins config (ADR 0034). A nil config is the historical behaviour: the detected interpreter, paths relative to the process working directory, no confinement.
The ten §4A builtins, built against a host boundary — the interpreter, base directory and confinement of a builtins config (ADR 0034). A nil config is the historical behaviour: the detected interpreter, paths relative to the process working directory, no confinement.
§4A: timeout?:number(ms, default 60000).
§4A: `timeout?:number(ms, default 60000)`.
(enabled-builtins opt)The builtin tools this config exposes. A whole-source-off SHORT-CIRCUITS:
the tools map is never consulted (§0.11).
builtins.tools with a true value. REPORTED.Two sections of SPEC.md specify DIFFERENT FUNCTIONS for the same input, while each claims to be the other:
§4A + §4 'Assembly order & builtin toggle' (and §0.11 itself) — 'a name→bool map applied on the ALL-ON BASELINE: a tool mapped to false is dropped, true (or absent) stays on.' ⇒ {:tools {:bash true}} = ALL TEN.
§3 S2 (skills filter) and §2 Gap 7 (MCP per-server filter), both of which describe themselves as 'identical to ... builtins §4A' — 'nil/empty ⇒ all; ≥1 true ⇒ ALLOWLIST (only true-mapped names)' ⇒ {:tools {:bash true}} = BASH ONLY.
This implements the §4A wording — the section that OWNS builtins, states it twice, and which §0.11 restates. Spike s22 made the same call. Whichever way it is resolved, §3-S2 and §2-Gap-7 must stop claiming they are identical to §4A unless they are. Six ports cannot be byte-identical against a spec that specifies two behaviours for one input.
The builtin tools this config exposes. A whole-source-off SHORT-CIRCUITS:
the `tools` map is never consulted (§0.11).
===================================================================
KNOWN SPEC DEFECT — `builtins.tools` with a `true` value. REPORTED.
===================================================================
Two sections of SPEC.md specify DIFFERENT FUNCTIONS for the same input,
while each claims to be the other:
§4A + §4 'Assembly order & builtin toggle' (and §0.11 itself) —
'a name→bool map applied on the ALL-ON BASELINE: a tool mapped to false
is dropped, true (or absent) stays on.'
⇒ {:tools {:bash true}} = ALL TEN.
§3 S2 (skills filter) and §2 Gap 7 (MCP per-server filter), both of which
describe themselves as 'identical to ... builtins §4A' —
'nil/empty ⇒ all; ≥1 true ⇒ ALLOWLIST (only true-mapped names)'
⇒ {:tools {:bash true}} = BASH ONLY.
This implements the §4A wording — the section that OWNS builtins, states it
twice, and which §0.11 restates. Spike s22 made the same call. Whichever way
it is resolved, §3-S2 and §2-Gap-7 must stop claiming they are identical to
§4A unless they are. Six ports cannot be byte-identical against a spec that
specifies two behaviours for one input.(glob-match? pattern path)** crosses separators, */? do not — so a recursive sweep is **/*.md.
`**` crosses separators, `*`/`?` do not — so a recursive sweep is `**/*.md`.
How long a job gets between "please stop" and "stop". Fixed, and identical in every port, so a timeout means the same thing everywhere.
How long a job gets between "please stop" and "stop". Fixed, and identical in every port, so a timeout means the same thing everywhere.
(render-questions questions)§4A, byte-identical across ports: each question's text in order, with
" (options: a, b, c)" appended when it has non-empty options, joined by
"\n", no trailing newline. header is NOT rendered — it stays in
data.questions.
§4A, byte-identical across ports: each question's text in order, with " (options: a, b, c)" appended when it has non-empty options, joined by "\n", no trailing newline. `header` is NOT rendered — it stays in `data.questions`.
(shell)(shell cfg)The interpreter the builtins resolved for bash — what a host prints, and
what metadata.shell carries on every bash result.
The interpreter the builtins resolved for `bash` — what a host prints, and what `metadata.shell` carries on every bash result.
(shell-candidates)The interpreters tried when the host names none. %COMSPEC% leads on Windows
because PowerShell is routinely blocked by execution or application-control
policy, while %COMSPEC% is always present.
The interpreters tried when the host names none. `%COMSPEC%` leads on Windows because PowerShell is routinely blocked by execution or application-control policy, while `%COMSPEC%` is always present.
(source-on? opt)Whole-source gate. builtins:false | {disabled:true} | {enabled:false}
turn the source off, with MCP precedence: disabled:true wins, else
enabled:false disables, else on. Absent ⇒ ON (the default).
Whole-source gate. `builtins:false` | `{disabled:true}` | `{enabled:false}`
turn the source off, with MCP precedence: `disabled:true` wins, else
`enabled:false` disables, else on. Absent ⇒ ON (the default).UTF-8 byte length of s — koine.text/utf8-length.
The hand-rolled version here was WRONG on both hosts (8 and 5 bytes for a 6-byte answer — it folded code units, not code points) and was fixed locally before koine 0.11.0 lifted the correct fold into the seam. Delegating keeps one implementation; the regression test in builtin_test stays here, guarding the call site rather than trusting the seam blindly.
UTF-8 byte length of `s` — `koine.text/utf8-length`. The hand-rolled version here was WRONG on both hosts (8 and 5 bytes for a 6-byte answer — it folded code units, not code points) and was fixed locally before koine 0.11.0 lifted the correct fold into the seam. Delegating keeps one implementation; the regression test in builtin_test stays here, guarding the call site rather than trusting the seam blindly.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |