Skip to content

served.forge

Asks the forge, through its own command-line tool and with the caller's credential, for the newest deployments to every environment and the newest releases, in one query, and records the answer in the checkout-local state `deploy.observed` reads. Exit 0 when the forge answered and the answer was recorded, 12 when it could not be asked (no tool, no credential, no network, a repository the forge does not know): what was recorded before then stands, with its age.

Asks the forge, through its own command-line tool and with the caller's credential, for the newest deployments to every environment and the newest releases, in one query, and records the answer in the checkout-local state `deploy.observed` reads. Exit 0 when the forge answered and the answer was recorded, 12 when it could not be asked (no tool, no credential, no network, a repository the forge does not know): what was recorded before then stands, with its age.

  • command
  • behaviorally_verified
  • module served
  • #deployment
  • #evidence
  • #forge

Exposure

Where this one definition is reachable. Absence is explicit: a surface not listed does not carry it.

surfaceas
MCP—
HTTP—
command linemajordomus served forge

Schemas

The canonical input and output, from the Rust types; the MCP tool schema and the OpenAPI parameters and responses are derived from these.

input · Empty

No input.

No properties: the capability takes no input.

JSON Schema
{
  "additionalProperties": false,
  "description": "No input.",
  "title": "Empty",
  "type": "object"
}

output · ForgeObserved

What served.forge came to: whether the forge answered, and what its answer held. The answer itself is read through deploy.observed; this is the receipt of having asked.

use majordomus_cli::capability::builtin::served::ForgeObserved;
// a forge that could not be asked is said, with the reason, and is exit 12: not answered
let json = r#"{"observed":false,"reason":"gh repo view failed: no network",
  "deployments":0,"releases":0,"environments":0,"exit_code":12}"#;
let got: ForgeObserved = serde_json::from_str(json).unwrap();
assert!(!got.observed);
assert_eq!(got.exit_code, 12);
assert!(got.repository.is_none());
propertytyperequireddescription
deployments integer yes How many deployments the answer held.
environments integer yes How many environments those deployments went to.
exit_code integer yes The exit status the command line reports: 0 observed, 12 not answered.
observed boolean yes Whether the forge answered and the answer was recorded.
observed_at string | null no When the forge was asked, RFC 3339.
reason string | null no Why not, in the words of whatever refused; absent when it answered.
releases integer yes How many releases the answer held.
repository string | null no owner/name, as the forge named the repository.
JSON Schema
{
  "description": "What `served.forge` came to: whether the forge answered, and what its answer held. The\nanswer itself is read through `deploy.observed`; this is the receipt of having asked.\n\n```\nuse majordomus_cli::capability::builtin::served::ForgeObserved;\n// a forge that could not be asked is said, with the reason, and is exit 12: not answered\nlet json = r#\"{\"observed\":false,\"reason\":\"gh repo view failed: no network\",\n  \"deployments\":0,\"releases\":0,\"environments\":0,\"exit_code\":12}\"#;\nlet got: ForgeObserved = serde_json::from_str(json).unwrap();\nassert!(!got.observed);\nassert_eq!(got.exit_code, 12);\nassert!(got.repository.is_none());\n```",
  "properties": {
    "deployments": {
      "description": "How many deployments the answer held.",
      "format": "uint",
      "minimum": 0,
      "type": "integer"
    },
    "environments": {
      "description": "How many environments those deployments went to.",
      "format": "uint",
      "minimum": 0,
      "type": "integer"
    },
    "exit_code": {
      "description": "The exit status the command line reports: 0 observed, 12 not answered.",
      "format": "int32",
      "type": "integer"
    },
    "observed": {
      "description": "Whether the forge answered and the answer was recorded.",
      "type": "boolean"
    },
    "observed_at": {
      "description": "When the forge was asked, RFC 3339.",
      "type": [
        "string",
        "null"
      ]
    },
    "reason": {
      "description": "Why not, in the words of whatever refused; absent when it answered.",
      "type": [
        "string",
        "null"
      ]
    },
    "releases": {
      "description": "How many releases the answer held.",
      "format": "uint",
      "minimum": 0,
      "type": "integer"
    },
    "repository": {
      "description": "`owner/name`, as the forge named the repository.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "observed",
    "deployments",
    "releases",
    "environments",
    "exit_code"
  ],
  "title": "ForgeObserved",
  "type": "object"
}

Policies

benchmark
waived — waived: external_dependency
cache
disabled — every call runs the handler

Benchmark targets

Derived from the registry for this repository: one requirement per transport, and the cases the input type provides. The whole matrix is on the benchmarks page.

transportstatecasestargets
directwaived (external_dependency)0

Searches the titles and descriptions of every page this site publishes.