Ownership model
Teleos shows how software is built, not how it runs: who and what landed each change, and which human answers for it.
A change is owned by whoever vouched for it
Section titled “A change is owned by whoever vouched for it”A robot can’t be held accountable. Authorship can be anything (a person, an agent, a bot, an agent acting on a person’s token), so ownership resolves in this order:
- The human who merged it. Merging is vouching.
- Otherwise, a human who explicitly approved it. Bot approvals don’t count.
- Otherwise, the owner of the domain it landed in (CODEOWNERS or a curated map).
- Otherwise, for fully autonomous changes, the owner declared for that automation (an identity’s accountable team).
- Otherwise nobody. An unvouched change is a finding.
Attribution is evidence, ranked
Section titled “Attribution is evidence, ranked”| Rank | Evidence | Example |
|---|---|---|
| Declared | GitHub App installations, identity review, team rosters | an app installed with write access to all repos |
| Observed | behavior in the data: unsigned commits from a person’s account, machine branch names, activity minutes after an install | an agent opening a PR under a human account |
| Named | the signatures file (a vendor-naming hint, never the only basis) | claude[bot] → Anthropic |
Teams own areas, and organizations evolve
Section titled “Teams own areas, and organizations evolve”A domain is an area of code (e.g. Billing). Its scope (which repo paths belong to it) and its assignment (which team owns it) are both effective-dated. A reorg or a moved directory never edits history; the old fact ends and a new one begins.
Every report can be read two ways:
- As of then (the default, and the audit answer): a change counts for the team that owned the area when it landed, using the paths as they were then.
- As of now: today’s owners and paths applied to the whole window. What happened in the areas I just inherited?
manage.py team_domains forge --days 60 --lens thenmanage.py team_domains forge --days 60 --lens nowTeleos reads your org chart from your code
Section titled “Teleos reads your org chart from your code”Ownership sources, each tagged on every fact: CODEOWNERS, team repository permissions, service-catalog files (Datadog entity.datadog.yaml, Backstage catalog-info.yaml, OpsLevel), and a curated map. When sources disagree, Teleos reports the contradiction rather than silently picking one.
Status: CODEOWNERS, dated domains and vouching are shipped. Catalog files, versioning ownership from each file’s history, and a teleos.yaml curated map are in progress.