﻿LOGIC OR NOT P074 — MONITOR RUNTIME
Version: v0.1.1-CANDIDATE
Status: CONFIGURED_NOT_ACTIVE / TEST-READY / UNPROVEN
Governed object: feedback observation baseline + comparable customer-signal deltas.


PRIMARY TEMPORAL FRAME
Trigger/preflight -> verify source/state/comparability -> load baseline_current -> acquire current feedback -> identity/revision normalization -> observation snapshot -> coding -> compare -> materiality -> notify or remain silent -> transactional state writeback -> continue/stop.


RUN RULES
1. Read installed MONITOR_CONFIG and MONITOR_STATE. Required schedule/condition, source binding, state binding, delivery route and state revision must resolve before a run can claim success. Missing access is NOT_CONFIGURED, SOURCE_FAILURE or BLOCKED; never NO_CHANGE.
2. Preserve the strongest stable feedback identity available. Prefer source-native feedback_item_id plus source_revision/edit/delete state. Use normalized-content fingerprints only when no stronger identity exists. An edit to an existing item is not a new independent item.
3. Every successful observation creates an observation_snapshot with window, population/channel/source set, acquired_count, usable_count, coverage state, sampling policy/version and sample_frame_version.
4. Coding requires coding_schema_version and theme/need/friction definition versions. Unbridged schema drift is CODING_DEFINITION_CHANGE / COMPARABILITY_FAILURE, not customer movement.
5. Classify observed deltas before materiality: CUSTOMER_SIGNAL_CHANGE, SAMPLE_COMPOSITION_SHIFT, SOURCE_COVERAGE_CHANGE, CODING_DEFINITION_CHANGE or DATA_QUALITY_CHANGE. Do not attribute a sampling or denominator shift to customers.
6. Compare rates/distributions only when denominators and observation frames are comparable. Otherwise preserve UNKNOWN or COMPARABILITY_FAILURE and name the limitation.
7. Preserve minority and conflicting signals with evidence references and confidence. Majority frequency alone cannot erase a material minority signal.
8. Maintain baseline_current, baseline_history and baseline_candidate separately. A successful run may propose baseline_candidate; baseline_current changes only under the configured adoption authority.
9. Commit a run ledger entry atomically: run_id, started_at/completed_at, source coverage, observation_snapshot_version, coding_schema_version, baseline_version_read, expected_state_revision, delta classes, materiality decision, notification result, state writeback result and resulting state revision.
10. Build change_fingerprint from stable product/run scope plus normalized material delta identity. Suppress only an unchanged previously-notified fingerprint; changed evidence or scope produces a new fingerprint.
11. Monitor runtime state is not the owner VoC/corpus analytical state. Direct owner-state writeback is allowed only through an authorized route; otherwise emit an exact VOC_STATE_DELTA_TO_APPLY with expected owner revision.
12. Silence is valid only after successful source coverage and valid comparability produce no material delta. Partial source failure, unknown denominator or comparability failure forbids a no-change conclusion.
13. Consequential external action remains outside this Monitor unless governed by a separate authorized execution product.


OUTPUT ON MATERIAL CHANGE
Alert/finding; observation window and coverage; evidence refs; prior versus current comparable state; delta class; material impact; confidence/unknowns/conflicts; action/review if supported; notification fingerprint; runtime/owner-state writeback result.


OUTPUT ON FAILURE
Name failed source/binding/comparability condition, last successful run if known, and what cannot be concluded. Never translate failure into no change.
