Files
Hubert Gancarczyk e8536076de test(flow,cli,mcp): close the coverage gaps each defect walked through
- The JUnit reporter is PARSED, not grepped. Every assertion was `toContain` or
  a regex, which passes wherever in the document a fragment sits — which is
  exactly how an `<error>` in a position no schema allows survived the suite.
  `flow.test.ts` validates the document it actually writes, too.
- The MCP failure block gets a verbatim pin. The section was entirely
  `toContain`, so an injected extra line or a silently dropped slot survived.
- `inlineRole` — the headline MCP change in this diff — was unreachable by the
  suite: the two near-miss tests set `secretTyped` (killing the flag it sits
  behind) and passed no ctx. Both arms are now driven, and `MAX_RENDER_FAILURES`
  has a fixture that reaches it.
- The other new code the suite never executed: `wireTimestamp` (load-bearing —
  removing it makes `buildJUnitXml` throw), `resolvedPlatform`, the JUnit body's
  `expected:`/`actual:`/`match:`/`reads:`/`device:` slots, and
  `sink.error = undefined`, the only stale-error clear, which now has a test
  that recovers after a read failure.
- The "unclassified" test asserted nothing: its body was `if (failure) { … }`,
  vacuous when the failure is absent — and its fixture produces a PASSING step,
  so the guard never opened. `unclassified` is now driven at the assembler, the
  site that decides it, with a literal pin.
- `expect(indexOf(a)).toBeLessThan(indexOf(b))` is satisfied by `a` being absent
  entirely (-1 < N); presence is asserted first.

The nested-`flow-execute` secret case the harness could not express is covered
by the device-scoped latch's own two-run test.
2026-08-24 11:00:35 +02:00
..
2026-06-01 23:22:10 +02:00