← PTSO case study

The Put That Sh*t On Agent

Building multi-agent AI systems that actually talk to each other, and the contract that controls what they can say.

William Hill · Forward Deployed Engineer · RenderATL

Commit Your Code 2026 · deck v1.6.0

@emjay_hill · william@renderatl.com

QR code for the current slides and sources
SLIDES + SOURCES

From one community to another

Render(ATL)

See you at RenderATL 2027

August 18–19 · Downtown Atlanta

The South's tech conference.

QR code for the RenderATL website
RENDERATL.COM
Five summits · One badge · One price

By the end of this talk

You will know how to find whether the model or its knowledge limits your AI feature.

And you will have a rule for when to write that knowledge down as a contract, and when not to bother.

THREAD 01: THE FAILURE

Every morning, you are the integration layer

The forecast is in a weather app.

Your schedule is in a calendar.

What you actually own is in a closet.

15 shirts and 10 pairs of pants make 150 outfits.

You can put on a lot of stuff. That does not mean you are putting that sh*t on.

PTSO's A2A orchestration path

Put That Sh*t On. Give it a city, get ranked outfits from clothes I own.

Agent Cards describe each A2A endpoint. MCP supplies weather and wardrobe data. PTSO calls the endpoints in sequence, keeps every result, and sends one prompt to the in-process outfit agent.

A numbered workflow shows PTSO calling weather, wardrobe, and a conceptual calendar agent in sequence. Each remote panel has Agent Card fields for its name, skills, and A2A interface. PTSO retains the forecast and exact wardrobe JSON before it builds one prompt for the in-process outfit agent. After the agent returns ranked outfits, the app can send a selected look and avatar to a virtual try-on render job.
The PTSO interface shows William in a white Oxford shirt and navy chinos. The outfit also recommends suede loafers for a rainy Atlanta day.

Rain in the forecast. Suede in the outfit.Before ontology validation

What PTSO knew about my closet

PTSO knew the forecast, and it knew the fabric. Nothing connected the two.

Six recommendation fields: type, category, brand, color, fabric, style.

Enough to filter a list. Not enough to justify a choice.

The suede loafers matched on color, on style, and on temperature. Every check the system had, passed.

Not one of them knows what rain does to suede.

What PTSO knew about my closet

Better agents did not give me better answers

I tuned the orchestration. I improved the prompts. I moved to newer models.

The same knowledge gap remained.

Model upgrades did not give PTSO the missing rule.

HOT TAKE ALERT

What PTSO knew about my closet

What if hallucination is a feature, not a bug?

Generative models need freedom to propose new combinations.

That freedom can also produce unsupported claims.

Model improvements alone cannot enforce every domain rule.

Put the invariant outside the model.

Frank Coyle, UC Berkeley — Why Agentic Systems Need Ontologies

What PTSO knew about my closet

PTSO was missing a stronger substrate

The model had data.

It did not have enough rules about what that data meant.

The ontology made those rules explicit and checkable.

THREAD 02: THE RULEBOOK

What is an ontology?

"An explicit specification of a conceptualization."

Thomas Gruber, 1993. This is the definition the field actually uses.

Defining the term

Dude, what?

Defining the term

In plain English: an ontology is a rulebook for your data

The names for each thing.

What each name means.

The allowed combinations.

Written down in one place, outside the model, where anything can check it.

Defining the term

Your closet is already an ontology

The tag The standard behind it Suede is not rain-safe The label said wool Wool means warm Vocabulary Semantics Constraints Provenance Inference contract

This rulebook is your taste. You already follow every line of it. Software cannot read any written copy.

THREAD 03: THE CONTRACT

PTSO's contract knows facts that nobody typed

A human typed wool blend. A human typed navy marl twill.

Nobody typed layers over the merino crewneck.

PTSO worked that one out, and it names the rule that did it.

The ontology inside PTSO

One blazer row, nine evidence edges

A Bonobos Jetsetter Knit Blazer in Navy Marl Twill on a neutral background.
Jetsetter Knit Blazer · Navy Marl Twill · Bonobos
Evidence graph for a Bonobos Jetsetter Knit Blazer with five intrinsic garment edges and four contextual edges with rule provenance.

The evaluator returns valid, score, violations, and repair_candidate_ids.

The model proposes. The ontology disposes.

Outfit validation flow

outfit_agent proposes raw outfits validate_outfit rules + context Pass gate valid and score ≥ 0.4 Recommendation agent output reaches user Drop proposal violation or low score PASS FAIL

The failure path is bounded

One repair call, then fallback

Drop proposal violation or low score One repair call allowlisted replacements Validate repair same acceptance gate Recommendation repaired output reaches user Deterministic fallback no valid agent output ALLOWLIST ONE RETRY PASS FAIL NO BOUNDED REPAIR

Live demo fallback

What should I wear tomorrow?

Silent demo: The presenter asks, “What should I wear tomorrow?” PTSO returns three Atlanta casual looks. Each look includes a shirt, trousers, shoes, a virtual try-on image, and an explanation.

What I learned

Every version of PTSO gave the model less to decide

V1 — one orchestrator and three specialist model calls. Three A2A delegations.

V2 — the product endpoint bypassed the orchestrator and called outfit_agent directly.

V3 — rules validate every agent proposal. One repair is allowed before fallback.

Every version gave the model fewer decisions that software could make reliably.

What I learned

So should you build an ontology? Maybe.

Build it when two systems must agree on a word, a wrong combination costs money, or the rule outlives the prompt.

Skip it when one codebase reads the data, a retry is cheap, or you cannot write the rule in a sentence.

Illustrative patterns

What this looks like outside a closet

Clinical. A clinical system could check known interaction rules.

Access control. An access system could limit the rows before model access.

Manufacturing. A manufacturing system could reject incompatible parts.

The pattern stays the same. The agent proposes. The contract decides what survives.

What I learned

Models propose. Contracts dispose.

If an answer sounds right but violates a rule, write the rule where software can check it.

Let the model propose. Let the contract decide what survives.

CYC 2026 · v1.6.0 · ← → move · o overview · f full screen