{
"masugatedBaseUrl": "http://masugated:8000",
"agents": {
"buyer-alpha": "MASUGATE_BUYER_ALPHA_TOKEN"
},
"routes": {
"purchase": {
"action": "spend.purchase",
"arguments": {
"amount_cents": "integer",
"merchant_id": "string",
"request_ref": "string"
},
"owner": {
"providerId": "masugate.spend.reference",
"position": "protected-external",
"connectorId": "reference-purchase-v1"
}
}
}
}Milestone 3B · OpenClaw reference candidate
Inspect the candidate-backed purchase path.
This companion view maps the pinned Git-backed OpenClaw purchase candidate to the website story without relabeling the deterministic simulation as recorded or verified execution.
Exact candidate identity
The source is pinned. The release is not yet published.
These values come from the candidate Git tree and release descriptor. The origin implementation snapshot and the later release-tree realization are deliberately shown separately.
- Candidate release
masugate-openclaw-reference/0.1.0- Channel
- research-preview
- Candidate repository
github.com/masugate/masugate- Visibility
- Public as observed 2026-08-10
- Origin implementation snapshot
d56701ad9dddd8bd3136880bce619387f277f71c- Release-tree commit
6b3852ecb70bd55cb22bf78769028b9b52af9735- Release-tree object
6b3852ecb70bd55cb22bf78769028b9b52af9735- Release tag
- Not Published
- Target
- Linux/amd64 · CPython 3.12 (tested 3.12.3)
- JavaScript toolchain
- Node 24.16.0 · npm 11.13.0
- Source toolchain
- Git 2.43.0 · uv 0.11.26
- Container toolchain
- Docker 29.6.1 · Compose 5.3.0
- Host pin
- OpenClaw 2026.7.1
- Adapter pin
@masugate/openclaw@0.1.0- Reference deployment
- masugate-openclaw-reference 0.1.0
The public MasuGate source identity is verified, but that does not authorize a release. A public v0.1.0 tag, GitHub Release, publish authorization, and retained runtime evidence are still required before installation or verification claims can be shown.
Finite governed route
One exact purchase boundary—not a general OpenClaw plugin claim.
openclaw:buyer-alpha
The adapter derives openclaw:<agentId> and a SHA-256 stable identity from trusted agent ID, canonical session key, live session ID, and tool-call ID. Model arguments cannot supply those fields.
masugate.spend.reference
spend.purchase · protected-external · reference-purchase-v1
masugate_governed_action
The configured MasuGate tool returns the authoritative committed, denied, or pending result. It does not call a second native purchase effect afterward, and it does not govern unrelated OpenClaw tools.
policy spend_budget_guard on spend.purchase {
deny budget_cap when args.amount_cents > spend.available_cents(principal.team);
escalate ask_first when args.amount_cents >= 500;
allow otherwise;
}The 500-cent ask-first threshold belongs to this bounded reference deployment. It is not a universal spending rule, and the reference policy does not establish merchant, tax, fraud, or legal validity.
spend.available_cents(String) -> Int
- Consistency
- scoped-policy-state
- Bound
- 100 ms declared maximum
- Scope
spend:team:<team>- Reservation view
- unsupported
The policy reads provider-owned remaining capacity. Admission must still reserve that budget atomically at the protected execution boundary.
Two related evidence lanes
Keep the OpenClaw host path separate from the procurement workload.
Both are useful candidate surfaces. They are not interchangeable, and neither ships captured gate output in the Git candidate.
Pinned OpenClaw host round trip
OpenClaw 2026.7.1 agent harness and @masugate/openclaw 0.1.0
- $1 purchase commits and an identical tool call replays the same operation
- $6 purchase returns a durable pending result
- Two concurrent $2.50 calls produce one committed and one denied result
- The committed audit contains a succeeded protected-execution receipt
The pinned Git candidate contains this integration gate with PostgreSQL MasuGate state and a SQLite purchase-effect fixture, but this intake did not execute it on the required Linux/amd64 profile or retain its output.
Promotion gate: Pinned-host integration gate (PostgreSQL MasuGate state; SQLite effect fixture)Clean-artifact concurrent procurement workload
Credential-free MasuGate service workload inside the reference stack
- Two $60 requests compete for one $100 budget
- One request becomes pending while the other is denied against protected capacity
- Allow-once resolves the pending operation to one committed effect
- The verifier requires a PSS-valid history and retained governance records
This workload matches the Stage 2 arithmetic, but it drives masugated directly rather than an OpenClaw conversation and uses different identifiers and policy artifacts.
Promotion gate: Five-minute procurement and flagship-verifier gatesRelationship to the three-stage walkthrough
No website stage is release-backed yet.
Candidate overlap is shown as related—not exact—until identifiers, driver, policy, outcome, and retained evidence all match.
One governed purchase
The pinned host gate encodes test cases for a governed purchase, replay, pending result, and receipt.
The website uses a $40 Work Manager request and categorized-purchase@v1; the candidate uses buyer-alpha, spend_budget_guard@1.0.0, and different amounts.
One budget across agents
The clean-artifact workload uses the same $60 + $60 against $100 concurrency and approval shape.
Its runner drives masugated directly, not an OpenClaw chat or tool turn, and its agent, route, and policy identifiers differ from the website fixture.
More governed operations
The candidate contains calendar and filesystem components and narrower reference checks.
No credential-free OpenClaw gate reproduces the website's overlap policy, fixed alternative, itinerary, and protected-file story.
Promotion boundary
What must happen before “Run locally” appears.
Source presence is not execution evidence. Recorded or Verified labels require the named supported environment, retained output, immutable public source, and dated evidence destination.
- Intake completePin the Git-backed candidate
Repository, main-branch release-tree commit, tree, origin implementation revision, descriptor, and package catalog are reconciled.
- Intake completeRun source-level release checks
Release-control-document and documentation validation passed at the pinned release-tree commit; external release authorization remains pending.
- Still requiredReconcile the live release gate
The live gate requires two offline Alpine inputs that the reviewer setup and checked-in test invocation do not currently provide. Fix and revalidate that release-owned path before execution evidence is accepted.
- Still requiredRun the supported runtime gates
Run the clean-artifact, OpenClaw/PostgreSQL, containment, procurement, and flagship verifier gates on Linux/amd64 with the declared toolchain.
- Still requiredRetain dated runtime evidence
Publish the request, decision, governed effect, record, verifier result, exact revisions, and verification date as one evidence bundle.
- Still requiredPublish an immutable release
Create the reviewed v0.1.0 tag and GitHub Release, then attach checksums, SBOM, provenance, artifacts, and evidence.
- Still requiredEnable public support routes
Confirm the issue tracker and a private security-reporting destination before activating those website links.
Candidate boundary recorded