Problem
STATUS.md is auto-generated by drone @prax status sync which runs on every PR creation and merge (via trigger events). The sync reads all branches' STATUS.local.md files and rebuilds STATUS.md with their full content — including developer session notes, PR backlogs, and operational data.
This means:
Root cause
prax/apps/handlers/status/sync.py unconditionally writes the full aggregated content from all STATUS.local.md files into STATUS.md at the repo root. The system-pr flow calls drone @prax status sync before staging, so every PR includes the regenerated STATUS.md.
Options
-
Gitignore STATUS.md — ship STATUS.md.example as the stub. Prax sync still writes locally but it never reaches git. Downside: STATUS.md disappears from the repo for anyone who doesn't run sync.
-
Conditional sync — prax only writes STATUS.md if STATUS.local.md files have substantive content (not just scaffolding). Fresh clones with empty STATUS.local.md files produce an empty STATUS.md.
-
Strip session notes from sync output — prax only extracts state/last-update metadata from STATUS.local.md, not the full Notepad/session history content. STATUS.md becomes a lean dashboard, not a session log mirror.
Recommendation
Option 3 is probably the right long-term fix — STATUS.md should be a dashboard (branch states + last update dates), not a mirror of every branch's session history. The Notepad sections in STATUS.local.md are for local use, not public aggregation.
Context
Discovered during Windows 10 fresh-clone test. Follow-up to #291. Attempted to reset STATUS.md to a stub in PR #297 but prax sync overwrote it during system-pr creation.
Owner
@prax — they own the sync handler.
Problem
STATUS.md is auto-generated by
drone @prax status syncwhich runs on every PR creation and merge (via trigger events). The sync reads all branches'STATUS.local.mdfiles and rebuilds STATUS.md with their full content — including developer session notes, PR backlogs, and operational data.This means:
Root cause
prax/apps/handlers/status/sync.pyunconditionally writes the full aggregated content from allSTATUS.local.mdfiles intoSTATUS.mdat the repo root. The system-pr flow callsdrone @prax status syncbefore staging, so every PR includes the regenerated STATUS.md.Options
Gitignore STATUS.md — ship
STATUS.md.exampleas the stub. Prax sync still writes locally but it never reaches git. Downside: STATUS.md disappears from the repo for anyone who doesn't run sync.Conditional sync — prax only writes STATUS.md if STATUS.local.md files have substantive content (not just scaffolding). Fresh clones with empty STATUS.local.md files produce an empty STATUS.md.
Strip session notes from sync output — prax only extracts state/last-update metadata from STATUS.local.md, not the full Notepad/session history content. STATUS.md becomes a lean dashboard, not a session log mirror.
Recommendation
Option 3 is probably the right long-term fix — STATUS.md should be a dashboard (branch states + last update dates), not a mirror of every branch's session history. The Notepad sections in STATUS.local.md are for local use, not public aggregation.
Context
Discovered during Windows 10 fresh-clone test. Follow-up to #291. Attempted to reset STATUS.md to a stub in PR #297 but prax sync overwrote it during system-pr creation.
Owner
@prax — they own the sync handler.