Repository navigation
Build Week Phase 1: add reproducible incident simulation and stabilize Argus - #91
Merged
Merged
Conversation
CodeBuildder
marked this pull request as ready for review
July 17, 2026 22:49
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Phase 1 prepares Argus for OpenAI Build Week by making its incident simulator safe to randomize, easy to replay, and straightforward for judges and contributors to verify.
The central addition is a seeded threat/incident generator. An unseeded request produces a fresh exploratory run; retaining the returned seed reproduces the same threat-template and workload selection for regression tests, demos, and incident investigations.
Closes #90.
Why this change
Argus already had a rich set of simulated Falco, Kyverno, Cilium, and kernel incidents, but the demo path had several reliability gaps:
Together, these problems made demonstrations less predictable and eligibility evidence harder to review.
What changed
Reproducible incident generation
POST /simulate-threatsnow supports:count: bounded to 1–100 incidents;scenario: validated asmixed,human_approval, orattack_chain;seed: an optional integer for deterministic replay.When no seed is provided, the server generates and returns one. Reusing that seed reproduces the same randomized incident selection without replacing the time-sensitive incident identifiers.
The response now includes:
Test coverage
The new simulation suite verifies:
Repository workflow
The Makefile now provides:
make test make simulate-threats THREAT_COUNT=10 THREAT_SCENARIO=mixed make simulate-threats THREAT_COUNT=10 THREAT_SCENARIO=attack_chain THREAT_SEED=20260717Build Week documentation
BUILD_WEEK.mdrecords:The README and architecture documents now position Argus accurately within the broader Sentinel platform:
Demo and UI quality fixes
cluster/test-diverse-threats.sh.User and developer impact
Developers can generate varied incident populations without losing reproducibility. Judges can replay a known scenario from one command, and reviewers can verify the entire backend and frontend through
make test.No production detection behavior changes. This endpoint remains a demo and testing facility backed by the in-memory incident store.
Validation
make testbash -n cluster/test-diverse-threats.shgit diff --checkReviewer guide
agent/src/main.py.agent/tests/test_simulation.py.make -n simulate-threatsand a seeded variant.BUILD_WEEK.md.Out of scope and follow-ups
The following work remains intentionally separate so each Build Week phase stays attributable and reviewable: