Repository navigation
feat(framework): report per person, team and epic #656
Description
As a tech lead
I want a week of work broken down by person, tool, model and step
So that I can see where the effort and the money actually go, across a team rather than a folder
Acceptance
- A report covers several repositories and several people, over a chosen period.
- The attached and unattached shares are both shown; a report that silently measures two thirds is a failed report.
- Reported and computed cost stay distinguishable all the way through aggregation.
- Nothing is uploaded that the redaction issue does not allow.
- A person can see their own figures, and what is shared about them, before anyone else does.
- Upload failure never blocks or slows a session, and the local figures remain readable without it.
What it looks like
Marie — week 33
3 features, 2 bugs, 1 spike
active time 11h40
tokens 2.1M 34% cache
cost $47 reported $41 · computed $6
attached 61% out of task 39%, of which /debug 22%
by step implement 61% · review 19% · plan 12% · rest 8%
by model opus 78% of cost for 31% of callsThe decision that gates this milestone — made
Settled on 2026-08-31 by @blafourcade, in writing: aidd_docs/memory/internal/decisions/measurement-may-reach-a-hosted-destination.md, posted on #297.
#297's privacy clause is reaffirmed unchanged. Its standard clause — "Sink is an OTel collector. No SaaS." — is superseded: a hosted destination is allowed, and it is never ours to fix. The person names the destination, what travels is the already-published record contract, anyone can run their own and lose no capability, and nothing about measuring or reading requires an account.
The argument this section used to carry is also factually out of date, and its correction is what makes the decision liveable:
- The journal names nobody. No line it writes carries any identity field. It records the repository, the task folders written into, the skills run and their timings.
- It does not enter git history.
aidd telemetry ongit-ignores it; committing it takes deliberately deleting that line. - A person can refuse, and their refusal wins.
AIDD_TELEMETRY=0is honoured by the hooks and the CLI alike and overrides whatever a repository's committed switch says — which answers "the safeguard protects the wrong people" directly. - A person can remove what was measured.
aidd telemetry forgetshows what would go, and what git history keeps whatever it does, then removes it on confirmation.
One boundary from that decision binds this milestone directly: the framework exposes, the destination analyses. Aggregating across people and repositories belongs to a hosted destination, not to what runs on a machine.
Out of scope
- Any judgement rendered on an individual. The report shows distribution, not performance.
Relations
| Field | Value |
|---|---|
| depends_on | the redaction issue, the price table |
Metadata
Metadata
Assignees
Labels
Type
Fields
Priority
Projects
- StatusShow more project fieldsDone
Activity
blafourcade commentedon Aug 16, 2026
Unblocked in shape, 2026-08-16
The precondition this issue named is decided: both modes are supported (#660). Reporting is therefore built once, against pseudonyms, and the mapping in #661 decides whether a report shows names or stable labels.
Two acceptance criteria to add:
The wording naming this as an unresolved organisational precondition can go.
refactor(telemetry): a skill carries what it needs, and nothing reach…
docs(framework): amend #297 — a hosted destination is allowed, and ne…
blafourcade commentedon Sep 12, 2026
Closed as Not Planned for the framework.
The local report already provides per-person and per-project breakdowns for one machine. Team, work-group and cross-repository aggregation are destination-side analysis under the current boundary. #662 remains the framework work needed to expose records, but it does not make this a CLI feature.
No framework implementation remains in this issue.