What it does

SupportTrace turns a messy incident inbox into an auditable resolution pipeline. For each ticket it (1) gathers the evidence, (2) has GPT-5.6 investigate and draft exactly one proposed action, (3) requires a human to approve that one action, and (4) verifies the outcome deterministically before the ticket can close. Every decision is recorded and replayable, so you can reconstruct why any action was taken, from raw evidence to final state.

Why we built it

Support and ops teams drown in tickets, and "let the AI just handle it" is how you get silent, unaccountable mistakes. We wanted the opposite: an agent that does the tedious investigation but can never approve, execute, publish, or close anything on its own. The model assesses, humans decide, the system proves. That separation is the whole product.

How we built it

  • Codex was our pair-engineer throughout. We used it to scaffold the Next.js + TypeScript app, design the deterministic verification layer, write the Zod schemas that constrain every model output, and generate the Vitest/Playwright suites. Model-touching changes were reviewed and committed via Codex; the collaboration is documented in the README with dated evidence.
  • GPT-5.6 (via the OpenAI Responses API) is the investigator. It reads the evidence bundle and returns a single structured, schema-validated recommendation. It has zero authority to act; the app enforces that at the type and permission level.
  • Deterministic core: approval, execution, verification and close are pure, testable functions. The same inputs always produce the same audit trail, which is what makes the system replayable and safe to trust.
  • Runtime: Google Cloud Run behind Workload Identity Federation, secrets in Secret Manager, state in Firestore.

Challenges we ran into

The hard part was resisting the temptation to let the model "just do it." Keeping GPT-5.6 strictly advisory, never an actor, meant building a normalization and validation boundary so a well-phrased but wrong model answer cannot slip through. Getting the verification layer deterministic took the most iteration.

What we learned

An agent is more trustworthy when it can do less. The value is not autonomous action; it is autonomous investigation plus a hard, human-gated, verifiable action boundary.

What's next

Connectors for real ticketing systems, richer evidence extractors, and per-team policy packs for what "one approved action" is allowed to be.

Built With

  • codex
  • docker
  • firestore
  • google-cloud-run
  • gpt-5.6
  • next.js
  • openai-responses-api
  • playwright
  • react
  • secret-manager
  • typescript
  • vitest
  • workload-identity-federation
  • zod
Share this project:

Updates