TraceMaker
C++ API of the engine
Loading...
Searching...
No Matches
stuck_report.hpp File Reference

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)

Detailed Description

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.