Harness Intelligence Wiki
SpecsCLIIP-105-runtime-telemetry

Implementation Notes: IP-105 Runtime Adoption Telemetry

Implementation Notes: IP-105 Runtime Adoption Telemetry

Execution Mode

Parallel wave with IP-104. IP-105 owned contract/API/db/CLI telemetry surfaces.

Issue Coverage

IssueStatusEvidence
IP-131Implementedpackages/contract defines approved product events and telemetry endpoint; packages/db defines ProjectUsage/ObservedRepository/CliUsageEvent schema plus migration; apps/api persists telemetry through the DB-backed store when DB/Auth env is present; CLI emits after auth login, artifact pull, scaffold setup, and update apply.
IP-132ImplementedTelemetry source flags classify normal/local-dev/ci/debug/test; API counts only normal source; duplicate event ids are accepted but not counted.

Validation

  • bun run test --filter=@punks/contract --filter=@punks/api --filter=@punks/cli: passed after telemetry/reporting implementation.
  • bun run check-types --filter=@punks/contract --filter=@punks/api --filter=@punks/db --filter=@punks/cli: passed after telemetry/reporting implementation.
  • bun run db:generate: passed and generated packages/db/src/migrations/0000_noisy_millenium_guard.sql.
  • Full repo validation passed: git diff --check, wiki meta.json JSON validation, bun run check, bun run check-types, bun run test, and bun run build.

Review

Delivery-owned $review-phase found no remaining IP-105 blocking findings. Codex PR review later found IP-105 telemetry hardening issues and they were resolved in docs/reference/tech-debt/cli/M4-trust-telemetry-lifecycle/pr-6-telemetry-review-findings.md: GitHub fallback artifact pulls now emit cli.artifact.pull.completed, cached baseline reuse no longer emits pull telemetry, artifact-pull telemetry uses the target repository cwd, disabled telemetry transport skips repo probing, telemetry git identity comes only from repo-local config, loopback and 0.0.0.0 control-plane URLs classify as local-dev, API database persistence no longer depends on full Better Auth configuration, database duplicate event insertion is idempotent, database outages map to 503 persistence errors, remote-less events/reports do not manufacture project usage ids, and telemetry timestamps now require valid ISO datetime strings with real calendar dates.

Docs Ingest

Root docs updated with product telemetry, API persistence, migration, and local smoke-test boundaries.

On this page