Inspiration
Working as Financial FP&A professional for over a decade, I noticed that important decisions rarely fail because Finance, Sales, or Operations lack intelligence. They fail because each function arrives with a different spreadsheet, assumption set, vocabulary, and definition of “correct.” AI agents can make this worse: several persuasive answers may appear faster, but there is still no shared numerical reality and no accountable closing mechanism. That led to Yigdesk. I wanted a Codex-native place where agents could keep their different perspectives while being forced to calculate inside the same measurable environment. The goal is not to make agents agree. It is to make their disagreement comparable, grounded, and safe enough for a human to decide.
What it does
Yigdesk is an adaptive decision workbench for agents and humans. Agents propose structured candidates and grounded claims through a six-operation MCP blackboard. A deterministic engine prices every candidate from the same immutable source. A focused browser view turns the live board into an executive decision surface. A human can approve, hold, or request revision, and the durable action continues the Codex workflow. Only the deterministic gate can commit the final DecisionRecord.
How we built it
The architecture deliberately separates probabilistic judgment from deterministic consequence and authority.
- A six-operation MCP surface.
open_decision,propose_candidate,post_claim,read_board,cast_approval, andrequest_resolveare the entire agent-facing contract. There is no hidden seventh operation that bypasses the decision boundary. - A model-from-data evaluator. Candidate inputs are evaluated with exact decimal arithmetic, fixed rounding, declared formulas, constraints, source-cell references, and a source fingerprint. The engine is not hard-coded to the Northwind discount story; the repository also ships a separate SaaS margin scenario to prove the evaluator boundary.
- An append-only blackboard. Board state is a pure fold of the JSONL operation ledger. Replaying the same source and operations yields the same projection. The committed
DecisionRecordand ledger are the audit trail. - Fail-closed evidence. A claim is accepted only if every reference resolves to real evidence. Missing required claims or approvals keep the decision pending.
- A trusted adaptive UI. Agents never supply HTML or JavaScript. They influence a versioned, declarative
yigdesk-decision-view/v3manifest containing approved blocks for conclusions, metrics, comparisons, evidence, warnings, proof, and contextual actions. The renderer owns security, accessibility, and visual consistency. - A narrow human-action bridge. Buttons emit an allow-listed
yigdesk-agent-action/v1envelope with decision, candidate/scope, action type, human verdict, correlation ID, and idempotency ID. Unknown fields, unsafe payloads, invalid roles, and out-of-bound scopes are rejected. - Durable identity and cutoff. Every agent write records declared agent, profile, model, prompt revision, skill revision, memory revision, run, and instance provenance. Approval or resolution freezes the input sequence. Later agent writes remain visible in the audit but cannot enter the gate.
- Codex and ChatGPT surfaces over the same core. The local Codex plugin, standalone browser, and ChatGPT Developer Mode component all use the same MCP server and ledger. The ChatGPT component can record human intent and request a follow-up, but it still cannot resolve outside the deterministic gate. ## Challenges we ran into The first challenge was preventing four capable agents from becoming four incompatible calculators. The solution was to make proposals executable and to return engine-produced consequences rather than asking agents to recalculate figures in prose. The second challenge was the handoff between asynchronous agents and a human. An approval arriving while agents are still writing creates a race. Yigdesk solves this with identity-bound ledger entries, durable idempotency, and an explicit input cutoff. Late writes are rejected from the decision state but preserved as audit evidence. The third challenge was honest continuation. This public repository cannot claim a private native Codex callback. Instead, it implements a clean continuation adapter: a ledger watcher resumes the active local workflow, and the ChatGPT component can request a follow-up. A production native callback remains an external integration point. The final challenge was adaptability without executing agent-authored UI. The declarative manifest gives the agent control over explanation and composition, but only through trusted components and validated data. ## Accomplishments that we're proud of
- A complete human-in-the-loop journey from parallel GPT-5.6 proposals to one committed deterministic decision.
- A visible Decision Proof that shows source fingerprint, evidence coverage, human authority, gate state, evaluator revision, input cutoff, agent provenance, and final ledger sequence.
- The same six operations across Codex, the browser workbench, and the ChatGPT App component.
- Exact fail-closed behavior for missing approvals, ungrounded claims, unsafe actions, invalid scopes, duplicate actions, and late writes.
- A polished focused decision surface instead of a dashboard full of competing historical cards. ## What we learned Multi-agent collaboration becomes more useful when agents do not merely exchange opinions. They need a shared state transition system where claims are grounded, alternatives are repriced by the same engine, authority is explicit, and the final transition is reproducible. We also learned that “deterministic” should be a precise, limited promise. Yigdesk is deterministic about pricing from a declared model, ledger replay, evidence resolution, policy checks, candidate selection, and record creation. It is not claiming that an agent’s business judgment is deterministic, that every Excel formula is supported, or that declared local identity equals production authentication. ## What's next for Yigdesk The Build Week demo proves same-owner Codex subagents collaborating through one engine. The next stage is multi-tenant A2A: a CFO’s primary agent, a COO’s primary agent, and a Commercial Director’s primary agent participating with externally verified identities and tenant isolation while preserving the same blackboard and gate semantics. The evaluator boundary will expand from the current safe expression models to versioned domain adapters for broader finance, operational statistics, forecasting, and scientific workflows. Those adapters must publish their assumptions, uncertainty, units, validation rules, and revisions; Yigdesk will not pretend one margin formula is a universal deterministic engine. Production work also requires OAuth, tenant authorization, encrypted storage, retention controls, and a native Codex continuation contract. Those are explicit future boundaries. The public submission stays local, synthetic, auditable, and honest.
Log in or sign up for Devpost to join the conversation.