fix(operations): per-project git sync + completion receipts in brief (S2, S3)
Brief.Git was a single GitSync read from ORCHESTRA_DATA (never a git checkout), and completions were counted but discarded their report_ref/ receipt. Brief.Git is now keyed by project ID and built from each project's real repo; GitSync gained Ahead/Behind vs upstream; Brief now carries Receipts pulled from each TaskCompleted payload. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W1rkJ2hBMybnJctPbcy4tT
This commit is contained in:
+13
-1
@@ -363,7 +363,19 @@ func main() {
|
||||
if v, parseErr := time.Parse(time.RFC3339, r.URL.Query().Get("to")); parseErr == nil {
|
||||
to = v
|
||||
}
|
||||
json.NewEncoder(w).Encode(operations.BuildBrief(s.Events(0), from, to, operations.GitState(dir)))
|
||||
git := map[string]operations.GitSync{}
|
||||
for _, p := range rr.Projects() {
|
||||
if p.Repo == "" {
|
||||
continue
|
||||
}
|
||||
git[p.ID] = operations.GitState(p.Repo)
|
||||
}
|
||||
if len(git) == 0 {
|
||||
if repo := os.Getenv("ORCHESTRA_REPO"); repo != "" {
|
||||
git["default"] = operations.GitState(repo)
|
||||
}
|
||||
}
|
||||
json.NewEncoder(w).Encode(operations.BuildBrief(s.Events(0), from, to, git))
|
||||
})
|
||||
standup := func() (domain.Event, error) {
|
||||
return operations.GenerateStandupAdvisory(s, time.Now().UTC())
|
||||
|
||||
Reference in New Issue
Block a user