Coding agent
Proposes and plans work, implements source changes, responds to demonstrated deficiencies, performs authorized repair, and requests FalseGreen state, evidence, and reports.
FalseGreen MCP
The public workflow and tool contract for coding agents using FalseGreen independent software verification.
This reference is derived from the launch client’s runtime MCPtools/list at core SHA 6f47ea32bbad9443134b1e1efd7394af7b724797. A connected runtime tools/list remains the ultimate authority.
Customer architecture
Coding agent
↓ MCP
FalseGreen customer tool surface
↓
Task + frozen definition of done
↓
coding-agent implementation
↓
independent FalseGreen verification
↓
evidence-backed result + durable reportProposes and plans work, implements source changes, responds to demonstrated deficiencies, performs authorized repair, and requests FalseGreen state, evidence, and reports.
Owns the independent acceptance boundary, preserves the frozen definition of done, decides verification and repair authorization, terminalizes the Job, and issues authoritative evidence and reports.
The coding agent does not decide its own FalseGreen acceptance.
Connection and authentication
cargo install falsegreenfalsegreen login --token YOUR_FALSEGREEN_KEY. The client exchanges the enrollment key for an opaque local session and does not retain the enrollment key.The installed client runs a local STDIO MCP shim, synchronizes the active workspace when required, and forwards supported tool calls to FalseGreen over authenticated HTTPS. Do not place the Account enrollment key in editor or MCP configuration, and do not bypass the client to reproduce its private session transport.
Full installation guide →Public lifecycle
Account / authentication
↓
Task → optional plan → frozen plan
↓
acceptance contract / definition of done
↓ freeze
Assignment
↓
coding-agent implementation
↓
independent verification
↓
Accepted or non-Accepted evidence
↓ only when repair_authorized=true
repair → reverify the SAME frozen definition of doneVerification attempt != Job. One paid Job owns one frozen definition of done through verification, authorized repair, and reverification. A repairable attempt does not create another paid Job, permit a replacement Task, or allow the target to move.
A terminal non-Accepted paid Job remains historical with its Task, evidence, report, and consumed entitlement. Exact-DoD continuation uses falsegreen_continue_verification_job and a distinct paid entitlement. A material DoD change is new scope and a new acceptance lineage.
Agent authority
repair_authorized=true.Job entitlement semantics
Result semantics
Evidence established the frozen criteria for the exact verified source. Acceptance is bounded, not universal certification.
Evidence demonstrated required failure. Repair is permitted only when the completion response explicitly returns repair_authorized=true.
The available evidence did not establish the complete boundary. Runtime status may be incomplete; the canonical report distinguishes demonstrated failure from insufficient evidence.
This is not a source-code verdict. Retrieve the artifact when available and stop or mark unresolved; do not spend repair budget or rewrite source in response.
The paid Job and Task history remain preserved. Continue only through the explicit exact-DoD continuation tool when supported and appropriate.
falsegreen_close_task exposes only agent closure of a stale unbound Task and returns abandoned. It is not a verification verdict. Historical operator closure is not part of the public customer MCP surface.
Public MCP tools
Input schemas below are the exact runtime tools/listexport from the authority SHA. The catalog does not expose worker, operator, migration, reconciliation, signing, billing-provider, or private infrastructure controls.
Task
Register one bounded software task in an approved workspace.
{
"properties": {
"branch": {
"default": null,
"type": [
"string",
"null"
]
},
"commit_sha": {
"default": null,
"type": [
"string",
"null"
]
},
"goal": {
"type": "string"
},
"pr_identifier": {
"default": null,
"type": [
"string",
"null"
]
},
"pr_number": {
"default": null,
"minimum": 1,
"type": [
"integer",
"null"
]
},
"pr_url": {
"default": null,
"type": [
"string",
"null"
]
},
"repository": {
"default": null,
"type": [
"string",
"null"
]
},
"title": {
"default": null,
"type": [
"string",
"null"
]
},
"workspace": {
"type": "string"
}
},
"required": [
"workspace",
"goal"
],
"type": "object"
}
List compact Task lifecycle state and closeability.
{
"properties": {},
"type": "object"
}
Planning
Return the live structured task-plan input schema.
{
"properties": {},
"type": "object"
}
Save an outcome-oriented plan revision for a Task.
{
"properties": {
"plan": {
"type": "object"
},
"task_id": {
"type": "string"
}
},
"required": [
"task_id",
"plan"
],
"type": "object"
}
Validate the current plan draft and dependency graph.
{
"properties": {
"task_id": {
"type": "string"
}
},
"required": [
"task_id"
],
"type": "object"
}
Freeze the proposed plan so later mutation is rejected.
{
"properties": {
"task_id": {
"type": "string"
}
},
"required": [
"task_id"
],
"type": "object"
}
Return the current draft or frozen plan.
{
"properties": {
"frozen": {
"default": true,
"type": "boolean"
},
"task_id": {
"type": "string"
}
},
"required": [
"task_id"
],
"type": "object"
}
Acceptance contract
Save the draft definition of done and executable acceptance criteria.
{
"properties": {
"contract": {
"type": "object"
},
"task_id": {
"type": "string"
}
},
"required": [
"task_id",
"contract"
],
"type": "object"
}
Validate the current contract draft against source-independent policy and plan coverage.
{
"properties": {
"task_id": {
"default": null,
"type": [
"string",
"null"
]
}
},
"type": "object"
}
Freeze the definition of done and bind the Verification Job boundary.
{
"properties": {
"task_id": {
"default": null,
"type": [
"string",
"null"
]
}
},
"type": "object"
}
Return the live acceptance-contract schema and verifier command policy.
{
"properties": {},
"type": "object"
}
Return the full draft or frozen contract for debugging.
{
"properties": {
"frozen": {
"default": true,
"type": "boolean"
},
"task_id": {
"default": null,
"type": [
"string",
"null"
]
}
},
"type": "object"
}
Assignment
Return compact immutable requirements for the active frozen Task.
{
"properties": {
"task_id": {
"default": null,
"type": [
"string",
"null"
]
}
},
"type": "object"
}
Verification
Run the compact independent completion workflow and return the controller decision.
{
"properties": {
"task_id": {
"default": null,
"type": [
"string",
"null"
]
}
},
"type": "object"
}
Durably start full verification or a focused diagnostic criterion run and return immediately.
{
"properties": {
"criterion_ids": {
"default": null,
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"idempotency_key": {
"default": null,
"type": [
"string",
"null"
]
},
"task_id": {
"default": null,
"type": [
"string",
"null"
]
}
},
"type": "object"
}
Status
Poll one durable run or return compact Task status.
{
"properties": {
"run_id": {
"default": null,
"type": [
"string",
"null"
]
},
"task_id": {
"default": null,
"type": [
"string",
"null"
]
}
},
"type": "object"
}
Repair
Return compact demonstrated failures from the latest verification run.
{
"properties": {
"task_id": {
"default": null,
"type": [
"string",
"null"
]
}
},
"type": "object"
}
Consume one low-level repair-cycle authorization boundary.
{
"properties": {
"task_id": {
"default": null,
"type": [
"string",
"null"
]
}
},
"type": "object"
}
Lifecycle
Explicitly transition a frozen Task into implementation state.
{
"properties": {
"task_id": {
"default": null,
"type": [
"string",
"null"
]
}
},
"type": "object"
}
Record that the Task cannot currently be resolved, with an explicit reason.
{
"properties": {
"reason": {
"type": "string"
},
"task_id": {
"default": null,
"type": [
"string",
"null"
]
}
},
"required": [
"reason"
],
"type": "object"
}
Close only a stale non-Accepted Task that never entered Verification Job authority.
{
"properties": {
"reason": {
"type": "string"
},
"task_id": {
"default": null,
"type": [
"string",
"null"
]
}
},
"required": [
"reason"
],
"type": "object"
}
Paid Job continuation
Prepare an exact-DoD successor Job after a terminal non-Accepted paid Job.
{
"properties": {
"predecessor_job_id": {
"type": "string"
}
},
"required": [
"predecessor_job_id"
],
"type": "object"
}
Evidence and reports
Retrieve the source-bound attestation and immutable canonical report for a completed run.
{
"properties": {
"run_id": {
"default": null,
"type": [
"string",
"null"
]
},
"task_id": {
"default": null,
"type": [
"string",
"null"
]
}
},
"type": "object"
}
Return public verification material for independently checking issued attestations.
{
"properties": {},
"type": "object"
}
Return the Task audit-chain validity and public event summary.
{
"properties": {
"task_id": {
"default": null,
"type": [
"string",
"null"
]
}
},
"type": "object"
}
Terraform authority
Read the retained Terraform plan, provenance, apply authority, and deployed-outcome state.
{
"properties": {
"command_index": {
"default": null,
"minimum": 0,
"type": [
"integer",
"null"
]
},
"run_id": {
"type": "string"
},
"task_id": {
"type": "string"
}
},
"required": [
"task_id",
"run_id"
],
"type": "object"
}
Return the exact bounded Terraform apply payload a human must approve in enforced mode.
{
"properties": {
"command_index": {
"default": null,
"minimum": 0,
"type": [
"integer",
"null"
]
},
"run_id": {
"type": "string"
},
"task_id": {
"type": "string"
},
"valid_for_seconds": {
"default": null,
"maximum": 3600,
"minimum": 60,
"type": [
"integer",
"null"
]
}
},
"required": [
"task_id",
"run_id"
],
"type": "object"
}
Record one human authorization for the exact retained accepted Terraform plan.
{
"properties": {
"actor": {
"const": "human",
"type": "string"
},
"approval": {
"default": null,
"type": [
"object",
"null"
]
},
"command_index": {
"default": null,
"minimum": 0,
"type": [
"integer",
"null"
]
},
"confirmed": {
"const": true,
"type": "boolean"
},
"run_id": {
"type": "string"
},
"task_id": {
"type": "string"
},
"valid_for_seconds": {
"default": null,
"maximum": 3600,
"minimum": 60,
"type": [
"integer",
"null"
]
}
},
"required": [
"task_id",
"run_id",
"actor",
"confirmed"
],
"type": "object"
}
Consume one authorization and apply only its exact retained Terraform plan.
{
"properties": {
"authorization_id": {
"pattern": "^tfapply_[0-9a-f]{32}$",
"type": "string"
},
"command_index": {
"default": null,
"minimum": 0,
"type": [
"integer",
"null"
]
},
"run_id": {
"type": "string"
},
"task_id": {
"type": "string"
}
},
"required": [
"task_id",
"run_id",
"authorization_id"
],
"type": "object"
}
Independently observe the outcome of an already applied Terraform plan.
{
"properties": {
"command_index": {
"default": null,
"minimum": 0,
"type": [
"integer",
"null"
]
},
"run_id": {
"type": "string"
},
"task_id": {
"type": "string"
}
},
"required": [
"task_id",
"run_id"
],
"type": "object"
}
Machine-readable catalog
The versioned FalseGreen-owned catalog is available at /.well-known/falsegreen-mcp.json. It is descriptive, not an industry standard.