feat: generation-safe policy replacement and unsubscription #101

Merged
severus-snape merged 1 commit from feat/policy-generation-lifecycle into main 2026-10-26 21:55:00 +00:00
Collaborator

Policy registry lifecycle primitive

register returns generation-bound unsubscribe; optional remove; trusted same-ID replace preserves position/atomic required identity. Snapshot ordered handlers per invocation so suspended chains don't mix generations. Invalid replacement retains existing hooks; stale cleanup cannot remove replacement. Required identities cannot unsubscribe/remove, teardown clear preserves missing-required behavior.

6focused/full559tests/typecheck/build/diffcheckPASS. Deferred in-flight test reproduces old map-iterator mixing and proves old chain/new next invocation. Required failure/replacement tests. Docs explicitly no whole-turn snapshot/resource disposal/admin module reload/persistent overlay; these remain next integration slice. Plugin registration startup-only; no silent baseline gate deletion. Author inspected, no extra independent review/reset. Original drafts preserved, standing delivery mandate. Merge not rollout.

## Policy registry lifecycle primitive register returns generation-bound unsubscribe; optional remove; trusted same-ID replace preserves position/atomic required identity. Snapshot ordered handlers per invocation so suspended chains don't mix generations. Invalid replacement retains existing hooks; stale cleanup cannot remove replacement. Required identities cannot unsubscribe/remove, teardown clear preserves missing-required behavior. 6focused/full559tests/typecheck/build/diffcheckPASS. Deferred in-flight test reproduces old map-iterator mixing and proves old chain/new next invocation. Required failure/replacement tests. Docs explicitly no whole-turn snapshot/resource disposal/admin module reload/persistent overlay; these remain next integration slice. Plugin registration startup-only; no silent baseline gate deletion. Author inspected, no extra independent review/reset. Original drafts preserved, standing delivery mandate. Merge not rollout.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
harness/core!101
No description provided.