KB-4A92

DOT Wrapper — 05 KG Producer/Verifier Pilot Package

4 min read Revision 1

05 — KG Producer/Verifier Pilot Package (Workstream D)

One pair fully specified so the next macro can run a true dry-run without rediscovery.

Chosen pair

DOT_KG_EXPLAIN (producer) + DOT_KG_EXPLAIN_VERIFY (verifier). Both execution_engine=agent_api, paired_dot mutually set, pair_complete=t. (Runner-up DOT_KG_CONVERSE_EXTRACT+_VERIFY rejected: mixed engines agent_api/hybrid.)

Pilot specification (ready-to-run identifiers)

field value
process_candidate_code PROC-CAND:dot:kg
process_run_id (format) uuid v4, minted per run (e.g. gen_random_uuid())
correlation_id (format) DRYRUN:dot:kg:explain:<YYYYMMDD>:<short> (distinct prefix from SIMRUN:)
producer component_run_id gen_random_uuid()
verifier component_run_id gen_random_uuid()
idempotency_key — run DRY:dot:kg:explain:run:<date>
idempotency_key — producer DRY:dot:kg:explain:producer:<date>
idempotency_key — verifier DRY:dot:kg:explain:verifier:<date>
source_system dot_exec_wrapper (not dry_run_harness — distinguishes runner output from ledger sim)
evidence_type DRY_RUN (only after a real plan-mode invocation; until then SIMULATED_DRY_RUN)

Fixture / input (MISSING — must be defined by runner macro)

  • Input fixture: a KG node/edge id or a small explain prompt. None wired today (agent_api has no input contract in dot_tools).
  • Expected output: producer emits an explanation artifact → output_ref; verifier consumes it as input_ref and emits a pass/fail verdict → output_ref.
  • No-mutation guarantee: the agent_api call MUST run in an asserted plan/verify-only mode that does NOT write universal_edges/KG rows; output routed to a temp/test namespace or to evidence_ref only.
  • Cleanup: delete by source_system='dot_exec_wrapper' + correlation prefix DRYRUN: (same shape as the existing dry_run_harness cleanup in the rollback).

Event sequence (when activated — default inactive)

process.run.started (header) → process.step.started (producer) → process.step.completed (producer) → process.step.started (verifier) → process.step.completed (verifier) → process.run.completed. Failure path → process.run.failed. (doc 06)

Observation rows expected (one true dry-run)

1 process_run_observation (evidence_type DRY_RUN, status completed) + 2 process_component_observation (producer + verifier, sharing run_id + correlation_id).

Classification: WRAPPER_READY_BUT_FIXTURE_MISSING → BLOCKED_BY_NO_RUNNER

The ledger/correlation/idempotency/safety path is DRY_RUN_READY (proven this macro). What is missing to reach a true DRY_RUN observation:

  1. a DOT runner that performs the agent_api call (does not exist), and
  2. an asserted plan/verify-only mode for KG DOTs (does not exist), and
  3. a fixture (input + expected output) (does not exist).

⇒ Do not execute. The single committed observation stays SIMULATED_DRY_RUN. The next macro builds the runner + fixture, then this package runs unchanged.

Back to Knowledge Hub knowledge/dev/reports/architecture/dot-execution-wrapper-correlation-patch-kg-dryrun-harness-2026-06-04/05-kg-producer-verifier-pilot-package.md