Unblocks AkurAI-Framework#2, which cannot merge safely today in either order.
The two defects
1. toml_value has no escape handling. It is not a TOML parser — it takes the first " after the opening quote:
if let Some(end) = stripped.find('"') { return stripped[..end].to_string(); }
TOML basic strings escape an inner quote as \", so a deploy field naming real tool-call arguments (name=\"AkurAI-Platform\", …) came back as mcp__akurai_build__akurai_repo_sync(name=\, silently dropping every argument after the first.
2. audit_app matched a prose label. It accepted any deploy field containing the literal "akurai-build:". That label proves nothing, and the new executable format does not contain it — so the format that is checkable was reported as a violation while a bare label passed.
Fixing only one is worse than fixing neither. With escapes still truncating, the contract check fails for all 13 apps. With the label check retained, the new format fails for all 13. Either single fix produces a fleet-wide false positive from fleet-audit, which is exactly the failure I flagged on AkurAI-Build#2 and AkurAI-Framework#2.
Verification
Against the live AKURAI_APPS.toml: 13 active apps, none truncated, none flagged.
Both new tests fail against the old parser, including the one that reads the real catalog rather than a fixture — the fixture-shaped values had no escaped quotes, which is why this survived until now. toml_value_still_stops_at_the_real_closing_quote pins what must not change: plain values, trailing comments, bare words, unterminated strings, and a trailing lone backslash (which must not swallow the terminator or panic).
cargo fmt --all -- --check: cleancargo clippy --all-targets --all-features --locked -- -D warnings: cleancargo test --lib: 341 passed, 0 failed, 4 ignored
Relationship to AkurAI-Build#2
is_executable_deploy_contract originates in AkurAI-Build#2. It is reproduced here because Framework#2 cannot merge without it on main, and #2 cannot deliver it: #2 targets feature/ref-trust-runner, which is already an ancestor of main, so merging it changes nothing on main. Its remaining unique work — SDP-002 named verify/package roles, hosted-commit provenance, delegated-script content checks, and the queue-time production gate — is still unlanded and still worth having; it needs rebasing onto main as a fresh PR. I have said so in my review there.
🤖 Generated with Claude Code
https://claude.ai/code/session_01FRtUmfFA7yWCFpX9dCaXvz