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.