Real operations in. Training-ready environments out.
Every Cogac environment starts as the systems of a real company and ends as something you can reset, step and grade.
northmoor-freight / ap-reconciliationEnvironment inspector
Inside the environment
A whole company. One reset away.
Frozen company snapshot
invoice INV-30422 {
vendor: V-1182
order: PO-48213
status: "disputed"
approver: PERSON_0090
thread: mail/88213
}What is inside an environment
Five parts, all derived from the source company rather than written by hand.
- State
- A snapshot of the company at a point in time: every table, document and mailbox, typed and linked. Episodes reset to the same snapshot, deterministically.
- Tools
- The actions an employee had: querying the ERP, posting entries, searching and sending mail, reading contracts. Counterparties respond in kind.
- Tasks
- Drawn from cases that actually happened in the source company, graded by difficulty from routine to multi-week escalations.
- Graders
- State assertions, comparisons with the historical outcome, side-effect checks and process rubrics. Each one is inspectable.
- Reference trajectories
- Where the logs allow, the sequence of actions real employees took, for imitation, baselines and process-level evaluation.
Built for training and for evaluation.
Training
- Curricula ordered by difficulty, from routine cases to long-horizon escalations.
- Many companies per domain, so agents learn the process rather than one firm’s quirks.
- Dense or sparse rewards from the same graders you evaluate with.
Evaluation
- Held-out companies and frozen snapshots for comparable results over time.
- Source data that was never public, so it cannot have leaked into pretraining.
- Per-check grader output, so a failure tells you what went wrong.
Runs where you train.
A standard reset and step interface, delivered as hosted endpoints or as container images for your own cluster. Every release is versioned and reproducible.
Interface details are shared under NDA. Get Access
train.pyPython
import cogac
env = cogac.make("northmoor-freight/ap-reconciliation", split="eval")
obs, info = env.reset(seed=7)
while True:
action = agent.act(obs)
obs, reward, done, info = env.step(action)
if done:
break
print(info["graders"]) # per-check results, not just a scalarBring your workflows into training.
Define your target domain. We scope the evaluation package, delivery format and commercial licence.
Get Access