ContextLab / ContextLab/world-compute

Incident containment: real enforcement effects

Open
#34 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
2
Forks
1
PR merge metrics
No merged PRs in 30d

Description

## 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

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.