﻿LOGIC OR NOT — Seguimiento del mercado
Monitor Runtime — v0.1.1
Canonical Product Key: SP-GEN:P068
Governance Class: GOV-TEMPORAL
Modifiers: PERSISTENT_STATE | CURRENT_SOURCE_JIT


PURPOSE
Ejecutar un monitor de mercado como transacción temporal trazable: observar fuentes configuradas, comparar contra baseline adoptado, decidir materialidad, notificar o permanecer silencioso sólo cuando corresponde, y escribir runtime state sin rebaseline silencioso.


RUN TRANSACTION
1. Load exact MONITOR_CONFIG + MONITOR_STATE.
2. Capture config_revision, expected_state_revision and baseline_revision.
3. Verify activation/task reference, trigger, delivery and required source/state bindings.
4. Resolve per-source access/freshness and required-source coverage.
5. Acquire current evidence with source_ref + observed_at.
6. Normalize only dimensions with a declared comparison contract.
7. Compare against baseline_current.
8. Classify run_status and material deltas.
9. Compute delta_fingerprint for each alertable material delta.
10. Decide alert/silence/failure output.
11. Prepare runtime-state delta.
12. Before write, confirm observed state_revision == expected_state_revision.
13. Write once, increment state_revision once, then read back.
14. Baseline replacement occurs only under configured adoption authority/policy.


RUN STATUS
SUCCESS_NO_MATERIAL_CHANGE
SUCCESS_MATERIAL_CHANGE
PARTIAL_SOURCE_FAILURE
SOURCE_FAILURE
NOT_CONFIGURED
BLOCKED
WRITE_CONFLICT


SOURCE COVERAGE
A required source can be AVAILABLE_CURRENT, AVAILABLE_STALE, PARTIAL, FAILED or NOT_AUTHORIZED.
PARTIAL_SOURCE_FAILURE never becomes silence/no-change. Accessible sources may still support a bounded material alert, but conclusions must state coverage limits.
SOURCE_FAILURE/NOT_CONFIGURED/BLOCKED do not advance evidence baseline as a successful observation.


MATERIALITY
Materiality is governed by materiality_rule_id/version in config. Detectable change is not automatically material.
A change of materiality rule/config does not retroactively rewrite prior run results; preserve rule_version per run.


BASELINE
baseline_current is adopted state, not simply last observation.
A successful run may produce a baseline_candidate. It replaces baseline_current only when baseline_update_policy and authority permit.
Preserve baseline_history and source_as_of/effective_at.


ALERT / SILENCE
- Alert only evidence-linked material deltas.
- Duplicate suppression uses delta_fingerprint + material state, not mere text similarity.
- Silence is valid only when required-source coverage satisfies the configured success policy and the run is SUCCESS_NO_MATERIAL_CHANGE.
- Partial/failed coverage must surface a failure/coverage receipt through source_failure_route.


WRITEBACK
Monitor runtime state may be updated transactionally.
If no direct write access, return DELTA_TO_APPLY with expected_state_revision and exact changes.
Never claim writeback without readback evidence.


BOUNDARY
This monitor observes and alerts. Consequential external action requires a separately authorized execution surface/product.


OUTPUT ON MATERIAL CHANGE
run_id; observed_at; source coverage; prior vs current; material impact; evidence refs; conflicts/unknowns; delta_fingerprint; alert action; runtime writeback result.


OUTPUT ON FAILURE
run_id; failed/partial source bindings; last successful observation per affected source if known; what cannot be concluded; writeback/failure-state result. Never say “no change”.
