#15695 is the long-lived measurement authority for restore-empty-target: it owns both the disposable instrument and the final 5k/20k receipt against the exact #15740 implementation head. Those two lifecycle boundaries cannot share one ready PR close target without closing the investigation before its authoritative receipt exists.
This leaf captures only the instrument implementation. Its PR may resolve this ticket while #15695 remains open for the exact-head measurement and merge-gate decision. No ticket needs to be reopened.
Live latest-open sweep: checked the latest 20 open issues at 2026-07-23T13:21:12Z; no equivalent implementation leaf exists. #15695 is the parent investigation and #15740 owns the actuator. The Knowledge Base surfaced the unrelated Gemma4 REM benchmark in #12074; it does not measure recovery target-set staging/promotion and is not a duplicate. The recent A2A claim sweep found only Emmy's existing #15695 meter claim.
The Problem
The final #15695 receipt cannot be produced until #15740 has a clean implementation head, but building the instrument only after that head exists would mix privileged recovery logic, resource instrumentation, fixture generation, and evidence-contract review into one critical-path PR.
The meter also needs to refuse evidence-class collapse. A deterministic file control can verify phase accounting, progress, batch maxima, resource aggregation, interruption, and reconciliation, but it cannot claim Chroma/SQLite scaling or satisfy the exact-head merge gate.
The Architectural Reality
ai/scripts/benchmark/ already owns executable measurement instruments; serving-cost-meter.mjs is the sibling CLI precedent. Pure report/aggregation logic belongs below ai/scripts/benchmark/helpers/, following servingCostCore.mjs, so it can be unit-pinned without starting services. Unit coverage belongs below test/playwright/unit/ai/scripts/benchmark/, following stats.spec.mjs.
The structure-map and structural pre-flight therefore resolve this as a matched sibling lift, not a new daemon, service, or recovery authority. ADR-0027 remains authoritative for the ordered memories → summaries → graph target-set lifecycle.
The Fix
Add:
ai/scripts/benchmark/restore-empty-target-meter.mjs: a run-owned CLI that creates disposable fixtures, samples resources, runs synthetic controls or an injected exact-head adapter, and emits a provenance-bearing JSON report;
ai/scripts/benchmark/helpers/targetSetMeasurementCore.mjs: a pure recorder that validates profile cardinalities, canonical phase order, progress, resource high-water marks, batch maxima, provider traces, and evidence class;
test/playwright/unit/ai/scripts/benchmark/TargetSetMeasurementCore.spec.mjs: focused contract and disposable-fixture coverage.
The fixed profiles contain 5,000 or 20,000 explicit-vector rows in each of memories and summaries. A deterministic 64-node / 63-edge graph remains constant across profiles so the instrument does not invent a one-to-one vector/graph relationship.
The CLI creates fresh run-owned bundle, staging, and production roots and never accepts a live Memory Core path
Fixed 5k/20k profiles and exact deterministic graph cardinality/serialized bytes are recorded
Admission, each staging phase, staged validation, ordered promotions, production revalidation, and terminal settlement have separate timings and progress receipts
Node heap/RSS, declared process RSS, logical temporary-file bytes, row counts, batch maxima, and provider-call trace are retained in the report
Synthetic/seam evidence is mechanically non-authoritative
Exact-head adapter mode binds the report to a clean full git SHA and requires real separable Chroma sampling for a completed candidate
Focused unit coverage pins the report contract and disposable fixture primitives
Decision Record impact
aligned-with ADR 0027. This instrument measures the accepted target-set lifecycle and cannot select an action, mutate production, or redefine completion.
Out of Scope
Implementing #15740 or widening its action contract
Context
#15695 is the long-lived measurement authority for
restore-empty-target: it owns both the disposable instrument and the final 5k/20k receipt against the exact #15740 implementation head. Those two lifecycle boundaries cannot share one ready PR close target without closing the investigation before its authoritative receipt exists.This leaf captures only the instrument implementation. Its PR may resolve this ticket while #15695 remains open for the exact-head measurement and merge-gate decision. No ticket needs to be reopened.
Live latest-open sweep: checked the latest 20 open issues at
2026-07-23T13:21:12Z; no equivalent implementation leaf exists. #15695 is the parent investigation and #15740 owns the actuator. The Knowledge Base surfaced the unrelated Gemma4 REM benchmark in#12074; it does not measure recovery target-set staging/promotion and is not a duplicate. The recent A2A claim sweep found only Emmy's existing #15695 meter claim.The Problem
The final #15695 receipt cannot be produced until #15740 has a clean implementation head, but building the instrument only after that head exists would mix privileged recovery logic, resource instrumentation, fixture generation, and evidence-contract review into one critical-path PR.
The meter also needs to refuse evidence-class collapse. A deterministic file control can verify phase accounting, progress, batch maxima, resource aggregation, interruption, and reconciliation, but it cannot claim Chroma/SQLite scaling or satisfy the exact-head merge gate.
The Architectural Reality
ai/scripts/benchmark/already owns executable measurement instruments;serving-cost-meter.mjsis the sibling CLI precedent. Pure report/aggregation logic belongs belowai/scripts/benchmark/helpers/, followingservingCostCore.mjs, so it can be unit-pinned without starting services. Unit coverage belongs belowtest/playwright/unit/ai/scripts/benchmark/, followingstats.spec.mjs.The structure-map and structural pre-flight therefore resolve this as a matched sibling lift, not a new daemon, service, or recovery authority. ADR-0027 remains authoritative for the ordered memories → summaries → graph target-set lifecycle.
The Fix
Add:
ai/scripts/benchmark/restore-empty-target-meter.mjs: a run-owned CLI that creates disposable fixtures, samples resources, runs synthetic controls or an injected exact-head adapter, and emits a provenance-bearing JSON report;ai/scripts/benchmark/helpers/targetSetMeasurementCore.mjs: a pure recorder that validates profile cardinalities, canonical phase order, progress, resource high-water marks, batch maxima, provider traces, and evidence class;test/playwright/unit/ai/scripts/benchmark/TargetSetMeasurementCore.spec.mjs: focused contract and disposable-fixture coverage.The fixed profiles contain 5,000 or 20,000 explicit-vector rows in each of memories and summaries. A deterministic 64-node / 63-edge graph remains constant across profiles so the instrument does not invent a one-to-one vector/graph relationship.
Contract Ledger
--profile,--dimension,--control/--adapter--helpcompleted; every report keeps merge authority externalsynthetic-control,authoritative=false,mergeGateSatisfied=falseAcceptance Criteria
Decision Record impact
aligned-with ADR 0027. This instrument measures the accepted target-set lifecycle and cannot select an action, mutate production, or redefine completion.Out of Scope
Avoided Traps
Related
Origin Session ID:
72bb1088-8ed5-48b7-a835-c288cf30e814Retrieval Hint: "disposable restore target-set meter exact-head adapter synthetic control evidence class"