feat(10.8): add Progress Tracker — Tracks metrics over time #250

Open
Rockachopa wants to merge 1 commits from step35/173-10-8-progress-tracker into main
Owner

Summary

Implements Pipeline 10.8 — Progress Tracker.

scripts/progress_tracker.py is a standalone metrics collector that tracks improvement over time.

Metrics collected:

  • Test coverage — counts test files vs source files, reads .coverage if available
  • Doc coverage — AST-based % of callables with docstrings
  • Issue close rate — Gitea API: closed vs opened in last 7 days
  • Dep freshnesspip list --outdated vs requirements.txt

Outputs:

  • metrics/snapshots/YYYY-MM-DD.json — weekly snapshot data
  • metrics/TRENDS.md — cumulative markdown table
  • stdout summary for human review

Usage:

python3 scripts/progress_tracker.py
python3 scripts/progress_tracker.py --json
python3 scripts/progress_tracker.py --output metrics/TRENDS.md

Weekly cron:

0 9 * * 1 cd /path/to/compounding-intelligence && python3 scripts/progress_tracker.py

Acceptance Checklist

  • Tracks test coverage (test:source ratio, line coverage if .coverage exists)
  • Tracks doc coverage (AST callable docstrings %)
  • Tracks issue close rate (Gitea API, last 7d)
  • Tracks dep freshness (pip outdated)
  • Stores weekly snapshots in metrics/snapshots/ (directory auto-created)
  • Outputs trend charts (markdown table in metrics/TRENDS.md)
  • Designed for weekly output (cron-friendly, one-sentence summary)

Fixes #173

## Summary Implements **Pipeline 10.8 — Progress Tracker**. `scripts/progress_tracker.py` is a standalone metrics collector that tracks improvement over time. **Metrics collected:** - **Test coverage** — counts test files vs source files, reads `.coverage` if available - **Doc coverage** — AST-based % of callables with docstrings - **Issue close rate** — Gitea API: closed vs opened in last 7 days - **Dep freshness** — `pip list --outdated` vs `requirements.txt` **Outputs:** - `metrics/snapshots/YYYY-MM-DD.json` — weekly snapshot data - `metrics/TRENDS.md` — cumulative markdown table - stdout summary for human review **Usage:** ```bash python3 scripts/progress_tracker.py python3 scripts/progress_tracker.py --json python3 scripts/progress_tracker.py --output metrics/TRENDS.md ``` **Weekly cron:** ``` 0 9 * * 1 cd /path/to/compounding-intelligence && python3 scripts/progress_tracker.py ``` ## Acceptance Checklist - [x] Tracks test coverage (test:source ratio, line coverage if .coverage exists) - [x] Tracks doc coverage (AST callable docstrings %) - [x] Tracks issue close rate (Gitea API, last 7d) - [x] Tracks dep freshness (pip outdated) - [x] Stores weekly snapshots in `metrics/snapshots/` (directory auto-created) - [x] Outputs trend charts (markdown table in `metrics/TRENDS.md`) - [x] Designed for weekly output (cron-friendly, one-sentence summary) Fixes #173
Rockachopa added 1 commit 2026-04-26 09:15:22 +00:00
Implements 10.8: Progress Tracker.

- Script: scripts/progress_tracker.py
- Stores weekly snapshots in metrics/snapshots/ (auto-created)
- Generates trends table in metrics/TRENDS.md
- Tracks: test-to-source ratio, doc coverage via AST, issue close rate (Gitea API), dep freshness (pip)
- Outputs stdout summary for weekly review

Usage:
    python3 scripts/progress_tracker.py
    python3 scripts/progress_tracker.py --json
    python3 scripts/progress_tracker.py --output metrics/TRENDS.md

Weekly cron: 0 9 * * 1 cd /path && python3 scripts/progress_tracker.py

Closes #173
Some checks failed
Test / pytest (pull_request) Failing after 8s
Checking for merge conflicts…
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin step35/173-10-8-progress-tracker:step35/173-10-8-progress-tracker
git checkout step35/173-10-8-progress-tracker
Sign in to join this conversation.