Skip to main content

ovecc capabilities

The machine-readable contract: every command (with key parameters and a read-only flag), every metric and rule with a definition, the severity vocabulary, the exit-code table, and the output formats. An agent calls this first and needs nothing else to drive the tool.

Usage: ovecc capabilities [OPTIONS]

Example (text)

$ ovecc capabilities
ovecc — deterministic architecture intelligence
schema_version: 1
formats: text, json, ndjson, markdown, sarif, codeclimate
severities: low, medium, high, critical

Commands:
init Set up ovecc in a repository: write a commented .ovecc/config.toml, ...
index Build or update the local architecture database from a repository.
summary Show current architecture health at a glance.
...

Exit codes:
0 success Command succeeded; no gating threshold crossed.
1 findings_present A --fail-on threshold was crossed (findings/cycles/risk).
...

Example (JSON — the agent entry point)

ovecc capabilities --format json
{
"schema_version": 1,
"tool": { "name": "ovecc", "version": "0.1.0" },
"command": "capabilities",
"data": {
"commands": [
{
"name": "impact",
"summary": "Analyze the blast radius of a module, symbol, api: or table: target.",
"key_params": ["target", "--direction downstream|upstream|both", "--max-depth"],
"output": "Impacted modules/apis/tables/symbols, representative paths, and a calibrated risk score.",
"read_only": true
}
],
"formats": ["text", "json", "ndjson", "markdown", "sarif", "codeclimate"],
"severities": ["low", "medium", "high", "critical"],
"exit_codes": [
{ "code": 0, "name": "success", "meaning": "Command succeeded; no gating threshold crossed." }
],
"metrics": {
"coupling_density": {
"description": "Realized module edges over all possible directed edges.",
"range": "[0, 1]",
"interpretation": "lower is looser coupling"
}
},
"rules": {
"taint/eval": {
"description": "User-controlled input may reach dynamic code execution.",
"severity": "critical"
}
}
}
}

(Excerpted — the real payload lists all commands, all 17 metrics, and all 24 rules.)

Why this matters

  • read_only tells an agent which tools mutate state (init, index, fix) versus which are safe to call freely.
  • Metric and rule definitions make every value in every other command's output interpretable without documentation.
  • schema_version discipline: additive changes never bump it — detect new fields by key presence, not by gating on the number.