Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,3 +1,54 @@
Review verdicts now record a **disposition per lifted claim** — the one change
the falsified-by efficacy review ([[falsified-by-checkpoint-efficacy-review]],
2026-08-18) recommended, moving mitigation 6 from remind-shaped to
detect-shaped: a rote adversarial pass is now visible ledger drift instead of
being indistinguishable from a healthy one.

- completed: 2026-08-18 (same-day follow-up to the efficacy review, same
dashboard-work session, branch `claude/automind-falsified-by-checkpoint-cmsqsi`)
- target: PyAutoBrain

## The change

When the ReviewSurface lifts any `claims to falsify`, the reviewing agent's
verdict must carry one line per claim:

```
claim: "<lifted line>" → basis-cited: <the test/measurement/diff that shows it> | idle | FINDING (unverified-claim)
```

written by the **reviewer at verdict time**, never by the author (the
reader-enforced shape mitigation 6 was designed around). A bare CLEAN over a
non-empty claims surface is malformed evidence, not CLEAN — the ship
checkpoint reader can see the omission. An empty surface requires nothing, so
the 74–95% of ships that lift no claims gain no busywork.

Surfaces touched (all PyAutoBrain):

- `agents/faculties/review/AGENTS.md` — step 2a gains the disposition format;
step 3's verdict mapping gains the malformed-evidence rule.
- `agents/faculties/review/_review.py` — the human-emit epilogue prints the
disposition instruction, guarded to fire only when claims were lifted.
- `AUTONOMY.md` — autonomous-ship-gate review leg carries the requirement.
- `skills/ship_library/reference.md` — the `--auto` validation-checklist gate
line shows where dispositions go in the PR body.
- `docs/agent_failure_modes.md` — item 6 Outcome updated from "filed" to
"implemented".
- 2 new pinning tests in `tests/test_review_claims.py` (instruction present
with claims, absent without); suite 351 passed.

No trigger-vocabulary change — the efficacy review measured the current
vocabulary as neither empty nor saturated and recommended none.

## Dogfood note

The faculty was run on the shipping branch itself: surface produced, zero
claims lifted from the commit message, and — per the new guard — no
disposition demand printed on the empty surface. Verdict CLEAN with no
dispositions owed, which is exactly the no-busywork path.

## Original prompt

# Review verdicts record a disposition per lifted claim

Type: feature
Expand Down
3 changes: 2 additions & 1 deletion complete/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Token-light navigation over the finished-work records (schema:
only then grep a dated bucket. Curators: edit the band between the CURATED
markers; everything below GENERATED is rebuilt.

1019 records across 7 buckets.
1020 records across 7 buckets.

<!-- CURATED:START -->
## Highlights
Expand Down Expand Up @@ -125,6 +125,7 @@ _(curate hard-won records here — survives regeneration.)_
- [resolve-border-relocator-hazard](2026/08/resolve-border-relocator-hazard.md) — Reconciled the likelihood hazard instrument after the border-relocator source fix. The resolved backend-diverg…
- [resolve-curvature-floor-doc-drift](2026/08/resolve-curvature-floor-doc-drift.md) — Reconciled the curvature-floor documentation finding after PyAutoArray#444. The detector now requires both run…
- [resolve-sersic-ell-comps-gradient](2026/08/resolve-sersic-ell-comps-gradient.md) — Reconciled the numerical-hazard evidence after the Sersic Cartesian-radius fix. The stable conditional detecto…
- [review-claim-dispositions](2026/08/review-claim-dispositions.md)
- [samplers-surface-autolens-tiers](2026/08/samplers-surface-autolens-tiers.md) — the samplers faculty's SamplerSurface now scans the findings
- [save-json-numpy-scalar-typeerror](2026/08/save-json-numpy-scalar-typeerror.md) — Adds `NumpyEncoder` in `autofit/tools/util.py` (`np.ndarray` ->
- [script-title-underline-off-by-one](2026/08/script-title-underline-off-by-one.md)
Expand Down
8 changes: 3 additions & 5 deletions dashboard.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Tasks only — the organism's health lives with the Heart (`/health`), not here.
| [In flight](#in-flight) (`active/`) | 3 |
| [Parked](#parked) (`parked.md`) | 1 |
| [Planned](#planned) (`planned.md`) | 7 |
| [Backlog](#backlog) (`draft/`) | 131 |
| [Backlog](#backlog) (`draft/`) | 130 |

Live on GitHub: [open issues](https://github.com/search?q=org%3APyAutoLabs+is%3Aissue+is%3Aopen&type=issues) · [open pull requests](https://github.com/search?q=org%3APyAutoLabs+is%3Apr+is%3Aopen&type=prs)

Expand All @@ -34,7 +34,6 @@ Live on GitHub: [open issues](https://github.com/search?q=org%3APyAutoLabs+is%3A

**Quick wins** (small enough, and safe enough to run unattended)

- [Review verdicts record a disposition per lifted claim](draft/feature/pyautobrain/review_claim_dispositions.md) — pyautobrain · small · safe · normal
- [PyAutoFit CLI-noise batch: unclosed search.log handler + four small warning](draft/maintenance/pyautofit/cli_noise_pyautofit_batch.md) — pyautofit · small · safe · normal
- [Tenant firewall: release_run.py carries an unlisted 'PyAutoLabs' instance fact](draft/bug/pyautoheart/tenant_firewall_release_run_instance_fact.md) — pyautoheart · small · safe · normal
- [Silence the three autonerves-rooted CLI-noise sources (fits leak, pytest collection,](draft/maintenance/pyautonerves/cli_noise_autonerves_batch.md) — pyautonerves · small · safe · normal
Expand Down Expand Up @@ -82,7 +81,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.

## Backlog

**131** filed prompts, not started. Each section is sorted most-pickable first (priority, then size).
**130** filed prompts, not started. Each section is sorted most-pickable first (priority, then size).

<details>
<summary><b>bug</b> — 35</summary>
Expand Down Expand Up @@ -126,14 +125,13 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
</details>

<details>
<summary><b>feature</b> — 28</summary>
<summary><b>feature</b> — 27</summary>

- [Decide whether the clipper belongs in the search identifier](draft/feature/autofit/clipper_in_search_identifier.md) — autofit · medium · human-required · high
- [Profile and speed up JAX likelihood-function compile times (all use](draft/feature/autolens_profiling/jax_compile_time_profiling.md) — autolens_profiling · large · supervised · high
- [Give the Profiling Agent a compile-time axis — the arc](draft/feature/profiling/profiling_agent_jax_compile_time_scope.md) — profiling · large · supervised · high
- [Which other searches need prior-support handling — coverage audit after](draft/feature/autofit/prior_exit_sampler_coverage.md) — autofit · medium · supervised · medium
- [Give PyAutoFit searches a `seed` — today no search can](draft/feature/autofit/search_seed_reproducibility.md) — autofit · medium · supervised · medium
- [Review verdicts record a disposition per lifted claim](draft/feature/pyautobrain/review_claim_dispositions.md) — pyautobrain · small · safe · normal
- [Can create a list of InversionMatrix objects for each dataset](draft/feature/autoarray/multiwavelength_inversion.md) — autoarray · medium · supervised · normal
- [The project @z_projects/ic50_workspace is our IC50 use case which we](draft/feature/autofit/ep_lbfgs_jax.md) — autofit · medium · safe · normal
- [Tune cluster-scale JOSS benchmarks toward their 5-minute targets](draft/feature/autolens_workspace/joss_cluster_benchmark_tuning.md) — autolens_workspace · medium · supervised · normal
Expand Down
Loading