2 KiB
2 KiB
4.6.0 Git-Tracked Project Sources
Status: Planned
Goal
Make repo-root startup and --project-path robust for messy real checkouts by
stopping the default chat-host path from trying to ingest every readable and
unreadable file in the working tree.
Public API Changes
Project-aware startup should change its default local source semantics:
- bare
pyro mcp servefrom inside a Git checkout should seed from Git-tracked files only pyro mcp serve --project-path PATHshould also use Git-tracked files only whenPATHis inside a Git checkout--repo-urlremains the clean-clone path when the user wants a host-side clone instead of the local checkout- explicit
workspace create --seed-path PATHremains unchanged in this milestone
Implementation Boundaries
- apply the new semantics only to project-aware startup sources, not every explicit directory seed
- do not silently include ignored or untracked junk in the default chat-host path
- preserve explicit diff, export, sync push, and reset behavior
- surface the chosen project source clearly enough that users know what the sandbox started from
Non-Goals
- no generic SCM abstraction layer
- no silent live sync between the host checkout and the guest
- no change to explicit archive seeding semantics in this milestone
Acceptance Scenarios
- starting
pyro mcp servefrom a repo root no longer fails on unreadable build artifacts or ignored runtime byproducts - starting from
--project-pathinside a Git repo behaves the same way - users can predict that the startup source matches the tracked project state rather than the entire working tree
Required Repo Updates
- README, install docs, integrations docs, and public contract updated to state what local project-aware startup actually includes
- help text updated to distinguish project-aware startup from explicit
--seed-pathbehavior - at least one guest-backed smoke scenario added for a repo with ignored, generated, and unreadable files