Spaces:
Sleeping
Sleeping
Commit History
-
Fix: Space README frontmatter; HF Job inner cmd installs git, fails loudly on pip errors
SevZero Botc65bcc2 -
Fix: extract service_id in _process_action; scope pytest to tests/ only
SevZero Bot1fca0fa -
Merge wave1/story-assets: README rewrite, BLOG, VIDEO_SCRIPT, asset templates
SevZero Botb05ccd5 -
Merge wave1/env-upgrades: schema drift, oversight, curriculum, fine-grained rewards + 4 tests
SevZero Botafc1886 -
Wave 1.4: README rewrite, blog skeleton, video script, asset templates
SevZero Bot9995985 -
Wave 1.2: schema drift, oversight, curriculum, fine-grained rewards + tests
SevZero Bot7b91513 -
Add Wave 1 training pipeline (SFT/GRPO/eval/preflight/launch) + gitignore hardening
SevZero Bot0f5092c
-
Fix Phase 2 timeout: cap LLM retries, move server wait to main, add global time guard
382d0fd -
Fix Phase 2: add server readiness check and wrap all httpx calls in try/except
b971f92 -
Fix inference.py to match sample script exactly: HF_TOKEN var name, no fallback
33fb36b -
Fix Phase 2: add [START]/[STEP]/[END] structured output + simulation fixes
inference.py: - Add log_start/log_step/log_end emitting [START]/[STEP]/[END] to stdout with flush=True — required by hackathon Phase 2 evaluator - Strip all testing bloat: Bedrock wrapper, thinking model detection, Kimi/Nemotron-legacy/fallback provider code, AgentAction Pydantic schema - Standard OpenAI client path only (temperature=0, max_tokens=1024) - Keep: system prompt, observation builder, action parser, diagnosis memory server/simulator.py: - CASCADING_LATENCY now remediable via restart_service and scale_service - rebalance_traffic param aliasing (accepts region/service_id/target) - arrival_rate floor (20% of base) prevents rebalance spam from starving a region - tune_config diagnostic hint shows exact key and example value server/propagation.py: - Reset service_time_local and arrival_rate to baseline each propagation tick for non-failing services — fixes permanent SLO ceiling after upstream heals - Circuit breaker: cooldown_ticks 5→3, half_open_success_threshold 3→2 - …524b287
-
Increase max_tokens to 4000 for thinking model compatibility
Thinking models (Gemini 3.1 Pro, o3-mini) consume tokens internally for reasoning before generating output. max_tokens=200 caused content=None. 4000 ensures both thought budget and response fit within the limit.ff0696e -
Fix /reset to accept empty/null body for hackathon validator
Validator sends POST /reset with no body or null body. Changed from typed ResetRequest parameter to raw Request parsing, so any body (empty, null, {}, or full JSON) works and defaults to task_id=easy.14cf714 -
Rewrite README with research-backed structure
- Tagline, research motivation, comparison table vs games - Full episode trace showing cascade diagnosis - Typed observation/action spec with field descriptions - Failure type table with diagnostic signatures and correct fixes - Design decisions section explaining queueing theory, circuit breakers, determinisma843678 -
Add baseline results, outputs dir, and backup Groq fallback
- outputs/baseline_latest.json: reproducible scores (easy 0.93, medium 0.93, hard 0.79, avg 0.88) - inference.py: GROQ_BACKUP_KEY as tier-1 fallback; saves results to outputs/ after each run - README.md: baseline scores table + HF Space frontmatter67e0b04 -
Add client.py and __init__.py required by openenv push
b6ab5da -
Improve inference script robustness and fallback strategy
- Rolling 3-turn conversation history prevents context explosion on hard task - Groq llama-3.3-70b-versatile as primary (free, 1000 RPD, no CC) - Groq llama-3.1-8b-instant as tier-1 fallback (same key, 14400 RPD) - HF Inference Router as tier-2 fallback - Coerce replicas param to int (models sometimes return strings) - Guard against empty/non-JSON server responses - Fix UnicodeEncodeError on Windows (arrow -> ASCII) - Fix param format: service_id always single string, not list641125f
-
Fix Dockerfile COPY and README cleanup
- Dockerfile: include README.md in builder stage (hatchling requires it for build) - README.md: remove em-dashes and license sectionbc82eac -
Fix propagation recovery and config key visibility
- propagation.py: services without direct failures now use propagation_error_rate alone (not max with historical rate), so cascaded errors clear when upstream heals - simulator.py: inspect_logs for config failures always appends a diagnostic line naming the exact broken config key so agents can identify it reliably - simulator.py: tune_config accepts fuzzy key matching (substring) as fallback so agents don't need to guess the exact key stringffe4aa5 -
Add comprehensive README with action/observation docs, setup guide, and architecture
ec93d50 -
Fix HTTP endpoint statefulness and response format
- server/app.py: replace SDK's stateless HTTP /reset, /step, /state with our own stateful routes using a singleton environment. SDK's routes create a new env per request which breaks multi-step episodes. WebSocket sessions (used by hackathon evaluation) work natively via the SDK. - server/environment.py: no-op close() to prevent SDK from destroying state - inference.py: fix response unwrapping (observation nested in response), fix step request format (action wrapped in action key) openenv validate passes. All 37 tests pass. Full HTTP loop verified: reset → step → step → state → grader all work correctly.99b8b51 -
Add tests and fix premature termination bug
- tests/test_simulator.py: 22 tests for determinism, SLO scoring, all action types, termination logic, and observation helpers - tests/test_grader.py: 5 tests for score bounds, partial credit, determinism, and resolved bonus - tests/test_propagation.py: 10 tests for queueing theory (Little's Law, retry amplification) and circuit breaker state machine - Fix: episodes no longer terminate as "resolved" when SLO=1.0 but injected failures haven't been remediated (resource leaks, gradual failures now properly degrade over time before resolution) All 37 tests pass.5f8bd3c -
Add baseline inference script and Dockerfile
- inference.py: LLM-powered baseline agent using OpenAI client with structured SRE diagnostic prompting, JSON action parsing, and automatic grading. Reads API_BASE_URL, MODEL_NAME, HF_TOKEN env vars. - Dockerfile: multi-stage build (builder with uv, slim runtime) on port 7860 for HF Spaces deployment - pyproject.toml: added project.scripts entry and httpx dependency00225fe -
Add core simulation engine, environment, grader, and app wiring
- server/traces.py: distributed trace generation (Jaeger/Zipkin-style spans) - server/simulator.py: discrete-event simulation engine with tick-based failure evolution, propagation, action processing, SLO scoring, dense reward computation, and pending remediation effects - server/scenarios.py: procedural scenario generation with 3 task definitions (easy/medium/hard) and intelligent failure placement - server/environment.py: SevZeroEnvironment(Environment) bridging OpenEnv SDK contract with the simulator - server/grader.py: deterministic grading (0.0-1.0) with SLO recovery, action efficiency, and time efficiency components - server/app.py: FastAPI app via create_app() + custom /tasks, /grader routes - .gitignore: added __pycache__ exclusion0e4dd30 -
Add propagation engine, log templates, and updated models
- server/propagation.py: queueing theory cascade engine with circuit breakers, Little's Law utilization, retry amplification, and multi-hop propagation - server/logs.py: framework-specific log templates for all 8 failure types (Spring Boot, Node.js, FastAPI, K8s, HikariCP, Redis, gRPC patterns) - models.py: cleaned up Pydantic models for API contract - pyproject.toml: updated dependencies - uv.lock: locked dependency versions - README.md: initial project readmea46811c -
Checkpoint: existing implementation (pre-cleanup)
64d38cb