Evidence and edits

How the RTL++ assistant backs every claim of a pass, a fix or timing with a run, why it never weakens a test, and how to review and undo its edits.

Evidence

Every test run and build the assistant makes gets an evidence id, E1, E2 and so on, tied to the exact version of the design it ran on. An answer may say tests pass, a bug is fixed or a design meets timing only by citing an id that shows it, from this turn and from after the last edit.

  • A test that passed in Icarus only is not a pass.
  • A fix needs a full test run after the edit.
  • Timing figures are estimates from nextpnr, and the answer says so.
  • Nothing in the browser proves a design formally verified or equivalent to another, so the assistant never claims either.

A claim without evidence sends the assistant back to check once. If it still has none, the answer is shown as written, with the claim marked Not verified.

Under the answer, each run is a row: what ran, its verdict, the first characters of the design it ran on, and Show. A row whose design has changed since says so, with Run again.

Edits

The assistant's edits are staged: while it works, its tests and builds run on your files plus its changes, and your files, the editor and Problems stay as you left them. The editor shows the changes inline. When it finishes, Keep merges them into your files, also when you edited another part of the same file meanwhile; Discard leaves every file exactly as it was; Review lists each change with Keep and Undo.

An edit that removes $fatal, $error or assert checks from a test or a constraint file is refused. The assistant fixes the design, or tells you why it thinks the test is wrong.