-
-
The ledger missed it. GPT-5.6 compiles the grant trail; GrantBack proves or blocks every downstream action.
-
Verified result: four source-bound documents produce a candidate receivable for accountant review.
-
Source change proof: SOURCE_HASH_MISMATCH blocks the amount, package, approval, and recovery action.
GrantBack
Tagline
The ledger missed it. GrantBack can prove it.
Category
Work & Productivity
Elevator pitch
GPT-5.6 compiles fragmented grant evidence into a typed obligation proposal. GrantBack proves the controlling source, reproduces the Decimal amount, binds accountant approval, and blocks every downstream action if one character changes.
Inspiration
I am Sergio, a Washington State CPA, three-time AI hackathon award winner, and product builder specializing in public grants and government-funded R&D.
Accounting systems usually begin after somebody has already identified a receivable and entered it into the ledger. In post-award grant work, the difficult problem often occurs before that entry exists.
A recovery obligation can be scattered across an original agreement, a later amendment, an overseas institution's response, an interest report, and a closeout ledger. The ledger may still show zero because no system has converted those sources into a reviewable accounting event. Accountants must determine which source controls, whether required evidence is complete, what exact amount the sources support, and whether an action remains authorized after the evidence changes.
GrantBack addresses that pre-ledger gap.
What it does
GrantBack is a ChatGPT App and public Closeout Workbench that converts fragmented post-award evidence into a source-verified candidate receivable package.
GPT-5.6 interprets unfamiliar professional language and proposes a restricted typed obligation program. GrantBack then independently:
- resolves the controlling document path;
- verifies exact source spans, quotes, and hashes;
- checks required evidence and contradictions;
- performs monetary calculations with deterministic Decimal arithmetic;
- creates a candidate receivable package for accountant review;
- binds approval to the exact source root, amount, recipient, subject, body, attachments, and idempotency key;
- separates provider acceptance, mail-server delivery, recipient observation, and payment;
- blocks the amount, package, approval reservation, and action when the source changes.
The model does not own arithmetic, authority resolution, approval, recipient selection, delivery truth, or payment truth.
Demonstration
The public case is a deidentified synthetic reconstruction of a cross-border R&D closeout workflow. Organization names, people, contact details, account data, project identifiers, and private filenames are replaced with synthetic values. The workflow structure and deterministic calculation are preserved.
| Source evidence | Verified fact |
|---|---|
| Grant agreement | The overseas institution must report and return interest accrued on award funds |
| Amendment | The obligation remains effective through financial closeout |
| Institution report | USD 0.00 has already been returned |
| Interest report | USD 5,592.35 accrued during the award period |
| Interest report | USD 4,477.22 accrued after the award period and before closeout |
| Closeout ledger | Recorded recovery receivable is USD 0.00 |
GrantBack evaluates:
ROUND_HALF_UP(5,592.35 + 4,477.22 - 0.00, 2)
= USD 10,069.57
The result is a source-verified candidate receivable package for accountant review. It is not presented as a posted journal entry, confirmed debt, completed recovery, or verified payment.
One-character source-change test
GrantBack changes one character in the authoritative source and reexecutes the workflow.
source root changes
→ SOURCE_HASH_MISMATCH
→ blocked at authority
→ no changed amount
→ no package
→ no approval reservation
→ zero sends
An external recovery action cannot outlive the evidence that justified it.
The hard part: continuous authority
Most AI systems stop at a cited answer. GrantBack carries authority through the entire decision chain:
- GPT-5.6 proposal → restricted typed obligation IR;
- source authority → controlling agreement and amendment path;
- evidence → document hash, typed locator, exact quote, quote hash, and parser revision;
- money → server-owned Decimal execution trace;
- approval → source root, program, amount, recipient, notice, attachments, actor, nonce, and expiry;
- action → provider acceptance, delivery, observation, and payment remain separate truth states.
Change one source character and the chain does not degrade into a warning. It stops before amount, package, approval, or outbound action.
OpenAI technology
GPT-5.6
Rules engines parse only source types anticipated in advance. GPT-5.6 handles the unfamiliar semantic layer: it interprets new grant language and compiles a restricted typed obligation proposal with source citations. The model may propose typed arithmetic, but it does not execute money or own authority.
In one separately captured synthetic unfamiliar-source run, GPT-5.6 produced that restricted proposal; this is not presented as a live ChatGPT-host observation of the public USD hero case. GrantBack's server-owned code resolves authority, verifies every cited source span, reproduces the Decimal calculation, and either creates a reviewable candidate package or abstains.
ChatGPT Work and Apps SDK
ChatGPT desktop is the professional operating surface. GrantBack attaches as an MCP app, and the OpenAI Apps SDK renders the source evidence, candidate amount, accountant review state, and negative proof directly inside the conversation.
A fresh authenticated ChatGPT Work run against the final production deployment displayed:
- books: USD 0.00;
- source calculation: USD 10,069.57;
- candidate receivable: USD 10,069.57;
- exact source evidence;
- accountant review stage;
- one-character mutation block;
- no changed amount or package;
- approval reservation blocked.
The final GrantBack execution did not use Gmail or Google Drive evidence. The public case is explicitly synthetic, and no connected customer evidence is claimed.
Codex
Codex desktop is the builder and auditor surface. With the GrantBack repository open, the same MCP result can be traced through typed contracts, authority resolution, source verification, Decimal evaluation, approval bindings, tests, and the deployed source commit. Codex can add a new obligation test-first, inspect the diff, run the release gates, and verify the production SHA in one repository-aware path.
Codex was used for test-first implementation across the TypeScript workspace: source contracts, authority resolution, restricted obligation programs, deterministic verification, Decimal evaluation, candidate packages, approval-bound actions, MCP, the Apps SDK widget, the public Workbench, privacy gates, security gates, and regression repairs.
How it was built
GrantBack is a strict TypeScript and pnpm workspace.
@grantback/contracts: source, program, workflow, approval, and receipt schemas@grantback/compiler: server-owned authority resolution and candidate validation@grantback/verifier: source, quote, evidence, and program verification@grantback/evaluator: deterministic Decimal execution and calculation trace@grantback/pipeline: fail-closed authority, verification, evaluation, and package stages@grantback/receivable: canonical candidate package and notice bindings@grantback/actions: approval reservation, provider acceptance, recovery, and delivery states@grantback/replay: deterministic captured-tail verification@grantback/widget: ChatGPT Apps SDK resource
Runtime sequence:
source evidence
→ GPT-5.6 typed proposal
→ authority resolution
→ source and evidence verification
→ Decimal calculation
→ candidate receivable package
→ accountant approval
→ action reservation
→ provider acceptance
→ mail-server delivery evidence demonstrated only with an official provider test recipient
→ awaiting recipient response
→ independent payment verification, not demonstrated in this release
Challenges
Separating interpretation from authority
A plausible model answer can still use the wrong amendment, period, operand, or source. GrantBack limits the model to a candidate typed program and checks every executable claim in deterministic code.
Binding calculations to source
Every source span carries a document identifier, artifact hash, typed locator, exact quote, quote hash, and parser revision. The citation is part of the calculation contract.
Preventing stale approvals
Approval is bound to the source root, program, calculation trace, package, recipient, notice payload, attachments, actor, session scope, nonce, and expiry. A changed source cannot reuse an earlier approval.
Keeping operational states honest
Provider acceptance is not mail-server delivery. Delivery is not recipient observation. A delivered notice is not payment. GrantBack keeps these states separate.
Accomplishments
- Built a public Closeout Workbench with 23 synthetic institution cases.
- Built a native ChatGPT Apps SDK widget backed by the same MCP output.
- Confirmed that the final production MCP advertised 15 tools, and actively exercised the hero and live-model-replay paths.
- Reproduced USD 10,069.57 with exact Decimal arithmetic.
- Proved that a one-character source mutation blocks amount, package, approval reservation, and action.
- Preserved human accountant control before any external notice.
- Recorded a release-gate run with 271 of 271 automated tests passing.
- Passed all 24 held-out evaluation cases: 12 exact-calculation cases and 12 required-abstention cases.
- Final release scans reported zero public-data privacy findings, zero Gitleaks findings across Git history and the current worktree, and zero OSV findings in
pnpm-lock.yaml. - Captured a fresh authenticated ChatGPT Work execution against the final production release.
What I learned
The key technical boundary is interpretation versus authority. GPT-5.6 is effective at converting unfamiliar professional language into a typed candidate. Deterministic software must verify evidence, perform monetary arithmetic, create accounting artifacts, and control external actions.
The useful output is not a confident answer. It is a reviewable candidate package that states what the sources support, what remains unresolved, and why the next action is authorized or blocked.
What's next
- expand the accountant-reviewed case set across interest, refund, disallowance, fee, and repayment workflows;
- connect permissioned customer evidence with source-level access controls;
- add institution response and dispute handling;
- connect approved packages to posted receivables and independently verified cash receipts;
- measure review time, correction rate, and candidate-to-recognition conversion.
Links
- Product: https://grant-back.com
- MCP: https://grant-back.com/api/mcp
- Repository: https://github.com/sergiobuilds/grantback
- Final production source commit:
035ace42d760136e36da2c77b7088220aa961b77
Built with
OpenAI, GPT-5.6, Codex, ChatGPT Work, OpenAI Apps SDK, Model Context Protocol, TypeScript, Node.js, pnpm, Zod, decimal.js, Vitest, Vercel, Resend, WebCrypto, Ed25519, GitHub Actions.
Built With
- chatgpt-work
- codex
- decimal.js
- gpt-5.6
- model-context-protocol
- node.js
- openai-apps-sdk
- pnpm
- resend
- typescript
- vercel
- vitest
- zod
Log in or sign up for Devpost to join the conversation.