Flowchart · archy

One change, three surfaces

One change, three surfaces Every new gate or payload field must reach the CLI text output, the CLI JSON output, and the MCP payload; wiring only some of them is the defect three consecutive review rounds of #371 each found again. A new gate or field one change CLI text _x_to_text CLI JSON _x_to_dict MCP payload @computed_field All three, or it is not shipped assert on model_dump(), not the attribute WHY IT MATTERS Wiring two of three is the defect three consecutive review rounds of #371 each found again. The surface left out was the MCP payload, the one agents call, so it reported passed=true for the exact case the gate existed to catch. FastMCP drops a plain @property, which is why the third box names @computed_field.