This document tracks the current state of OSS-CRS, upcoming features, and the long-term roadmap. It is intended to give contributors and users a clear view of what works today, what's coming next, and where help is needed.
Current State (What's Working)
CRS Compose (Orchestration Layer)
libCRS (CRS Communication Library)
oss-crs-infra (Shared Infrastructure)
These items are the highest-priority incomplete features, critical for making ensemble campaigns and the CRS lifecycle fully functional.
Item
Status
Notes
register-fetch-dir
Registered in CLI, not yet implemented
Enable CRSs to receive shared seeds/PoVs from other CRSs
fetch (pov, seed, bug-candidate)
Registered in CLI, not yet implemented
Core primitive for ensemble value
Why it matters: Without fetch, ensembled CRSs cannot share seeds or PoVs at runtime, limiting the value of running multiple CRSs together.
CRS / Target Compatibility
Item
Status
Notes
supported_target validation
TODO in code
Properly check CRS-declared supported languages, sanitizers, and architectures against the actual target
Warn vs. error policy
TODO in code
Decide whether a compatibility mismatch should warn or abort
Item
Status
Notes
Env var name/value validation in crs.yaml
TODO
Disallow pre-defined env vars from being overridden
Docker registry URL validation
TODO
More robust URL format checks
LLM model name validation
TODO
Validate model names against LiteLLM config before launch
Version string validation
TODO
Stricter parsing of CRS version identifiers
Features that will significantly improve the platform's utility for real-world campaigns.
Service
Status
Purpose
Seed Deduplication
📝 Planned
Cross-CRS seed deduplication to reduce redundant fuzzing effort
PoV Verification / Deduplication
📝 Planned
Verify crash inputs and deduplicate bugs found by multiple CRSs
WebUI Dashboard
📝 Planned
Real-time monitoring: coverage metrics, bug candidates, PoV status, LLM usage
Item
Status
Notes
apply-patch-build
Not implemented
Required for CRSs that generate and test patches for discovered bugs
Patch submission / review flow
Not designed
End-to-end workflow for bug-fixing CRS types
Target Build Improvements
Item
Status
Notes
Build caching
TODO in code
Consider cache options for target builds to speed up repeated campaigns
Target build implementation cleanup
TODO in code
Marked as "implement this properly" in target.py
Item
Status
Notes
azure run environment
Declared in config enum, not implemented
Currently prints TODO: Support run env
AzureCRSUtils in libCRS
Planned
Azure Blob Storage + ACI backend for libCRS operations
Zero-modification portability
Design goal
CRSs should run on Azure without any changes
Item
Status
Notes
crs CLI
Stub only
Standalone CRS management outside of oss-crs (e.g., build, test, publish a single CRS)
Item
Status
Notes
InfraClient in libCRS
✅ Implemented
Exchange sidecar handles SUBMIT_DIR → EXCHANGE_DIR; InfraClient fetches from FETCH_DIR (read-only)
No cross-CRS runtime data sharing — fetch / register-fetch-dir are stubs, so ensembled CRSs cannot share seeds or PoVs during a campaign.
No crash deduplication — multiple CRSs in an ensemble may report the same bug independently.
No campaign monitoring — no WebUI or dashboard to observe progress in real-time.
No patching pipeline — bug-fixing CRS types cannot yet execute apply-patch-build.
Single deployment target — only local (Docker Compose) is functional; Azure is config-supported but not implemented.
Standalone CRS CLI not functional — individual CRS management (outside compose) is not yet available.
See CONTRIBUTING.md for contribution guidelines. Areas where help is especially welcome:
Infrastructure services — designing and implementing seed dedup, PoV dedup, and WebUI
Cross-CRS sharing — implementing fetch / register-fetch-dir in libCRS
Azure backend — AzureCRSUtils and Azure deployment support
New CRS integrations — packaging existing bug-finding or bug-fixing tools as OSS-CRS-compatible CRSs
Validation & robustness — tightening config validation and error handling across the codebase