- D-3: inline the serde-layer check into the renamed serde_rejects_unknown_substrate_value; delete the overpromising jsonschema_valid helper (the registry's real schema gate stays pinned end-to-end by the integration probes) - D-4: trim the stale Unreleased preamble to a one-liner (written before the six graduation implementation commits landed) Verified: cargo fmt --check; cargo clippy --all-targets -D warnings; cargo test (86 + 2 doc-tests) green
3.5 KiB
id, name, status, depends_on, scope, risk, impact, level, tags
| id | name | status | depends_on | scope | risk | impact | level | tags | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| tunnels/review-002-trivial-batch | Trivial batch — D-3 (rename the overpromising schema test helper) + D-4 (trim the stale CHANGELOG preamble) | completed | narrow | trivial | isolated | implementation |
|
Description
Two trivial review 002 findings
(docs/reviews/002-graduation-implementation-review.md) batched —
each a one-line-scale change; no behavior impact.
D-3 — the test helper's name overpromises
src/params.rs:628-637: jsonschema_valid parses the value with
serde and pattern-matches the substrate string — it validates the
serde layer, NOT the JSON Schema (the registry compiles the real
validators; adding a jsonschema dev-dependency purely for this unit
test is not warranted). The call-site
schema_rejects_unknown_substrate_value therefore promises more than
it delivers; the sibling
direct_target_schema_gates_shape_per_substrate is honest (it does
structural schema assertions and says so).
Fix: rename jsonschema_valid → serde_valid (or inline the check)
and rename the call-site test
schema_rejects_unknown_substrate_value →
serde_rejects_unknown_substrate_value (its doc comment should say
"the serde layer; the registry's real schema gate is pinned
end-to-end by the integration probes
(schema_rejects_unknown_substrate_loudly,
malformed_target_is_schema_class…, the forwarded listen: 0
gate)"). Do NOT add a jsonschema dev-dependency.
D-4 — the CHANGELOG "Unreleased" preamble is stale
CHANGELOG.md's Unreleased section still opens with "implementation
is decomposed in tasks/tunnels/ and lands in the next release…
the only behavior-affecting change so far (no wire or API change at
this level yet)" — written before the six graduation implementation
commits. The ### Added section below it correctly lists all six
features; the preamble contradicts the section it introduces.
Fix: trim the preamble to a one-liner (e.g. "The graduation implementation (ADRs 007/008) landed — see Added below." — final wording agent's choice) or drop it.
Acceptance Criteria
- The overpromising unit test/helper renamed (no
jsonschemadev-dependency added) - The CHANGELOG Unreleased preamble trimmed or dropped
cargo testgreen (the renamed test included); clippy + fmt clean
References
- docs/reviews/002-graduation-implementation-review.md §D-3, §D-4
- src/params.rs:628-637 (the helper + call-site)
- CHANGELOG.md (the Unreleased preamble)
Notes
Agent fills during implementation.
Implementation Notes (2026-09-20)
- D-3: inlined the honest serde check directly into the renamed
test
serde_rejects_unknown_substrate_value(thejsonschema_validhelper deleted — it had exactly one call-site, and itsmatches!-with-guard body was convoluted beyond its job). The doc comment names the integration probes that pin the real registry-side gate end-to-end. Nojsonschemadev-dependency added (the structural-assertion siblingdirect_target_schema_gates_shape_per_ substrateis untouched and stays honest). - D-4: trimmed the preamble to the one-liner ("The graduation
implementation … landed — see Added below."); the stale
tasks/tunnels/sentence and the "only behavior-affecting change" claim are gone. - Verification:
cargo fmt --check,cargo clippy --all-targets -D warnings,cargo test(86 default tests + 2 doc-tests) all green.