Skip to content

feat(framework): measurement across tools and people #652

Description

@blafourcade

The measurement leaves one machine: several tools, several people, over time.

Context and Value

The first two milestones prove the chain on one tool and attach it to the work. Everything that follows requires crossing a boundary the design has so far avoided: another vendor, another repository, another person, and a retention longer than a working week.

The mechanics are already known, and were measured rather than assumed. Each remaining tool exports tokens and a session identifier; what differs is which signal carries them and how the export is switched on. Two of them export no amount at all, so a price table becomes unavoidable. And the flag that makes per-step attribution readable also logs what was typed, so redaction has to happen before anything is stored or sent.

Boundaries

  • Includes: Codex, Copilot, Cursor and OpenCode, added one at a time, each with its own gate to lift.
  • Includes: a price table, for the two tools that export tokens without a cost.
  • Includes: redaction of sensitive attributes before storage or upload.
  • Includes: the commit trailer, which attaches cost at commit precision rather than session precision.
  • Includes: the upload, and reporting per person, per team and per epic.
  • Excludes: replacing any tool's own measurement. The framework configures exports, it does not compute tokens.
  • Excludes: anything that would mirror a backlog across supports.

Success Evidence

A team lead reads a week of work broken down by person, tool, model and step, on tools other than Claude Code, from a repository they did not have to open.

The 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 on git-ignores it; committing it takes deliberately deleting that line.
  • A person can refuse, and their refusal wins. AIDD_TELEMETRY=0 is 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 forget shows 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.

Design: aidd_docs/specs/2026_08/2026_08_13-work-tracking-linkage.md

Activity

  1. added this to the milestone on Aug 14, 2026
  2. added theissue type on Aug 14, 2026
  3. moved this from Ideation to In Progress in AIDD Roadmapon Aug 27, 2026
  4. self-assigned this
    on Aug 27, 2026
  5. moved this from In Progress to Done in AIDD Roadmapon Sep 3, 2026
  6. closed this as completedby moving to Done in AIDD Roadmapon Sep 3, 2026
  7. blafourcade commented on Sep 12, 2026

    @blafourcade
    ContributorAuthor

    Closed as not planned for the framework.

    This issue is a programme of several independent capabilities, not a shippable framework feature. The framework now reads the supported local tool records and exposes local person, backlog and task views; cross-repository, team and hosted analysis belongs to a destination chosen by the user.

    The remaining concrete work is already owned by #654, #655, #656 and #662. The overlapping upload and redaction scope in #655 and #662 still needs its own consolidation. The roadmap milestone groups that work; no parent Epic is needed.

  8. changed the issue type fromtoon Sep 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Fields

Priority

Low

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions