Contracts, Preflight, and Evidence
A prompt that worked once is an anecdote. A tool with contracts, deterministic preflight, and saved evidence is something you can maintain. CmdForge separates structural proof from semantic judgment so the score never promises more than the tests demonstrate.
Declare the Boundary
input_schema:
type: object
properties:
input: {type: string, minLength: 1}
limit: {type: integer, minimum: 1, maximum: 20}
required: [input]
output_schema:
type: object
properties:
topics:
type: array
items: {type: string}
maxItems: 20
required: [topics]
additionalProperties: false
Contracts describe shape, not truth. CmdForge can prove that topics is an array of at
most twenty strings; it cannot prove those topics are insightful without behavioral evidence.
Read the Preflight Report
cmdforge inspect topic-extractor
cmdforge inspect topic-extractor --registry
Preflight checks configuration integrity, JSON Schema validity, secret-like values, dependencies, ToolStep compatibility, deterministic conformance, reuse opportunities, and—when requested—similar registry tools. It does not call a real AI provider.
Save a Regression Baseline
cmdforge inspect topic-extractor --save-baseline
A baseline records passing deterministic evidence. On the next inspection, CmdForge compares states and contracts. A changed contract is visible; a newly failing case is a regression.
Compose with Eyes Open
When a ToolStep feeds one contracted tool into another, CmdForge performs conservative
producer-to-consumer schema analysis. Compatible means the declared output is safe for the declared
input. Unknown remains unknown rather than being upgraded to “probably fine.”
Understand the Quality Score
The 0–100 score is a summary with an evidence-coverage percentage, not a popularity contest:
| Signal | What it can support |
|---|---|
| Contracts | Declared and valid input/output boundaries |
| Deterministic tests | Repeatable structural behavior without paid AI |
| Regression history | Comparison with an accepted baseline |
| Security scrutiny | Transparent behavior and suspicious-pattern checks |
| Community evidence | Reviews and observed ecosystem experience |
Read score and coverage together
A score of 100 at 35% coverage means every measured signal passed; it does not mean every possible property was measured.
The Two-Stage Publish Habit
cmdforge registry publish ./.cmdforge/topic-extractor --dry-run
cmdforge registry publish ./.cmdforge/topic-extractor
The dry run executes local and registry preflight but creates no release. Published versions are immutable, so fix warnings and bump deliberately before the second command.