Skip to content

Incident containment: real enforcement effects #34

@jeremymanning

Description

@jeremymanning

Description

src/incident/containment.rs line ~42 has a TODO: "Implement actual containment effects (Phase 7 T076-T080)". The containment primitives (FreezeHost, QuarantineWorkloadClass, BlockSubmitter, RevokeArtifact, DrainHostPool) create audit records but do not execute real enforcement.

Requirements

  • FreezeHost: Send SIGSTOP to all sandbox processes on target host, block new lease assignments
  • QuarantineWorkloadClass: Update policy engine to reject jobs of the quarantined class
  • BlockSubmitter: Add submitter to ban list, reject new submissions, cancel in-flight jobs
  • RevokeArtifact: Remove artifact from approved registry, halt jobs using it
  • DrainHostPool: Gracefully migrate all workloads off a set of hosts, block new assignments
  • All actions must complete within 60 seconds (per spec)
  • All actions produce immutable audit records with actor identity, justification, reversibility

Success Criteria

  • Each containment primitive executes its enforcement effect, not just logs
  • FreezeHost stops all sandbox processes within 60 seconds
  • QuarantineWorkloadClass causes policy engine to reject new jobs of that class
  • BlockSubmitter prevents new submissions and cancels in-flight jobs
  • RevokeArtifact halts jobs using the revoked artifact
  • All actions are reversible (except RevokeArtifact which requires re-signing)
  • Integration tests for each containment primitive
  • cargo test passes

Testing (Principle V)

  • Start real sandbox, trigger FreezeHost, verify processes stopped
  • Submit job of quarantined class → rejected
  • Block submitter, verify in-flight job cancelled
  • Revoke artifact, verify running job using it is halted

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions