Public Surface Map¶
Guide Maps¶
graph LR
command["Public command"] --> output["Public output"]
output --> owner["Owning file"]
owner --> proof["Proof file or bundle"]
flowchart LR
question["What did this command really prove?"] --> output["Name the output you inspected"]
output --> owner["Trace it to the owning file"]
owner --> proof["Choose the next proof surface only if needed"]
Use this guide when the public CLI output is already helpful but you still need to know which runtime boundary owns the information you just inspected. The goal is to keep the capstone observational surfaces connected to real implementation ownership.
Command to ownership map¶
| Command | Kind of fact | Main output | First owning file | Best next proof surface |
|---|---|---|---|---|
make manifest |
inspection-time fact | group-level field and action metadata | src/incident_plugins/framework.py |
tests/test_registry.py or PROOF_GUIDE.md |
make plugin |
inspection-time fact | one concrete plugin contract | src/incident_plugins/plugins.py |
tests/test_runtime.py |
make field |
inspection-time fact | one descriptor-backed field contract | src/incident_plugins/fields.py |
tests/test_fields.py |
make action |
inspection-time fact | one decorator-backed action contract | src/incident_plugins/actions.py |
tests/test_runtime.py |
make registry |
class-definition fact made observable later | registered plugin names and order | src/incident_plugins/framework.py |
tests/test_registry.py |
make signatures |
class-definition fact made observable later | generated constructor and action signatures | src/incident_plugins/framework.py and src/incident_plugins/actions.py |
tests/test_runtime.py |
make demo |
call-time fact | one concrete invocation result | src/incident_plugins/plugins.py and src/incident_plugins/actions.py |
TRACE_GUIDE.md |
make trace |
call-time fact with visible metadata | invocation history with config and action metadata | src/incident_plugins/actions.py and src/incident_plugins/plugins.py |
tests/test_runtime.py or tests/test_cli.py |
Best reading order by output type¶
- Start with
manifest,plugin,field,action,registry, orsignatureswhen the question is about public shape. - Move to
demoortraceonly when the question is about invocation behavior. - Move to tests only when the public surface suggests a claim that still needs stronger proof.
Good ownership checks¶
Ask these questions after every public route:
- Did this command show a definition-time fact, an attribute-level fact, or a call-time fact?
- Which file owns that fact first?
- Which test would become relevant only if the public output stopped being enough?
Fast escalation rule¶
- Stay with inspection-time routes when the question is still "what exists?"
- Move to call-time routes only when the question becomes "what happened?"
- Move to tests only when the public output and the ownership claim still do not line up.
Best companion guides¶
COMMAND_GUIDE.mdTARGET_GUIDE.mdSOURCE_GUIDE.mdPROOF_GUIDE.md