The command
- Ask did the suite still print green
- Stamp cmd/proof/pack.go. Many flags. No help topic
- Why the cobra file still looks like a command. The tests still run
Topic · contract alignment clean
Gist
Contract alignment clean is a public cobra command whose surface outgrew its help topic, traced requirement IDs, or dedicated test file. Proof runs proof audit --check contract_alignment_clean. A green suite can still sit on a thin contract. Jama still authors.
proof audit --check contract_alignment_clean
Keep the live shall if it is still true. Keep Jama if it already holds it. Neither one fails the merge when the command file has no help topic.
01 · The silent command
You can keep cmd/proof/pack.go after the flags grew and the help topic never landed. The suite still runs. The cobra file still looks like a command.
The check is contract_alignment_clean. It is implement-stage. Severity of a sparse contract is warning, not fail. The inspect command is the same audit, plus proof lint --check contract_alignment_clean --format json.
The hop walks cmd/proof/*.go files that contain a cobra command literal. It skips test files. Surface score is command count plus subcommand count plus flag count plus project.* config keys. Files under 8 stay quiet. A warning fires when the help topic is missing, when a large surface cites too few requirement IDs, when a config-heavy file cites too few IDs, or when a very large file has no dedicated _test.go.
The help file teaches the missing help topic first. The command file is public. docs/help/coverage-matrix.yaml does not name it. Tests still pass because nobody asked the footprint.
// cmd/proof/pack.go
packCmd := &cobra.Command{ Use: "pack" }
packCmd.Flags().StringVar(&out, "out", "", "")
packCmd.AddCommand(exportCmd)
# docs/help/coverage-matrix.yaml has no pack entry
# proof audit --check contract_alignment_clean
# [IMPLEMENT] contract_alignment_clean -- public command surface is missing help coverage in docs/help
# silent command: the suite still printed green
Add the dedicated help topic, or add the missing requirement comments, or add the command-specific tests. If the file is too broad, split it. Then re-run the same check. Do not leave a public command whose contract is the filename.
proof audit --check contract_alignment_clean
proof lint --check contract_alignment_clean --format json
proof workflow check --stage implement --verbose
proof audit --scope baseline --verbose
02 · The exhibit
One cobra file. The help topic is missing, or the IDs are too few. Click the tabs.
The command
This hop
Nobody asked whether the help matrix, the traced IDs, or the dedicated test file kept up with the surface. A green suite is not a contract footprint. The finding kind is this hop.
Help unreadThe command
Keep the live shall. Keep the Jama cell. That is not this hop.
Keep the recordProof
Same command file. A silent surface, or this hop. Click the tabs.
| Surface | What they do | What Proof does | What we lose |
|---|---|---|---|
| Green suite | The tests that still ran. | Whether each large cobra file has a matching contract footprint. | We do not rerun the suite here. A green stamp is not this hop. |
| Design by contract | YAML assume/guarantee pairs across components. | A cobra file whose help, IDs, and tests must keep up with the surface. | Not the integration YAML hop. See design by contract. |
| Assume contract consistency | A source assume whose callee lemma must match the body. | A command file whose public surface must match help and tests. | Not the lemma hop. See assume contract consistency. |
| Orphan code | A file with no Implements comment. | A command file that is traced, and still under-specified for its flags. | Not the missing-Implements hop. See orphan code. |
| Jama cell | A shall, and a note if you type it. | A warning the audit can name next to the cobra file. | Not Jama's V&V. Jama still authors. We have not run a frozen Jama pack. |
The teaching graph is still one cobra file whose board called the suite done and whose help matrix never named the command. Close it by adding the topic, tightening the requirement comments, or adding the dedicated test. The same hop also catches a large surface with too few IDs: score 30 with 2 traces, or 5 config keys with 4 IDs, or score 50 with no _test.go and fewer than 8 IDs. A file under 8 is silent. Missing cmd/proof is a pass. Do not treat a Jama note as this hop. Do not treat a green suite as a contract footprint.
// cmd/proof/pack.go
packCmd := &cobra.Command{ Use: "pack" }
// many StringVar / BoolVar / AddCommand / project.* keys
// SYS-REQ-940 appears once
# proof audit --check contract_alignment_clean
# public command surface score 34 is backed by only 1 traced requirement IDs
The YAML assume/guarantee hop stays on design by contract. The source-assume hop stays on assume contract consistency. Jama still authors. Proof vs Jama.
03 · The honest loss
A quiet proof audit --check contract_alignment_clean can still mean there were no cobra files, or every large file already had help, IDs, and a test. Jama still authors.
Warning, not fail. Not blocking. No cobra command under cmd/proof is a pass. No cmd/proof directory is a pass. Surface score under 8 is silent. The hop looks at cobra literals, AddCommand calls, a fixed flag-regex, project.* keys, requirement IDs, the help matrix, and a sibling _test.go. It does not parse import graphs. It does not count custom flag helpers the regex does not name. It does not write the help topic. It does not write the test. It does not prove the Go. A builtin help name (audit, config, workflow, and the rest of that list) still counts as covered even when the dedicated file is thin. Scope can skip a path. We have not scored this floor against a frozen Jama pack or a ReqIF export. The loss is named, not scored.
The YAML hop stays on design by contract. The engagement stays on software correctness audit. Jama still authors.
04 · Nearby questions
What is contract alignment clean? Same question. Same URL.
Is this design by contract? No. That hop matches YAML assume/guarantee pairs across components. This hop is a cobra file whose help, IDs, and tests must keep up with the surface. See design by contract.
Is this assume contract consistency? No. That hop is a source // reqproof:assume whose callee lemma must match the body. This hop is a public command file. See
assume contract consistency.
Is this orphan code? No. That hop is a file with no Implements comment. This hop can fire on a file that is already traced. See orphan code.
Does a tree with no cobra files pass? Yes. Missing cmd/proof is a pass. That is not a proof that other languages are covered. It is a proof that this hop had nothing to walk.
Does a green hop prove the code matches the shall? No. The hop observes cobra files, a help matrix, and test filenames. It does not prove the Go.
Is Proof a Jama alternative for the shall? No. Jama still authors. Proof vs Jama.