Parent
#752 (item 6)
What to build
Votes stay with the scope they were cast in. Today every scope records into one machine-level votes file per member, and whichever scope syncs next pushes the pending deltas to its own team. It is the same leak usage.jsonl had before #758:
votes recorded in a session
- → ~/.teamai/votes/<user>.yaml (every scope)
- → pushed by whichever scope syncs next
+ → project: <dataHome>/votes/<user>.yaml
+ → user: ~/.teamai/user-votes/<user>.yaml
+ → pushed only by that scope
The user scope gets a new directory rather than keeping ~/.teamai/votes/, for the reason user-usage.jsonl exists: what the shared directory holds names no project, and an earlier release writes there again after a rollback. Pending votes left there are not pushed. If the votes format keeps a "reported" baseline, a scope may seed from the shared file with every count marked as reported, so the local vote view keeps its history. Otherwise the shared directory is simply not read.
Local readers follow the same rule: the vote visualisation and recall feedback use the votes of the scope of their cwd.
Acceptance criteria
Blocked by
None (can start immediately).
Parent
#752 (item 6)
What to build
Votes stay with the scope they were cast in. Today every scope records into one machine-level votes file per member, and whichever scope syncs next pushes the pending deltas to its own team. It is the same leak
usage.jsonlhad before #758:The user scope gets a new directory rather than keeping
~/.teamai/votes/, for the reasonuser-usage.jsonlexists: what the shared directory holds names no project, and an earlier release writes there again after a rollback. Pending votes left there are not pushed. If the votes format keeps a "reported" baseline, a scope may seed from the shared file with every count marked as reported, so the local vote view keeps its history. Otherwise the shared directory is simply not read.Local readers follow the same rule: the vote visualisation and
recall feedbackuse the votes of the scope of their cwd.Acceptance criteria
recall feedbackread and write the current scope's votes.git,gitlab,githubproviders); data-directory design, usage guide (both languages, if they name the path) and CHANGELOG updated.Blocked by
None (can start immediately).