# SOLONCODE native project tools

Artifact 0.5.57, profile closed-native-project-tools-macos-v1, macOS arm64 with deployment target 14. Source language 0.4.38, maximum AST 27 and wire 1 remain distinct version layers.

This compiled SDK target executes an explicitly supplied .solon project and one managed tools.call through a trusted host. The package contains the native binary, public ABI, third-party notices and two readable synthetic guest examples. Compiler/runtime implementation Sources and the private Node SDK used for qualification are excluded. A compiled artifact can still be reverse engineered.

## Choose the right profile

The existing modular pure-project macOS package is the standalone JSON command-line profile. This native-tools package is an advanced host-mediated integration target: a trusted host must supply the private request/reply file descriptors, current owner checks, original Program/target/AgentHost and a durable queue/journal. A plain shell execution cannot supply that authority. The separate Wasm package provides pure project evaluation through its Wasm ABI.

## Installation and ownership

The installer uses /Library/Soloncode/0.5.57-native-tools and does not replace an earlier pure CLI. Verify the Developer ID publisher Aleksei Solonskii, team Y87TBHFK44, and the release digest. The host selects a whole-pinned executable owned by its current user, with execute permission and no group/world write access. For a fresh project-owned copy:

```sh
mkdir -m 700 ./soloncode-native
test ! -e ./soloncode-native/solon-project-tools && install -m 755 /Library/Soloncode/0.5.57-native-tools/bin/solon-project-tools ./soloncode-native/solon-project-tools
```

Resolve the resulting absolute path and SHA256 in the trusted host before preparing a target. Preserve the copied binary signature. ABI.json describes the Node API boundary and private-FD wire format; the managed-host SDK/integration is delivered separately. Only original same-issuer compiler/host handles work. JSON, copied bindings and guest yes cannot create permissions.

## Execution and safety

Use prepareNativeProjectTarget and createNativeProjectEngine from soloncode/service/native-project with an original compileProject Program, the exact AGENT_INTERFACES, one managed MCP tool, explicit tool.call capability, a throwing current-owner guard, and fixed budgets. Supported marked effect functions use original AST26/27. All virtual Source files and their lowercaseSHA256 values must be supplied explicitly.

Jobs begin draft/unknown. A trusted current CAS yes decision queues a job. Before child start and tool dispatch, the host verifies the current claim, owner guard, pinned target, original Program/host, capabilities and pending fences. The child's canonical JSON progress/results remain observations, not permission or a Node RunReceipt.

Retain the same original queue, owner companion and effect journal. Completed matching effects recover by reading settled original values without provider resend. Running, uncertain and missing outcomes stop new effects. A late response does not clear cancellation or timeout uncertainty. Do not retry through new keys, aliases, journals or fallback.

Fresh MCP usage remains null in the journal. Fresh observed metrics are 0 reported input, 0 reported output, reasoning null and incomplete usage. A settled replay can report a new zero-usage replay envelope while preserving original journal usage. These synthetic results do not establish real provider cost.

## Finite qualification and limits

The same 20 safety definitions passed in Source and a genuinely separate private SDK installation, with 24 case processes per target. Each target observed 14 native child starts; cancellation, forged frames, owner/capability refusal, one selected tool call, queue ownership and three declared crash/recovery cases are covered. Root reviewed saved originals; a separate new independent-agent outcome review remains pending. Signing and network delivery have separate release records.

The profile allows 16 supplied files, import depth 8, 65536 total Source UTF8 bytes and 64 functions. Logical limits are 100000 steps, one adapter call, 131072 output bytes and a 15000ms deadline. Transport is bounded at 16MiB and private IPC payload at 64KiB with one outstanding request. The monotonic guard is 20s after input, the VM allocator is 256MiB and the VM stack budget 8MiB. These are not OSRSS or hard wall guarantees.

Models/peers/skills/mutable memory, arbitrary adapters, ambient child filesystem/network/process/credentials, Wasm effects and nominal schema/Result output carriers remain outside this profile. No general performance or whole-platform claim follows from these finite checks.
