Stable JSON commands use a top-level envelope with ok, command, version,
data, and optional error fields. Error envelopes use error.code,
error.message, and when remediation is known, error.remediation.
gofly doctor --jsonreports environment checks,summary, andnextActions.gofly bug --jsonreports a redactedsupportBundlewith schemagofly.support_bundle.v1.gofly release check --json --strictreports release gate checks anderror.remediationwhen strict mode blocks promotion.gofly ai new --json --apply --verifyreports bounded generated project verification throughdata.verification,data.verifyRan,data.verifyPassed, anddata.nextActions.gofly ai control-plane --jsonreports stable control-plane snapshots.gofly api diff --format jsonreports API contract changes.gofly rpc descriptor --format jsonreports RPC descriptor differences.gofly rpc doc --format jsonreports OpenAPI JSON generated from protobuf HTTP transcoding metadata.gofly ai manifest --format jsonmarksgofly rpc protocas high risk: it runsprotocas an external process, forwards non-gofly plugins only with--allow-external-plugin, and rejects unsafe plugin values before passing argv entries.
Generated project failure reports use
gofly.generated_project_failure_report.v1. Their output field is bounded by
outputLimitBytes and the rerunGuidanceField is nextActions.
DX support bundles use gofly.dx_support_bundle.v1. Remediation handoff uses
gofly.remediation_handoff.v1; troubleshooting adoption uses
gofly.troubleshooting_adoption_loop.v1; the aggregate remediation workflow
uses gofly.remediation_loop_contract.v1.
commitPolicy stays outside automated remediation: Aiflow may queue tasks and
produce bounded failure reports, but the current agent or a human owns commits.