mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-25 21:20:00 +00:00
fe06bf7f83
**Keep failed PBS namespace discovery out of complete backup evidence** Carry namespace discovery errors with the immutable datastore snapshot into background backup polling. Readable root history still updates, but unknown child namespaces cannot delete durable facts or claim complete protection. Cover real HTTP discovery through ingest, replacement state, repeated failures, scoped removal, recovery and legacy root-only support. **Initialize the connection outcome map in namespace poll regressions** The fixture drives the real connection poll and therefore needs its ordinary poll-status map, in addition to backup scheduling and recovery state. Keep the new lifecycle proof independent of fixture setup panics. **Account for accepted new archives beside retained partial PBS history** The namespace lifecycle test advances the root archive timestamp. A partial instance-wide scan must retain the two historical points and accept that new root point, not replace all root history. Assert every historical point remains byte-identical and exactly one independently accepted new point is present. **Distinguish failed PBS discovery from an empty backup scope** Carry failed and accepted-empty discovery through ordinary serialized backup polling. Preserve unreadable history, reconcile only confirmed absence, and reject malformed datastore envelopes before destructive reconciliation. Contract-Neutral: Enforces existing PBS scope-evidence semantics; no API, model, policy or permission change. **Model an existing PBS interval in the skipped-scope regression** The live interval setter deliberately schedules a catch-up poll. Test not-due admission with an already-configured interval and its retained completed-poll timestamp instead. --- Fleet candidate `20261023T220242Z-core-runtime` from the `core-runtime` lane. Reviewed tip `d1ecdcb93916f236f966897230541a66850fe3a5` on `main`. [How Pulse handles triage](https://github.com/rcourtman/Pulse/blob/main/docs/AI_TRANSPARENCY.md)