plugin status and the operator guide still call a predates-the-knobs verdict "another engine" — drift introduced by #211's fix #217

Closed
opened 2026-09-07 17:58:59 +02:00 by buildagent · 0 comments
Member

Follow-up to #211, surfaced by the lane that fixed it. This drift is a consequence of that fix and should land in the same release, or v0.27.0 ships two surfaces describing one fact two different ways.

#211 taught plugin doctor to distinguish a different engine from the same engine, recorded before this host pinned its knobs. Two other places render the same fact and were deliberately left alone because they sit outside that lane's file ownership:

1. crates/cli/src/plugin.rs:3000 — plugin status prints:

not run here (conformance_not_run) — passed under `X`, this host is `Y`

Less actively misleading than the old doctor line, but it makes the same non-distinction: after upgrading to v0.27.0, X and Y will differ only by the knob suffix, and nothing says so. An operator who runs plugin doctor and plugin status in the same session now gets two different accounts of one verdict.

2. _prdoc/guides/80-operator-recovery.md:970 — describes the check as "…or one earned under another engine". Still true, now incomplete: it does not mention the predates-the-fields case, which after this release will be the overwhelmingly common one.

What to do

Render the distinction from ONE place. The prefix-plus-field-boundary predicate #211 added (a plain prefix is not enough — wasmtime 36.0.1 is a prefix of wasmtime 36.0.14, which is a real engine change) should be a shared helper both plugin_doctor.rs and plugin.rs call, not logic duplicated with a second chance to drift. That is the generic fix; making plugin.rs say the same words a second time is the one that lets a third surface drift later.

Update the guide to name both cases.

Mutations

  • Change the shared predicate to == → BOTH the doctor test and a new plugin status test must go RED. If only one fails, they are not sharing the predicate and the drift can recur.
  • Delete the field-boundary clause → the 36.0.1 vs 36.0.14 test must go RED on both surfaces.

Note plugin status currently appears to have no test covering this rendering — worth confirming, since #211 found the doctor conformance check had zero tests of any kind, and that is how #209 shipped.

Follow-up to #211, surfaced by the lane that fixed it. **This drift is a consequence of that fix and should land in the same release**, or v0.27.0 ships two surfaces describing one fact two different ways. #211 taught `plugin doctor` to distinguish *a different engine* from *the same engine, recorded before this host pinned its knobs*. Two other places render the same fact and were deliberately left alone because they sit outside that lane's file ownership: **1. `crates/cli/src/plugin.rs:3000`** — `plugin status` prints: ``` not run here (conformance_not_run) — passed under `X`, this host is `Y` ``` Less actively misleading than the old doctor line, but it makes the same non-distinction: after upgrading to v0.27.0, `X` and `Y` will differ only by the knob suffix, and nothing says so. An operator who runs `plugin doctor` and `plugin status` in the same session now gets two different accounts of one verdict. **2. `_prdoc/guides/80-operator-recovery.md:970`** — describes the check as "…or one earned under another engine". Still true, now incomplete: it does not mention the predates-the-fields case, which after this release will be the overwhelmingly common one. ## What to do Render the distinction from ONE place. The prefix-plus-field-boundary predicate #211 added (a plain prefix is not enough — `wasmtime 36.0.1` is a prefix of `wasmtime 36.0.14`, which is a real engine change) should be a shared helper both `plugin_doctor.rs` and `plugin.rs` call, not logic duplicated with a second chance to drift. That is the generic fix; making `plugin.rs` say the same words a second time is the one that lets a third surface drift later. Update the guide to name both cases. ## Mutations * Change the shared predicate to `==` → BOTH the doctor test and a new `plugin status` test must go RED. If only one fails, they are not sharing the predicate and the drift can recur. * Delete the field-boundary clause → the `36.0.1` vs `36.0.14` test must go RED on both surfaces. Note `plugin status` currently appears to have no test covering this rendering — worth confirming, since #211 found the doctor conformance check had zero tests of any kind, and that is how #209 shipped.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
h-dv/code-index#217
No description provided.