docs(10.1): record code review disposition

This commit is contained in:
Jakub Zych
2026-09-29 03:29:52 +02:00
parent 9f6b5a5706
commit 29433f3c40

View File

@@ -0,0 +1,88 @@
---
phase: 10.1
review: 10.1-REVIEW.md
titles: json
findings:
- id: CR-01
severity: critical
disposition: open
title: "A fractional, exponent or overflowing number for an integer column is a 500, not a validation error"
- id: WR-01
severity: warning
disposition: open
title: "A late schema response re-activates the previous controller's stylesheets over the current view"
- id: WR-02
severity: warning
disposition: open
title: "Plugin stylesheets stay enabled on views that are not controller views"
- id: WR-03
severity: warning
disposition: open
title: "The partial view-model guard (T-10.1-09) is shallow and easy to bypass"
- id: WR-04
severity: warning
disposition: open
title: "`isJSONScalar` trusts `reflect.Kind`, not the JSON the value encodes to"
- id: WR-05
severity: warning
disposition: open
title: "Form schema shows widgets the admin is not allowed to run"
- id: WR-06
severity: warning
disposition: open
title: "The widget action route ignores the field's `context`"
- id: IN-01
severity: info
disposition: open
title: "The widget-tag collision mitigation (T-10.1-11) only checks YAML"
- id: IN-02
severity: info
disposition: open
title: "A toolbar action accepts `{\"values\": null}`"
- id: IN-03
severity: info
disposition: open
title: "The OpenAPI annotations omit the 500 responses the new routes return"
- id: IN-04
severity: info
disposition: open
title: "The gate's partial-template hygiene only scans `*/controllers/*/_*.htm`"
- id: IN-05
severity: info
disposition: open
title: "Plugin admin assets are served without authentication"
- id: IN-06
severity: info
disposition: open
title: "A form partial `?id=` needs writable-model capabilities"
- id: IN-07
severity: info
disposition: open
title: "The `compilePartials` escape check has false positives"
open: 14
total: 14
recorded: 2026-09-29T01:29:52.513Z
---
# Phase 10.1: Code Review Disposition
| Finding | Severity | Disposition | Source |
|---------|----------|-------------|--------|
| CR-01 | critical | open | - |
| WR-01 | warning | open | - |
| WR-02 | warning | open | - |
| WR-03 | warning | open | - |
| WR-04 | warning | open | - |
| WR-05 | warning | open | - |
| WR-06 | warning | open | - |
| IN-01 | info | open | - |
| IN-02 | info | open | - |
| IN-03 | info | open | - |
| IN-04 | info | open | - |
| IN-05 | info | open | - |
| IN-06 | info | open | - |
| IN-07 | info | open | - |
Dispositions: `open` (recorded, not yet triaged), `fixed`, `skipped`, `deferred`.
Set `deferred` by hand and put the reason in the Source cell; both are preserved. A `|` in the reason is kept as prose and escaped on the next run.
Re-running the gate keeps every row it can. A row the current review no longer reports is kept and its Source cell flagged, so a finding does not leave this record silently. ONE exception: when a finding id is REUSED by a different finding, the earlier decision cannot keep a row — the id is taken — and it is dropped. A RECORDED decision (anything but `open`) is named on the console when that happens; a row still at `open` is replaced silently, because `open` records no decision to lose.