﻿LOGIC OR NOT P070 — MONITOR STATE — v0.3


schema_version: 3
runtime_state_revision: 1
previous_runtime_state_ref: NONE
product_id: SP-GEN:P070
runtime_status: CONFIGURED_NOT_ACTIVE
config_revision_seen: 0
updated_at:
activation_ref:


project_observation:
  project_id:
  project_state_ref:
  project_authority_ref_seen:
  project_state_version_seen:
  project_baseline_effective_from_seen:
  project_baseline_source_decision_ref_seen:
  last_successful_project_snapshot_ref:
  last_successful_project_snapshot_fingerprint:
  last_successful_project_observed_at:


external_source_states:
- source_id:
  last_attempt_at:
  last_success_at:
  last_status: NEVER | AVAILABLE_CURRENT | AVAILABLE_STALE | PARTIAL | FAILED | NOT_AUTHORIZED
  last_source_as_of:
  last_failure:
  last_observation_ref:


run_ledger:
- run_id:
  started_at:
  observed_at:
  trigger_ref:
  config_revision:
  expected_runtime_state_revision:
  project_state_version_read:
  project_authority_ref_read:
  materiality_rule_version:
  run_status: SUCCESS_NO_MATERIAL_CHANGE | SUCCESS_MATERIAL_CHANGE | PARTIAL_SOURCE_FAILURE | SOURCE_FAILURE | PROJECT_STATE_CONFLICT | PROJECT_STATE_STALE | NOT_CONFIGURED | BLOCKED | RUNTIME_WRITE_CONFLICT
  source_coverage:
  project_snapshot_ref:
  project_snapshot_fingerprint:
  material_delta_ids: []
  notification_result:
  runtime_writeback_result:
  owner_state_delta_ref:


material_deltas:
- delta_id:
  governed_record_refs: []
  delta_type: STATUS | BASELINE | RISK | ISSUE | DEPENDENCY | DECISION | ARTIFACT_VERSION | CONFIDENCE | OTHER
  prior_state:
  current_state:
  evidence_refs: []
  materiality_basis:
  project_delta_fingerprint:
  first_seen_at:
  last_seen_at:
  alert_status: NOT_ALERTED | ALERTED | SUPPRESSED_DUPLICATE


pending_owner_state_deltas:
- delta_ref:
  target_project_state_ref:
  expected_project_state_version:
  authority_required:
  exact_changes:
  status: PROPOSED | APPLIED_BY_OWNER | REJECTED | SUPERSEDED
  readback_ref:


last_successful_run_id:
last_material_delta_id:
last_alerted_project_delta_fingerprint:
open_conflicts: []
open_unknowns: []


WRITE RULE
Runtime-state write uses expected_runtime_state_revision and increments once. Runtime state never becomes canonical Project State.
Any project-state change requires exact owner state/version/authority and follows the owner/P040 write contract. Version mismatch = reload/reconcile; no silent merge.
