unboundops

command
v0.33.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 31, 2026 License: MIT Imports: 14 Imported by: 0

Documentation

Overview

Command unboundops writes and checks the CLI coverage matrix, internal/api/coveragematrix.txt (hadron-cli#397, #1334, #66).

The gap it exists to catch: a server operation ships, the schema snapshot is refreshed, and nothing notices that no CLI command reaches it. That is not hypothetical — installAgentIntoApp had been in the schema since spec 023 when #389 was filed as "no surface attaches an existing Agent to an existing App", and the worklog contract sat duplicated in the client for months after recordTeamWork shipped (#396).

The matrix maps every Query and Mutation field to the command that reaches it, the issue that tracks the gap, or an exclusion whose class cor:api:240:02 allows. It also lists, for the operations the CLI reaches, every argument and input field it leaves out, and every field of a list query's filter input with the flag that sets it.

What is REACHED is derived from the code, never claimed: an operation document selects the field and production code calls that operation's generated function, passing the argument (see facts). The human-authored part is only the disposition, and the check refuses one that contradicts the facts — a gap on a field a command now reaches, a command on a field nothing calls. A new field the generator has never seen is written UNCLASSIFIED, which the check refuses until someone decides it. A field the server has deprecated, that the CLI does not reach, is excluded with the server's own reason unless a line already says otherwise.

go run ./scripts/unboundops            # print the matrix to stdout
go run ./scripts/unboundops -check     # fail if it is stale or contradicts the code

That every `command` and `flag` names a real command and flag is checked by TestCoverageMatrixNamesRealCommands in internal/cmd, which has the tree.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL