Ondatrace

Design decisions

The choices behind Ondatrace, and why we made them

Some of the decisions behind Ondatrace. Most of them are about keeping its findings accurate and keeping people in control.

Evidence and trust

Rules decide a project's health before AI writes about it

Where a clear rule can say whether a project is healthy, Ondatrace applies the rule first. The AI writes the explanation afterward.

Why
The same facts should give the same answer every time. The answer shouldn't change because the AI worded things differently.
Tradeoff
Rules miss things and can be too strict. The AI still handles unclear cases, and Ondatrace says when it isn't sure.

Every finding keeps its sources

Each finding links back to the messages and tickets behind it.

Why
Leaders should be able to check the evidence themselves instead of taking the AI's word for it.

A risk stays open until something closes it

A risk isn't marked resolved just because later updates stop mentioning it.

Why
Teams often leave unsolved problems out of later updates. Closing a risk needs new evidence that it was fixed.

Automation settings never change the facts

Your settings decide whether a suggestion waits for approval or happens automatically. They never change the evidence or a project's health.

Why
How much you let the tool do on its own shouldn't change what's true.

People stay in charge

Changes to promised milestones need a person

Small task updates can be automated. Changes to committed milestones always wait for someone to review them.

Why
A milestone is a promise to someone, and moving it often has effects well outside the project.

The AI suggests actions but can't authorize them

The AI can recommend an action. Fixed rules decide whether it's allowed to happen.

Why
How confident the AI sounds should never decide what it's allowed to do.

Reliability and security

The application controls access

Which organization and projects someone can see is enforced by the application and its database.

Why
Instructions given to an AI are not a security control.

Only do work when something has changed

Recurring background work runs only when something meaningful has changed.

Why
A project that hasn't changed shouldn't cost more AI time or send new notifications just because a day passed.
But
Time passing can matter on its own. A milestone that becomes overdue is a real change, even if no data moved.

One failure doesn't stop the rest

If one project or tool connection fails during a background run, the others keep going.

Why
Nobody is watching background jobs as they run. One error should be visible without breaking unrelated work.

Renewed tool logins are saved on their own

Ondatrace saves a renewed login to a connected tool right away, before doing any other work.

Why
Some tools replace the old login when they issue a new one. If a later error undid the save, the stored login would stop working for good.