A trust skeleton is a fixed-order contract for what an AI system is allowed to say when the stakes are real: what it observed, what it inferred, what the options are, what it still does not know, what emotional weather might be pushing on the decision, and who actually gets to decide. The order is fixed and the system fails closed, so a report cannot bury its facts under its feelings or hand you a recommendation without naming who owns the call.
I built it because my own AI operation kept doing the one thing that actually costs an operator money.
The failure that started it
Picture the sentence that sinks a small business: “The lease expires November 15 and the landlord probably wants to renegotiate, so we should move fast.” Read it again. The first half is a fact you can check. The second half is a guess. The word “probably” is the only thing separating them, and it is doing none of the work, because the whole sentence arrives in the same confident voice.
A large company survives acting on that blend. An operator running lean might not. And the failure is not the dramatic hallucination everyone warns about. It is the plausible sentence nobody stops to check, because it sounds exactly like the true ones around it.
I did not want my system to be more careful. Careful is a mood, and moods fail on busy days. I wanted it to be structurally unable to ship that sentence.
The seven bones
The trust skeleton breaks a high-stakes report into seven parts that always render in the same order:
- Observed: facts, each with a source. Inference language here is refused outright.
- Inferred: interpretations, each carrying a stated confidence.
- Options: the real choices, with their constraints attached.
- Unknowns: the questions that would change the answer.
- Weather: an estimate of any emotional or framing pressure in the request, quoted word for word, never a diagnosis of a person.
- Who decides: the human authority, named. Missing this refuses the report.
- Receipt: a pointer back to the decision record.
The order is the whole point. The facts and the reasoning and the question of authority all land before the emotional channel is allowed to speak, and nothing in the system can invert that. Feelings do not get to go first.
Fail-closed is the feature
Most “make AI more honest” advice is a longer prompt asking the model nicely. A model can ignore a prompt on a bad day, and every model has bad days. The trust skeleton does not ask. If inference language shows up in the Observed section, the entire report is refused, no matter how confident the prose sounded. If no human authority is named, refused. The refusal is not hidden either; the system falls back to an ordinary reply and says plainly that a full report was refused and why.
A system that refuses when it lacks grounds is worth more than one that always has an answer. That is the part people underestimate until the first time it saves them.
Weather, without the diagnosis
The one genuinely new bone is Weather. When a request carries pressure, an approaching deadline, a sunk cost, a fear, the system may note it, but only as an estimate tied to the exact words that triggered it: “possible urgency based on the phrase ‘the window closes Friday.'” It never says the person is anxious. It never plays therapist. It characterizes the language, quotes the receipt, and moves on. Estimating influence is fair. Diagnosing a human is not, and the line between them is enforced in code.
It runs in production, and it is open source
This is not a whitepaper. Every high-stakes recommendation in my own operation renders through the trust skeleton. I published it under Apache 2.0, with its own attack suite, where every test hands the skeleton a dishonest shape and passes only when the skeleton refuses. Tests that do not attack are decoration; those ship in the box.
- Code: github.com/davedepew/trust-skeleton
- It is the third of three tools I run and publish. The others: evidence binding (claims must bind to their evidence or fail closed) and cognitive governance (governing how a system reasons, not just what it can touch). Facts bound to evidence, reasoning governed, reports carrying their own epistemics. Same operation, same standard.
Why an operator should care
If you run AI anywhere near a decision that involves money or a commitment, you are exposed to the blended sentence whether you have named the problem or not. You do not need my library to fix it. You need the discipline it enforces: keep facts and guesses in separate boxes, make confidence explicit, state your unknowns, and always name who decides. The code just makes the discipline impossible to skip on a busy day.
I run my businesses on an AI operation I built, and I publish the working parts with receipts. The Operator’s Membership is $19 a month.
FAQ
What is a trust skeleton?
A fixed-order contract for high-stakes AI reports: observed, inferred, options, unknowns, weather, who decides, receipt. The order is fixed and the renderer fails closed, so facts and guesses cannot blend and no recommendation ships without naming its authority.
How is it different from asking an AI to cite sources?
Citations are attached after the writing. The trust skeleton gates the writing: if a claim cannot be placed in the right box, the report is refused rather than shipped with a disclaimer.
Do I need to be a programmer to use it?
To run the library, yes. To use the idea, no. Any team can adopt the seven sections as a reporting standard by hand.
Is it free?
Yes. Apache 2.0, open source, on GitHub, with its own test suite.

