programmati.ca Open Studio
Return to Research
HOWTO

Compare model review claims before accepting a defect

A local review workspace with validated batch import, location filtering, side-by-side claims and persistent human verification.

Try the working example Edit in Studio

Practical workflow

Import a bounded review batch

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.

Group the actual code locations

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.

Compare what reviewers actually said

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.

Verify against your own code

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.

Keep the scope honest

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.

The bounded model response

{"recipe_id":"review_workbench","reason_code":"review_findings_triage"}

Import exact structured claims

[{"reviewer":"Review A","file":"src/cache.js","line":42,"severity":"high","claim":"Check invalidation after an update."}]

Trusted code validates the entire array before writing one local collection overlay. It rejects extra keys, invalid types and excessive input. Exact duplicate findings are skipped. Compare literal claims, then record your own verification against the real source.

The fixed AppSPEC template

<?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="[{&quot;reviewer&quot;:&quot;Review A&quot;,&quot;file&quot;:&quot;src/cache.js&quot;,&quot;line&quot;:42,&quot;severity&quot;:&quot;high&quot;,&quot;claim&quot;:&quot;A stale cached value may be returned after an update.&quot;},{&quot;reviewer&quot;:&quot;Review B&quot;,&quot;file&quot;:&quot;src/cache.js&quot;,&quot;line&quot;:42,&quot;severity&quot;:&quot;medium&quot;,&quot;claim&quot;:&quot;The cache is invalidated by the caller; verify that path before changing it.&quot;},{&quot;reviewer&quot;:&quot;Review A&quot;,&quot;file&quot;:&quot;src/parser.js&quot;,&quot;line&quot;:18,&quot;severity&quot;:&quot;medium&quot;,&quot;claim&quot;:&quot;Empty input needs an explicit failure result.&quot;}]" />
    <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>

Source and scope

A public developer question prompted this walkthrough. It demonstrates a constrained template approach; it does not measure how often the reported problem occurs.

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.

This app passed actual browser invalid-import rejection, duplicate-import checks, exact location filtering, claim comparison, persisted verification, deletion, empty states and mobile layout. It does not determine whether a defect is real. These checks do not establish customer value.