Skip to content

[checkpoint] Restore indirect prompt-injection environments #3240

Closed as not planned

Description

@ananthsub

Parent

Child of #3219 and #3024.

Problem and state owner

resources_servers/indirect_prompt_injection/app.py owns a deep-copied nested mutable environment dictionary modified by dynamic tool routes.

Proposed adapter

Deep-snapshot the complete environment, bind it to replacement identity, and classify every dynamic tool route as a mutation.

Implement explicit checkpoint opt-in, route classification, export/restore/retire hooks, execution-to-session binding, revision reporting, atomic replacement under attempt N+1, and stale-attempt fencing.

Acceptance criteria

  • Nested tool mutations survive restore, shallow-copy aliasing is absent, and verification retires the replacement state.
  • Checkpoint after multiple mutations, replace the server process, restore, and compare the next operation with an uninterrupted execution.
  • Corrupt or incomplete bulk state activates no sessions.
  • Attempt N cannot mutate or retire restored attempt N+1.
  • Terminal cleanup is idempotent and releases restored state exactly once.

Activity

  1. added
    featureNew capabilities, enhancements, or enablement work
    area:environmentIndividual environments, benchmarks, verifiers, and environment-specific resources servers
    on Sep 10, 2026
  2. ananthsub commented on Oct 13, 2026

    @ananthsub
    ContributorAuthor

    Superseded by the partial-rollout checkpointing design in #3882 onward.

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

    area:environmentIndividual environments, benchmarks, verifiers, and environment-specific resources serversfeatureNew capabilities, enhancements, or enablement work

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions