M5 independent verification¶
Verdict¶
VERIFIED on 2026-07-27.
- Initial implementation:
308ddf8 - Privacy and cursor remediation:
21aae2d - Focused tests: 14 passed
- Complete service suite: 135 passed
Repeated-evidence path¶
Two normalized matching experiences backed by distinct authorization IDs created one schema-valid, non-binding improvement candidate. A third matching experience updated the same candidate ID. One experience, or two experiences from the same authorization, created no candidate.
M4 success feedback FDBK-F0F434EBB945466D8610E5503A342D12 remained a
single experience and therefore did not become a candidate by itself.
Stable review and privacy¶
The reviewer independently reproduced:
- atomic expected-cursor rejection and seven-day cadence enforcement;
- permission-profile cursors that preserve filtered evidence for a later authorized reviewer;
- privacy-class-partitioned deduplication;
- public review/list/draft paths that do not expose client-private candidates;
- rejection of public client-private intake;
- rejection of caller-asserted redaction without a server-issued envelope;
- rejection when submitted fields differ from the issued redaction envelope.
The initial review found that public review and proposal drafting could expose
private summaries, a global cursor could discard filtered evidence, and
redaction was caller-asserted. Commit 21aae2d replaced those controls and the
reviewer reproduced all original attacks as closed.
Governance and retention¶
Experience, review, and candidate artifacts remain explicitly non-binding. Candidates cannot authorize execution, edit corpus, or activate policy. The proposal bridge produces inert input only; the required path remains:
candidate → conductor-proposal issue → Conductor-Approval: approve → PR
The 180-day timestamp marks raw evidence retention eligibility. It does not delete evidence or change candidate/audit meaning.
Repository checks¶
- 14 focused M5 tests passed.
- 135 complete service tests passed.
- Draft 2020-12 experience, review, and candidate schemas executed.
- M2 corpus validation and corpus/docs coverage passed.
- Strict MkDocs build passed.
- Branch diff check passed after mechanical EOF cleanup.
- The three pre-existing untracked
_mcp_*scratch files were untouched.
M5 exit conditions are satisfied. M6 may rely on the verified learning-loop boundaries.