Skip to content

P0: add subject-bound sessions and policy-gated safety terminals for sensitive journeys #35

Description

@tuzuminami

Product feedback

A scenario runner can support sensitive multi-step journeys only when its sessions are bound to an owner/subject and replay shows which scenario, persona artifact, policy reference, and user-confirmed checkpoint governed each transition. A consumer should not have to build an ad hoc authorization and provenance format around DRIFT.

Scope

  • Add optional, transport-neutral session provenance fields for owner/subject/relationship reference, interaction reference, scenario content hash, persona artifact reference, policy reference/receipt reference, and consent/confirmation checkpoint reference.
  • Require authorization for session reads, events, context-pack retrieval, and replay. Same-tenant access alone must not grant access to another user's session.
  • Support declared checkpoints that require explicit external confirmation before a transition or mutation intent is emitted.
  • Define policy-gated safety terminals such as paused-for-safety and escalated that cannot be coerced into a normal completed journey.
  • Ensure slots accept only permitted minimal values and fixtures never require raw reflection content.
  • Provide replay fixtures for cross-user injection, missing or altered provenance, terminal-session mutation attempts, confirmation refusal, idempotent retry, scenario-version mismatch, BLOCK, and ESCALATE.

Acceptance criteria

  • A replay can identify the exact scenario and public artifact references used without raw user content.
  • A checkpointed transition cannot be completed without its required confirmation reference.
  • A same-tenant non-owner cannot read, inject events into, or replay another user's session.
  • A policy safety terminal remains distinct from a completed session.
  • Existing standalone scenario use remains compatible.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions