CMMC readiness, end to end
Theme
Phase 4 drill-down: work the evidence queue

Evidence queue

How a claimed control becomes a specific request in the client's own tool names, how the artifact comes back, how a model screens it against the request, and how one decision by the consultant rolls through to the evidence and the request.

286
evidence recipes: what an assessor wants to see, per objective
195 → 59
Perform objectives in scope, and requests actually sent, in the synthetic Level 2 run
1 of 3
artifacts accepted in that run; the screen caught a wrong product and a stale report
1
decision by the consultant per request; the rest follows from it

The whole pipeline

Ask, collect, screen, decide. Only the screen uses a model, and it never decides.

Step Written by reconcile Dashed box: the client

This phase covers the Perform objectives: things shown to be done, with an artifact. The Define objectives were answered from documents in Phase 3.

1

Ask: requests from a recipe library

Each request says why an assessor wants it, what to send, and whose system it comes from.

Recipe fieldHolds
Assessor IntentIn plain words, what the assessor is trying to establish
What It Must ShowThe specific elements an acceptable artifact contains
Artifact Type, Typical Source SystemA screenshot, a configuration export, a report; and where it usually comes from
Responsible Role, Freshness WindowWho usually produces it, and how old it may be
Function (optional)When set, the recipe names {{technology}}, filled with the client's own tool for that function

Recipes with a function are routed to a specific kind of tool; they reach 83 of the 110 Level 2 controls. The rest stay generic.

Generating the requests

  1. Keep only requirements the client claimed Implemented or Partially Implemented in triage (Phase 2e). A claimed "no" never gets a request.
  2. Take their Perform objectives, and the recipes linked to them, one request per recipe.
  3. Fill {{technology}} from the inventory (Phase 2b). If no inventoried tool provides the function, the placeholder stays and the request is flagged "confirm how this control is actually done".
  4. Write the request as the assessor's intent, then "what to provide", then source, owner and freshness, at status To Collect.

Re-running adds only requests that don't exist yet; it never edits or deletes one.

2

Collect: three ways in

The client proposes; the consultant commits. Nothing a client submits can mark itself verified.

RouteHowThe request afterwards
Submission formA shared form with no login; it links to a request and hides every verification fieldReceived within seconds: the arrival of a file fires reconcile
Client portalUpload on the request's page (up to 25 MB); a job files it in the base and removes the upload copyReceived at once; a previous decision and feedback are cleared
Through the consultantAdded and linked by handReceived within seconds, the same way
3

Screen: a model reads the artifact

Advisory only: it tells the consultant where to look first.

  1. Pressed as a button, "Run vision check", not fired on upload. It picks up every request's linked images and PDFs not yet decided by a person.
  2. The model gets the request text, the freshness window and today's date, and the artifact.
  3. It returns whether the artifact is the right kind, which required elements are present and missing, whether it's fresh, stale or undated, and a verdict: Likely match, Partial match or Likely mismatch. An unrecognized verdict is recorded as Likely mismatch, toward a closer look.
  4. It writes the verdict and notes on the request, and marks the evidence AI-proposed. It never marks anything MET. A reply it can't read leaves the verdict untouched and fails the run, so the alert fires; a resubmission through the portal clears the old verdict.
What it caught in the synthetic run. Three artifacts came back. One passed. The screen flagged an identity report from Okta sent against a request for Microsoft Entra, and a Defender report dated outside its 30-day freshness window. Both were rejected.
4

Decide: one call, rolled through

The consultant sets Reviewer Decision in the "Received (verify)" view. Reconcile does the bookkeeping.

  1. The decision fires reconcile. A change of Reviewer Decision to Accepted or Rejected triggers it on the isolated runner, with no button to press. If a reconcile is already running, it retries every 30 seconds, then alerts.
  2. Pass 1, the evidence. Accepted marks the request's linked evidence Human-verified, and "Satisfies objective" if its sufficiency is blank; a file rejected at an earlier decision stays Rejected when a newer file is there to accept. Rejected marks it Rejected. Pending changes nothing.
  3. Pass 2, the request. Verified evidence that satisfies moves the request to Verified; real but unverified evidence to Received; nothing usable back to To Collect. A request marked Not Applicable by a person is left alone.
  4. The client sees rejections. Reviewer Feedback is what the client reads next to a rejected request in the portal, on its next hourly refresh.
  5. It reports how many Perform objectives now have every covering request Verified. Marking them MET is Phase 5, and stays a person's call.
What counts later. For Phase 5 and the SSP, only evidence that is Human-verified and judged "Satisfies objective" counts. An AI-proposed row, or an unset one, counts as unverified.

Decision log

The calls that shaped the evidence queue, and when they were made.

DecisionWhyWhen
Sufficiency separate from verificationA real artifact can still be only part of the answer2026-07-20
A recipe library, with tool-specific recipes by functionOne ask, worded in each client's own tools2026-07-21
Generate, screen and reconcile built; screen validated on hand-graded samplesThe screen caught an MFA policy with no enrollment and a stale scan as Partial2026-07-22
Reconcile fires on the decision itselfNo second button to forget2026-07-23
Reviewer Feedback as a client-facing fieldThe client needs to know what to fix, in plain words2026-07-23
No-login submission form, verification fields hiddenA client can't mark its own evidence verified2026-07-29
Portal upload, reviewed like any other submissionThe client proposes; the consultant commits2026-07-31
A busy button retries, then alertsA press during a run should wait, not vanish2026-08-20
An accept never revives an earlier rejection; an unreadable screen reply fails loudlyBoth could leave a wrong state with nothing to show for it2026-09-30
A file's arrival fires reconcile; a busy decision run retries, then alertsForm uploads sat unseen at To Collect, and a decision made mid-run could wait2026-09-30
Age accepted evidence against its window: Refresh due, then Stale; a stale artifact stops counting, the mark and score stay the consultant's; a new upload reopens reviewA screenshot proves a setting on the day it was taken, and a refresh must be reviewed, not accepted under last year's decision2026-10-01

Known gaps