Capabilities Are Target Facts
In Zerolang, start with the user request. The agent should inspect target capability facts before patching APIs that depend on hosted runtime support.
What This Means
Zero does not assume every target can do filesystem, network, process, time, or
random operations. Those are explicit target facts. Target JSON includes host
identity, aliases, object formats, C target mapping, capabilities, HTTP runtime
metadata, and targetToolchains.
Inspect Targets
zero targets
zero targets --json
zero check --json --target linux-musl-x64 examples/memory-packageHosted Capabilities
The current hosted capability set includes:
argsenvfsmemorynetprocrandstdiotime
Non-host targets expose only the capabilities listed for that target. Network support is intentionally target-gated. HTTP helpers that only parse or write request/response envelopes are target-neutral; hosted fetch and listen require network-capable host support.
Capability Failure Is A Feature
If a graph input uses std.fs on a target that cannot provide filesystem
support, zero check --target ... should report a diagnostic instead of
silently changing behavior.
zero check --json --target linux-musl-x64 conformance/common/fail/unsupported-target-feature.graphThe diagnostic is TAR002 and the repair id points at choosing a target with
the required capability.
What To Remember
Capabilities are part of the graph contract. Standard library pages document effects and target support so an agent can choose the right helper before it patches the program.