Add master plans daily activity page
Problem
Track completed tasks by day with owners, completers, and linked PRs, including merged PRs not tied to tasks.
Context
tasks/tools/plans_cli.pycurrently toggles task status but does not record a completion timestamp or completer in frontmatter.- Existing task frontmatter already stores
owner, which is useful for assigned owner display but not the person who actually completed the task. - The master plans docs site uses MkDocs with the
mkdocs-macros-plugin; most dynamic rollups live intasks/macros.py. - Git history on
origin/mainincludes both GitHub merge commits (Merge pull request #...) and squash merge subjects (... (#123)), which is enough to build merged PR links without requiring GitHub API access during docs builds. - Recent PRs often modify task files when they mark tasks completed, so task-to-PR
association can be inferred from merged commits that touch
tasks/workstreams/*/tasks/*.md.
Possible Solutions
- Add a dedicated MkDocs plugin that precomputes an activity dataset and writes generated markdown. - Strong separation, but heavier than needed for the current site.
- Extend the existing macros layer with a small helper module that reads task frontmatter plus git history at build time and renders a daily activity page. - Recommended: uses the existing master plans architecture, keeps build inputs local to the repo, and avoids adding another MkDocs plugin surface.
- Rely entirely on git history for both task completion time and PR association. - Useful as a fallback for historical tasks, but weaker for future accuracy because task completion is a domain event that should live in task metadata.
Plan
- Update
tasks/tools/plans_cli.pysotask completerecordscompleted_atandcompleted_byin frontmatter, andtask start/updatekeep the metadata consistent. - Add a master plans activity helper that:
- loads all tasks and their metadata
- uses git history to infer merged PRs and task-to-PR associations
- falls back to git commit dates for older completed tasks missing
completed_at - Add a new docs page under
tasks/and wire it into MkDocs navigation via the existing macros plugin. - Add focused tests for CLI completion metadata and activity rendering/inference, then run the relevant test subset plus a master plans build.
Implementation Progress
- Created task scaffold with the plans CLI and set it to
in_progress. - Verified that current task files do not systematically store completion timestamps.
- Confirmed merged PRs can be inferred from local git history without adding a network dependency to the build.
- Added completion metadata handling to
plans_cli.pyso completed tasks now stampcompleted_atandcompleted_by, while reopened tasks clear stale completion data. - Added
tasks/activity.pyto aggregate completed tasks and merged PRs by day, with git-blame fallback for historical task completion timestamps and git-log-based PR inference. - Added the
tasks/activity/index.mdpage, MkDocs nav entry, and activity page styling so the site now exposes a day-by-day delivery log. - Added tests covering CLI completion metadata and activity aggregation/rendering.
- Verified with
uv run pytest tests/core/test_plans_cli.py tests/core/test_tasks_macros.py tests/core/test_tasks_activity.py. - Verified with
PYTHONPATH=tasks uv run mkdocs build -f tasks/mkdocs.yml -d /tmp/master-plans-build.
Review Feedback
scripts/pr-validate prepassed after fixing unrelatedmypytype issues indataface/ai/mcp/server.pythat were present on top of currentmain.uv run --project libs/cbox cbox review --model sonnet --review-timeout 900 --watch files ...returned APPROVED on March 13, 2026.-
The review called out a non-blocking build-time N+1 subprocess pattern in
collect_merged_prs; the issue is bounded byMAX_PR_HISTORYand should be handled in follow-up work if activity-page build cost becomes noticeable. -
[x] Review cleared