Skip to content
Cockpit0.29.0
A snapshot: read at commit 707a04c7ce8 on 2026-10-18T00:06:01Z by majordomus 0.29.0. Nothing on this page is read again. See it live

lifecycle.runtime

The commit this process is answering about

What it is

The commit the served index was built at, against the commit the repository is on, read on this call. A server that froze its index at start-up answers every question about a commit from hours ago with nothing in the answer saying so; this is the reading that can tell.

Descriptor

Canonical id
lifecycle.runtime
Module
lifecycle
Kind
query
Stability
behaviorallyverified
Provenance
declaredcached
Source
apps/majordomus-cli/src/capability/builtin/lifecycle.rs
Cache
process, 2 entries, 2s
Benchmark
required
Tags
continuitysessionserver

Run

query
A query. It reads and changes nothing.

This capability takes no input.

GET /api/v1/lifecycle/runtime

Projections

InterfaceAsWhere
MCP toolmajordomus_lifecycle_runtime-
MCP resourcenot exposed-
HTTPGET /api/v1/lifecycle/runtimeSwagger
Command linenot exposed-

Schemas

Input · Empty
{
  "type": "object",
  "additionalProperties": false,
  "description": "No input.",
  "title": "Empty"
}
Output · RuntimeView
{
  "type": "object",
  "properties": {
    "root": {
      "type": "string",
      "description": "The repository root this process is serving."
    },
    "served_head": {
      "type": "string",
      "description": "The commit the served index was built at."
    },
    "served_branch": {
      "type": "string",
      "description": "Its branch, or `DETACHED`."
    },
    "served_working_tree": {
      "type": "string",
      "description": "Whether the working tree was clean when the index was built."
    },
    "repository_head": {
      "type": "string",
      "description": "The commit the repository is on, read on this call."
    },
    "repository_branch": {
      "type": "string",
      "description": "Its branch now."
    },
    "repository_working_tree": {
      "type": "string",
      "description": "The working tree now."
    },
    "agree": {
      "type": "boolean",
      "description": "Whether the two agree on the commit and the branch."
    },
    "objects": {
      "type": "integer",
      "format": "uint",
      "minimum": 0,
      "description": "How many objects the served index holds, and whether it was degraded."
    },
    "index_state": {
      "type": "string",
      "description": "`ok` or `degraded`."
    },
    "note": {
      "type": "string",
      "description": "What the comparison means, and what to do when it disagrees."
    }
  },
  "required": [
    "root",
    "agree",
    "objects",
    "index_state",
    "note"
  ],
  "description": "The commit this process answers about, against the commit the repository is on.\n\nBoth halves are read here and neither is assumed. `served` is what the index this\nprocess is holding was built from; `repository` is what `git` says now, on this call. A\nserver that follows the repository reports them equal and pays one `git` invocation for\nthe proof; a server that froze its index at start-up reports them different, which is\nthe only way a reader could ever have found that out.\n\n`agree` is the field with the operational meaning, and what it says is *not* \"the\nrepository is fine\" but \"the answers you are reading are about the tree you are looking\nat\". When it is false every other capability this process serves is answering about a\ncommit that is no longer checked out, and nothing else in the API would tell you.\n\n```\nuse majordomus_cli::capability::builtin::lifecycle::RuntimeView;\nuse serde_json::json;\n\nlet view = |served: &str, repo: &str, agree: bool| -> RuntimeView {\n    serde_json::from_value(json!({\n        \"root\": \"example/repo\",\n        \"served_head\": served, \"served_branch\": \"master\", \"served_working_tree\": \"clean\",\n        \"repository_head\": repo, \"repository_branch\": \"master\",\n        \"repository_working_tree\": \"clean\",\n        \"agree\": agree, \"objects\": 1319, \"index_state\": \"ok\",\n        \"note\": \"as measured on this call\",\n    })).unwrap()\n};\n\n// a server following the repository: one `git` invocation buys the proof\nlet current = view(\"a1b2c3d\", \"a1b2c3d\", true);\nassert!(current.agree);\nassert_eq!(current.served_head, current.repository_head);\nassert_eq!(current.index_state, \"ok\");\n\n// and one that froze its index at start-up: every answer it serves is about the old commit\nlet frozen = view(\"a1b2c3d\", \"9f8e7d6\", false);\nassert!(!frozen.agree);\nassert_ne!(frozen.served_head, frozen.repository_head);\n```",
  "title": "RuntimeView"
}

Examples

These are the capability's own benchmark cases: the same inputs the benchmark runs and the OpenAPI document shows.

default
{}