|
TraceMaker
C++ API of the engine
|
The stuck report (design doc 17 §3, issue #26 stage 0): what failed and why, as JSON that an advisor (a person, a script or a model) can act on. More...
#include <string>#include <nlohmann/json.hpp>#include "advice/advice.hpp"#include "model/board.hpp"#include "model/rules.hpp"#include "route/router.hpp"Go to the source code of this file.
Classes | |
| struct | tmk::advice::StuckInput |
| struct | tmk::advice::StuckReport |
Namespaces | |
| namespace | tmk |
| namespace | tmk::advice |
Functions | |
| StuckReport | tmk::advice::build_stuck_report (const StuckInput &in) |
The stuck report (design doc 17 §3, issue #26 stage 0): what failed and why, as JSON that an advisor (a person, a script or a model) can act on.
It is built from a finished route, is useful on its own (route --stuck-report FILE), and is what route --advisor CMD sends to the advisor on stdin.
The report quotes names from the board (nets, parts), which makes it a prompt-injection surface and, sent to a cloud model, a disclosure. So it says exactly what it contains (disclosure), is limited in size, and can be redacted: with redact every net and part gets an alias (N1, P3) and the advice that comes back uses the aliases (advice::unalias).
Definition in file stuck_report.hpp.