type: decision
status: active
timestamp: 2026-06-20
tags: [decisions, architecture, tracking, observability, lifestream, auto, metrics]

Auto-tracking everywhere — every family-wide metric is captured automatically

All metrics auto-tracked across oriz family \ is auto-captured. The oriz-me lifestream specifically pulls from auto sources\ \ only \u2014 GitHub commits via webhook, npm publishes via post-publish hook, VS\ \ Code coding sessions via Wakatime API, site visits via CF Web Analytics, builds\ \ via GH Actions webhook. No manual entry anywhere in the metric pipeline. Manual\ \ = decay; auto = honest."

Auto-tracking everywhere

Decision

Every metric tracked anywhere in the chirag127/oriz* family is captured automatically. No manual entry anywhere in the metric pipeline.

This decision file locks the family-wide principle. The companion rules/interaction/auto-only-tracking.md spells out the rule that every future tracking pick must pass.

For the oriz-me lifestream specifically, this decision pre-locks the auto-event sources that feed canonical JSONL per lifestream-jsonl-canonical:

Event sourceHow it’s captured (auto)JSONL type (planned)
GitHub commitsGitHub webhook ? Hookdeck ? CF Worker ? JSONL appendgit-commit
npm publishesnpm post-publish hook in CI ? CF Worker ? JSONL appendnpm-publish
VS Code coding sessionsWakatime API ? daily cron summary linecode-summary-wakatime
Site visitsCloudflare Web Analytics (already auto, cookie-less)pageview-cfwa (aggregated)
Builds (success / fail)GitHub Actions workflow webhook ? CF Worker ? JSONL appendbuild-status

User direction (verbatim, 2026-06-20): “I want everything to be automatically tracked no manual tracking.”

Why

Implications

For the lifestream pipeline (concrete auto sources)

Each event source has a designated auto-capture path. None require the user to do anything beyond their normal work.

All five sources push to the same canonical JSONL store per lifestream-jsonl-canonical. Turso libSQL warm cache rebuilds from JSONL nightly.

For non-lifestream metrics

The rule still applies. If a future feature wants to track something the family doesn’t already auto-capture, the acceptance gate is: show the auto-capture path before adopting. If there isn’t one, the metric isn’t tracked. No manual fallback.

What this excludes

Walk-backs locked alongside this decision

Failure modes covered

Cross-refs


Edit on GitHub · Back to index