Try this workflow
- Open Import reviews. Each finding has exactly reviewer, file, line, severity and claim. The complete JSON array is validated before a single local overlay write. Invalid rows cannot partially import; identical findings are skipped.
- Open Findings and choose a file-and-line location. Its rows contain only findings at that exact location. A shared location is a navigation aid, not proof that two claims agree.
- Open Compare claims and choose a location with at least two findings. Select two claims and inspect their reviewer, severity and full claim text. Changed markers compare literal values only.
- Open a finding, inspect the corresponding source privately, choose unverified, confirmed, dismissed or needs context, and record your reasoning. Save, reload and reopen to confirm your decision persists.
- Seeded findings are fictional examples. This app cannot access repositories, run tests, detect semantic contradictions or prove defects. Export/back up important work separately; browser storage can be cleared.
Records stay in this browser. Reset demo data clears the saved records for this app.
The AppSPEC
Use this complete declarative specification in Studio. The runner supplies the site navigation and sandbox; the specification defines the workflow.
View complete AppSPEC (63 lines)
<?xml version="1.0" encoding="UTF-8"?>
<APP ID="review-findings-workbench" NAME="Review Findings Workbench" THEME="modern-minimal" WIDTH="1240px">
<DATA MODE="local">
<COLLECTION ID="review_findings">[]</COLLECTION>
</DATA>
<STATE ID="import" NAV="Import reviews" ICON="file-json">
<TEXT TEXT="Turn review noise into a verification queue" STYLE="h1" />
<TEXT TEXT="Your code stays outside this app. Review claims are data, not instructions. The example findings below are fictional." STYLE="muted" />
<PICTURE SRC="/media/review-workbench.png" HEIGHT="230px" FIT="cover" MODE="full" CAPTION="Two review streams converge on one code location; human verification resolves the claim." />
<REVIEW-IMPORT SRC="review_findings" VALUE="[{"reviewer":"Review A","file":"src/cache.js","line":42,"severity":"high","claim":"A stale cached value may be returned after an update."},{"reviewer":"Review B","file":"src/cache.js","line":42,"severity":"medium","claim":"The cache is invalidated by the caller; verify that path before changing it."},{"reviewer":"Review A","file":"src/parser.js","line":18,"severity":"medium","claim":"Empty input needs an explicit failure result."}]" />
<BUTTON LABEL="Open findings" ACTION="findings" />
</STATE>
<STATE ID="findings" NAV="Findings" ICON="list-filter">
<TEXT TEXT="Inspect claims at the same code location" STYLE="h1" />
<TEXT TEXT="Filter by an exact location, then open a claim to record evidence. Matching locations do not prove matching defects." STYLE="muted" />
<TOTAL SRC="review_findings" OP="count" LABEL="Findings in this workspace:" />
<CATEGORY-NAV ID="review_location" SRC="review_findings" FIELD="location" ALL="All locations" />
<TABLE SRC="review_findings" WHERE="location={review_location}" OPEN="verify" EMPTY="No findings yet. Import the example or your own structured review.">
<COL FIELD="reviewer" LABEL="Reviewer" />
<COL FIELD="location" LABEL="Location" />
<COL FIELD="severity" LABEL="Severity" />
<COL FIELD="status" LABEL="Verification" />
<COL FIELD="claim" LABEL="Claim" />
</TABLE>
</STATE>
<STATE ID="compare" NAV="Compare claims" ICON="columns-2">
<TEXT TEXT="Read the competing claims side by side" STYLE="h1" />
<TEXT TEXT="Choose one code location, then compare two reviewers. Changed text is not a semantic contradiction or a correctness verdict." STYLE="muted" />
<CATEGORY-NAV ID="compare_location" SRC="review_findings" FIELD="location" ALL="All locations" />
<RECORD-COMPARE SRC="review_findings" TITLE="title" WHERE="location={compare_location}" EMPTY="Import at least two findings for this location to compare them.">
<COL FIELD="reviewer" LABEL="Reviewer" />
<COL FIELD="location" LABEL="Location" />
<COL FIELD="severity" LABEL="Severity" />
<COL FIELD="claim" LABEL="Claim" />
<COL FIELD="status" LABEL="Verification" />
<COL FIELD="verification" LABEL="Your evidence" />
</RECORD-COMPARE>
</STATE>
<STATE ID="verify">
<TEXT TEXT="Verify one claim against your source" STYLE="h1" />
<DETAIL SRC="review_findings" TITLE="title" FIELDS="location,reviewer,severity,claim" EMPTY="Open a finding first." />
<FORM UPDATE="review_findings" TO="findings" SUBMIT-LABEL="Save verification">
<FIELD NAME="status" LABEL="Verification status" TYPE="select" OPTIONS="unverified:Unverified,confirmed:Confirmed,dismissed:Dismissed,needs-context:Needs context" REQUIRED="true" />
<FIELD NAME="verification" LABEL="Your verification evidence" TYPE="textarea" />
</FORM>
<BUTTON LABEL="Delete finding" ACTION="remove-finding" STYLE="danger" />
</STATE>
<WIRE LABEL="remove-finding" DELETE="review_findings" TO="findings" />
<STATE ID="method" NAV="Method and limits" ICON="book-open">
<TEXT TEXT="A disciplined review workflow" STYLE="h1" />
<TEXT TEXT="Import a bounded review batch" STYLE="h2" />
<TEXT TEXT="Open Import reviews. Each finding has exactly reviewer, file, line, severity and claim. The complete JSON array is validated before a single local overlay write. Invalid rows cannot partially import; identical findings are skipped." STYLE="muted" />
<TEXT TEXT="Group the actual code locations" STYLE="h2" />
<TEXT TEXT="Open Findings and choose a file-and-line location. Its rows contain only findings at that exact location. A shared location is a navigation aid, not proof that two claims agree." STYLE="muted" />
<TEXT TEXT="Compare what reviewers actually said" STYLE="h2" />
<TEXT TEXT="Open Compare claims and choose a location with at least two findings. Select two claims and inspect their reviewer, severity and full claim text. Changed markers compare literal values only." STYLE="muted" />
<TEXT TEXT="Verify against your own code" STYLE="h2" />
<TEXT TEXT="Open a finding, inspect the corresponding source privately, choose unverified, confirmed, dismissed or needs context, and record your reasoning. Save, reload and reopen to confirm your decision persists." STYLE="muted" />
<TEXT TEXT="Keep the scope honest" STYLE="h2" />
<TEXT TEXT="Seeded findings are fictional examples. This app cannot access repositories, run tests, detect semantic contradictions or prove defects. Export/back up important work separately; browser storage can be cleared." STYLE="muted" />
<TEXT TEXT="Manual verification and exact file/line grouping only. No repository access, code execution, automatic defect classification, semantic matching, model API calls, team sync or correctness guarantee." STYLE="small" />
</STATE>
</APP>