title: CORP-ENV
emoji: πΌ
colorFrom: gray
colorTo: blue
sdk: docker
pinned: false
license: mit
app_port: 7860
CORP-ENV β Shared Workspace Governance for Corporate Planning Agents
CORP-ENV is a highly ambitious yet realistic reinforcement-learning environment designed for long-horizon planning in an enterprise. The agent steps into a Master role (PM, CFO, CEO) and maintains a Shared Workspace Document (SWD) : a structured JSON state while delegating tasks to heavily specialized frozen worker models (dev_agent, hr_agent, finance_agent). The environment boasts a rich, composable reward signal that is intentionally hard to game.
π Read our story: The Blog.MD dives deep into our philosophy. Watch it on YouTube.
Training & Models
We've focused purely on training Qwen 2.5 through a comprehensive Base β SFT β RLVR pipeline to demonstrate verifiable improvement in our environment.
- Primary Architecture: The Qwen 2.5-7B Instruct model was trained on H100 servers using the robust scripts provided in the
training/directory. All training logs are safely preserved intraining_logs/. - Google Colab Notebook (T4 Friendly): Check out
notebooks/training.ipynb. This notebook has been specifically tested on a T4 instance. To respect memory bounds (OOM issues), it utilizes the smaller Qwen 2.5 3B instruct model.- NOTE: other notebooks for differnet models such as deepseek-14B, nemotron-30B in the repository are provided for reference but are not guaranteed or tested to function reliably on Google Colab free tiers.
Qwen 2.5-7B Results (Average over 5 episodes)
Our latest comprehensive evaluation highlights the leap from Base to SFT and robustly to RLVR:
| Stage | E1 Reward | M1 Reward | H1 Reward | M1 Success |
|---|---|---|---|---|
| Base (Qwen 2.5-7B) | 0.910 | 0.707 | 0.761 | 0% |
| SFT (Qwen 2.5-7B) | 0.910 | 0.943 | 0.882 | 100% |
| RLVR (Qwen 2.5-7B) | 0.910 | 0.932 | 0.779 | 80% |
Environment Actions
| Action | Meaning |
|---|---|
delegate |
Call a worker (agent_id + payload task text). |
update_swd |
RFC 6902 JSON Patch on the SWD. |
query_swd |
Read-only JSONPath over the SWD. |
log_reasoning |
Append a structured reasoning note to the SWD. |
log_decision |
Append a decision note to the SWD. |
log_conflict |
Append a conflict object to conflicts_identified. |
log_resolution |
Append a conflict-resolution object to conflict_resolutions. |
advance_phase |
Move the SWD phase through analysis, decision, or execution. |
finalize |
End episode; terminal reward from rich verifiers and OpenEnv rubrics. |
Shared Workspace Document (SWD) Structure
The SWD is a rigorous JSON schema defining the exact state of the enterprise episode. Agents must issue valid JSON patches against this structure:
{
"episode_id": "uuid",
"scenario": "description of the problem",
"phase": "discovery | analysis | decision | execution",
"milestones": [
{
"id": "str",
"label": "str",
"due_by_turn": 10,
"status": "pending",
"owner": "agent_id",
"output": null
}
],
"agent_reports": {
"qa": null,
"dev": null,
"hr": null,
"finance": null
},
"decisions": [],
"conflicts_identified": [],
"conflict_resolutions": [],
"reasoning_log": [],
"final_recommendation": null,
"swd_version": 0
}
Tasks
| ID | Difficulty | Summary |
|---|---|---|
e1_launch_readiness |
Easy | 48h product launch readiness (QA stability gate). |
m1_budget_reallocation |
Medium | Budget conflict across dev / HR / finance. |
h1_acquisition_defence |
Hard | Acquisition defence with injected contradictory intel. |
π A Reward Signal That Actually Teaches
A great environment has a reward function that:
| Requirement | How CORP-ENV Delivers |
|---|---|
| Provides a rich, informative signal | Blends Phase Transitions, Conflict Identification, Resolution Logging, and Iterative Validation rather than a 0/1 final score. |
| Captures something hard to measure | Evaluates how well the model organizes chaos. The strict structure of the SWD and documented reasoning phases provide dense intermediate signals. |
| Uses Rubric system thoughtfully | The final reward relies on programmatic validations of corporate rigor and is a composition of granular rubric items rather than monolithic success/failure. |
| Is hard to game | Attempting to skip to finalize, missing milestones, or submitting malformed JSON patches aggressively clamps the reward for agents trying to exploit it. |
Reward Breakdown (Terminal, at finalize)
| Component | Weight | Evaluation Method |
|---|---|---|
| Completion | 35% | Verifier |
| SWD Coherence | 25% | Structural |
| Milestones | 20% | On-time |
| Reasoning | 10% | Log entries |
| LLM Judge | 10% | 3 YES/NO Qs |
Quick Start
# Using uv
uv venv && uv sync
uv run uvicorn server.app:app --host 0.0.0.0 --port 7860
# Or simply
uv run server
Baseline Inference
Run a deterministic E1 smoke test using stub workers. We ensure 100% determinism via CORP_STUB_WORKERS=1 and CORP_DISABLE_LLM_JUDGE=1:
uv run python inference.py
uv run python inference.py --tasks e1_launch_readiness --max-steps 25 --swd-trace logs/run.jsonl
OpenEnv Validation
uv run openenv validate
Docker
docker build -t corp-env .
docker run -p 7860:7860 --env-file .env.example corp-env
License
MIT.

