Consent and Boundaries
Archipelago’s consent subsystem treats intimate actions as an interrupted dispatch, not a social suggestion. It can detect an intimate preposition or :intimate tag, check standing consent, queue a request, hold the proposed effects, and release or discard them after the target answers.
The queue is asynchronous. Its default request timeout is finite; neither person nor the room process is blocked while a decision waits.
Implemented primitives
- detection for
on,against,in_lap,embrace, andhold - explicit
:intimatesignal tags - per-target, per-requester, per-action standing consent
- pending request queue with approve, deny, expiry, and cancellation
- stashed effects returned only after approval
- supervised queue and standing-consent stores
Current boundary
The subsystem is tested as a library, but the live TUI dispatch does not yet call it for ordinary player commands. There are no /consent allow or /consent revoke meta-command handlers in the current branch, and standing consent is in-memory rather than persisted across restarts.
Operators must not advertise engine-enforced consent on a public realm until the signal pipeline and prompts are wired end to end. The intended invariant is clear; the playable surface has not earned the claim yet.