Skip to content

HTTP API: editors

The files Zed and Google Antigravity read from this repository, derived from the skills and the tracked justfile: what each product supports and on what evidence, the state and content address of every projected file, and what to do about each finding.

Rendered from docs/generated/openapi.json, which the executable generates from its capability registry and CI refuses stale. The raw document is at /openapi.json; a running server serves the same document at its own /openapi.json and Swagger UI at /swagger.

editors

The files Zed and Google Antigravity read from this repository, derived from the skills and the tracked justfile: what each product supports and on what evidence, the state and content address of every projected file, and what to do about each finding.

GET /api/v1/editors editors.status

Editor and agent projections

Every adapter (Zed, Antigravity) with each capability it supports, does not, or cannot be verified for, and the evidence; every projected file with the inputs it is derived from, its content address and its state here (current, stale, absent, or a conflict with a file this generator did not write); orphaned projections; and every finding with its remedy. Writes nothing: `majordomus generate editors` does.

  • query
  • behaviorally_verified
  • benchmark required
  • cache disabled
  • MCP tool majordomus_editors
  • MCP resource {"name": "editors", "uri": "majordomus://editors"}

No parameters.

Try it

The port is whatever the server logged; 8741 is the one it asks for first. The values are the operation's first example.

curl -s "http://127.0.0.1:8741/api/v1/editors"

Tested by apps/majordomus-cli/tests/http_serve.rs, which replays the route with these values against a server on a real socket.

Responses

statusbodymeaning
200 EditorProjection Editor and agent projections: the result.
400 ErrorBody invalid_input: The input does not fit the schema: a parameter of the wrong type, an unknown one, or a value the capability rejects.
404 ErrorBody not_found: The input names something the repository does not hold.
500 ErrorBody internal: The capability failed for a reason of its own; the message names it.
default ErrorBody Any other failure the transport reports: 405 method_not_allowed for another method on this path, 400 invalid_input for a body that is not a JSON object.

Schemas

The components only this tag's operations use. Each row is the type's own field, its doc comment the description; a type another page owns links there.

EditorAdapter

object
One adapter: the product, the version its claims were verified against, its capabilities.
propertytyperequireddescription
id string yes zed or antigravity.
title string yes The product's name.
verified_against string yes The release the evidence was taken from.
capabilities array of EditorCapability → EditorCapability yes Its capabilities, by id.

Used by EditorProjection

EditorCapability

object
One capability of one adapter.
propertytyperequireddescription
id string yes Stable identity within the adapter: skills, tasks, instructions, mcp, ...
support EditorSupport → EditorSupport yes What the adapter does with it.
artifacts array of string no The files that carry it, repository-relative. Empty when nothing is projected.
evidence string yes Where the claim about the product comes from.
note string yes What it means here, and what to do when nothing is projected.

Used by EditorAdapter

EditorDerivation

object
One projected file and how it came to be.
propertytyperequireddescription
path string yes Repository-relative path.
document string yes The document id in the generated-artifact manifest.
adapters array of string yes The adapters that read it.
sources array of string yes The inputs it is derived from, by path.
key string yes The content address of the derivation: the projection version and the fingerprints of its sources. The same key always yields the same bytes.
sha256 string yes SHA-256 of the projected content.
state EditorFileState → EditorFileState yes The state of the file in this checkout.

Used by EditorProjection

EditorDiagnostic

object
Something about the projection worth acting on.
propertytyperequireddescription
severity Severity → Severity yes info, warning or error.
code string yes Stable identity of the finding.
adapter string | null no The adapter it concerns, when it concerns one.
path string | null no The file it concerns, when it concerns one.
message string yes What was found.
remedy string yes What to do about it.

Used by EditorProjection

EditorFileState

"current" | "stale" | "absent" | "conflict"
A projected file as this checkout holds it.
  • currentByte for byte what the projection says.
  • staleGenerator-owned and different: majordomus generate editors rewrites it.
  • absentNot there: majordomus generate editors writes it.
  • conflictA file without the generated banner sits at the path: it is someone's, and nothing overwrites it.

Used by EditorDerivation

EditorInput

object
One input of the projection: a file, what kind of input it is, and its content address.
propertytyperequireddescription
path string yes Repository-relative path.
mutability EditorInputClass → EditorInputClass yes Tracked content or checkout state.
sha256 string yes SHA-256 of its content.

Used by EditorProjection

EditorInputClass

"repository"
How far an input may change without the repository changing.
  • repositoryTracked content of the repository: changes only by a commit. The only class an input has today: what the checkout merely holds (an instruction file, a legacy directory) changes a finding, never a projected byte.

Used by EditorInput

EditorProjection

object
editors.status: every adapter, every projected file and its state, every finding.
propertytyperequireddescription
schema string yes SCHEMA.
projection_version integer (uint32) yes PROJECTION_VERSION.
adapters array of EditorAdapter → EditorAdapter yes The adapters, by id.
inputs array of EditorInput → EditorInput yes The inputs, by path.
artifacts array of EditorDerivation → EditorDerivation yes The projected files, by path.
orphans array of string no Generator-owned files under a projected directory that the plan no longer contains.
diagnostics array of EditorDiagnostic → EditorDiagnostic yes The findings, by severity then code then path.

Used by editors.status

EditorSupport

"supported" | "unsupported" | "unknown" | "deprecated" | "requires_user_action"
What an adapter can do with one capability. Never a boolean: "we do not know" is an answer of its own and is not "no".
  • supportedProjected, from a verified format.
  • unsupportedThe product has no project-level form for it.
  • unknownA project-level form is claimed somewhere and could not be verified; nothing written.
  • deprecatedThe product reads it, from a form this projection will not write.
  • requires_user_actionA person can enable it, outside the repository; the remedy says how.

Used by EditorCapability

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