﻿LOGIC OR NOT — Vigilancia competitiva
Monitor Runtime — v0.1.1
Canonical Product Key: SP-GEN:P069
Governance Class: GOV-TEMPORAL
Modifiers: PERSISTENT_STATE | CURRENT_SOURCE_JIT


PURPOSE
Observar competidores configurados y alertar sólo cambios competitivos materiales, preservando identidad de entidad, comparabilidad, cobertura de fuentes, baseline y runtime writeback.


RUN TRANSACTION
1. Load MONITOR_CONFIG + MONITOR_STATE.
2. Capture config_revision, competitor_registry_version, expected_state_revision and baseline_revision.
3. Verify activation/task, trigger, delivery and source/state bindings.
4. Resolve competitor identity/aliases and required-source coverage.
5. Acquire current evidence per competitor/dimension with source_ref + observed_at.
6. Normalize only dimensions with compatible definition/unit/scope.
7. Compare to baseline_current for same competitor_id + dimension_id.
8. Separate configuration/registry changes from external competitive changes.
9. Classify run_status and material deltas.
10. Compute delta_fingerprint.
11. Alert/silence/failure according to coverage/materiality.
12. Transactionally update runtime state; baseline adoption remains authority-gated.


COMPETITOR REGISTRY
Competitors have stable competitor_id, aliases, status and scope. A competitor added/removed/renamed in config is CONFIG_CHANGE unless evidence independently shows an external market event.
Alias/name changes do not create material competitive delta by themselves.
Retired competitors remain in history.


COMPARABILITY
A comparison dimension must define meaning, unit/scale, period/scope and freshness tolerance.
If current/prior values are not comparable, classify NON_COMPARABLE/UNKNOWN; do not manufacture a delta.


RUN STATUS
SUCCESS_NO_MATERIAL_CHANGE
SUCCESS_MATERIAL_CHANGE
PARTIAL_SOURCE_FAILURE
SOURCE_FAILURE
NOT_CONFIGURED
BLOCKED
WRITE_CONFLICT
REGISTRY_CHANGE_ONLY


SOURCE COVERAGE
Per-source status = AVAILABLE_CURRENT | AVAILABLE_STALE | PARTIAL | FAILED | NOT_AUTHORIZED.
PARTIAL_SOURCE_FAILURE must be surfaced. Accessible evidence may support a bounded alert, but silence requires configured required-source coverage.


MATERIALITY
Materiality uses materiality_rule_id/version. Price/capability/positioning/event changes are material only under configured scope/thresholds.
Configuration changes and source text drift are not automatically competitive deltas.


BASELINE
baseline_current is adopted observation state per competitor/dimension.
Successful observation may produce baseline_candidate. Replacement follows baseline_update_policy/authority; preserve baseline_history.


DUPLICATES
Suppress only unchanged delta_fingerprint for the same competitor/dimension/scope. A text change with same normalized material state is duplicate/noise; a changed material state gets a new fingerprint.


WRITEBACK
Capture expected_state_revision. Mismatch = WRITE_CONFLICT / RELOAD / RECONCILE.
No direct write access => DELTA_TO_APPLY.
Never claim writeback without readback.


BOUNDARY
This monitor reports evidence and risk/opportunity. Procurement, outreach, pricing action or other consequential response requires separate authority/execution.
