Skip to content

feat(lifecycle): label todo runs - #87

Open
moshloop wants to merge 16 commits into
mainfrom
feat/label-todo-runs-dlahyuu9p7ww
Open

feat(lifecycle): label todo runs#87
moshloop wants to merge 16 commits into
mainfrom
feat/label-todo-runs-dlahyuu9p7ww

Conversation

@moshloop

@moshloop moshloop commented Sep 9, 2026

Copy link
Copy Markdown
Member

What

  • Label supervised todo runs with todo identity, title, link, phase, workspace, model, mode, and session.
  • Regenerate schema fields and align the partial-runtime tool-policy spec.

Notes

  • Pins Captain and Clicky to builds providing the required label and annotation support.

A supervised agent run reached the task list as an anonymous binary path, so
an operator watching several concurrent runs could not tell which todo any of
them was working. The lifecycle host now contributes a gavel-run-labels PreRun
hook that puts the identity captain cannot derive — the todo id, its title, a
href back to it, the phase, and the workspace dir — onto the request the
provider is built from; the provider merges its own runtime facts (model,
mode, session) on top.

Pins captain to the build that carries Spec.Labels and clicky to the one that
carries SupervisedTaskOptions.Annotations, and regenerates gavel.schema.json
for the two fields those add (spec.labels, permissions.directories).

Realigns the partial-runtime spec onto captain's current tool-policy contract:
an allow naming another agent's built-in is now skipped as inert, so only a
deny still makes the openai agent runtime refuse the policy.

Claude-Session-Id: 3698db0e-fe0f-48e4-a19d-de9c24fb34f3
@coderabbitai

coderabbitai Bot commented Sep 9, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: baa0a4f6-0f4b-4fd1-997f-d97e7684dbd0

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Gavel summary

Source Pass Fail Skip Duration
./pr/ui 651 0 0 30.7s
./site 14 0 0 1.2s
./testrunner/ui 65 0 0 614ms
ai 2 0 0 920.761µs
baseline 18 0 0 412.089µs
betterleaks 2 0 0 46ms
bulk 8 0 0 1ms
changegraph 17 0 0 513ms
commit 166 0 0 2.4s
database 8 0 0 269.982µs
entity 7 0 0 3ms
fixtures 85 0 5 668ms
gavel 113 0 0 745ms
git 178 0 4 9.7s
github 16 0 0 887ms
github.com/flanksource/gavel 1 0 0 360ms
github.com/flanksource/gavel/ai 14 0 0 40ms
github.com/flanksource/gavel/ai/aifix 13 0 0 10ms
github.com/flanksource/gavel/ai/prfix 9 0 0 80ms
github.com/flanksource/gavel/claudehistory 16 0 0 -
github.com/flanksource/gavel/cmd/gavel 257 0 0 36.1s
github.com/flanksource/gavel/cmd/gavel/choose 18 0 0 -
github.com/flanksource/gavel/commit 277 0 0 9.4s
github.com/flanksource/gavel/examples/sample-app 2 0 0 -
github.com/flanksource/gavel/fixtures 210 0 0 2.8s
github.com/flanksource/gavel/fixtures/record 112 0 0 60ms
github.com/flanksource/gavel/fixtures/types 30 0 0 150ms
github.com/flanksource/gavel/git 70 0 0 500ms
github.com/flanksource/gavel/github 174 0 2 -
github.com/flanksource/gavel/github/activity 8 0 0 10ms
github.com/flanksource/gavel/github/cache 76 0 6 -
github.com/flanksource/gavel/internal/database 7 0 9 -
github.com/flanksource/gavel/internal/streamtee 6 0 0 -
github.com/flanksource/gavel/internal/ttyrender 16 0 0 -
github.com/flanksource/gavel/lint 51 0 0 330ms
github.com/flanksource/gavel/linters 59 0 0 280ms
github.com/flanksource/gavel/linters/betterleaks 14 0 0 60ms
github.com/flanksource/gavel/linters/golangci 2 0 0 -
github.com/flanksource/gavel/linters/jscpd 23 0 0 -
github.com/flanksource/gavel/linters/oxlint 15 0 0 -
github.com/flanksource/gavel/linters/reactdoctor 18 0 0 -
github.com/flanksource/gavel/linters/tsc 12 0 0 40ms
github.com/flanksource/gavel/pr/ui 334 0 0 4.8s
github.com/flanksource/gavel/procfile 7 0 0 -
github.com/flanksource/gavel/prompts/registry 9 0 0 600ms
github.com/flanksource/gavel/prwatch 114 0 0 -
github.com/flanksource/gavel/report 8 0 0 -
github.com/flanksource/gavel/service 46 0 0 4.5s
github.com/flanksource/gavel/snapshots 23 0 0 640ms
github.com/flanksource/gavel/status 60 0 0 900ms
github.com/flanksource/gavel/testrunner 156 0 0 5.7s
github.com/flanksource/gavel/testrunner/bench 12 0 0 -
github.com/flanksource/gavel/testrunner/history 6 0 0 -
github.com/flanksource/gavel/testrunner/parsers 102 0 0 80ms
github.com/flanksource/gavel/testrunner/runners 76 0 0 280ms
github.com/flanksource/gavel/testrunner/ui 53 0 0 120ms
github.com/flanksource/gavel/todos 69 0 0 20ms
github.com/flanksource/gavel/todos/bulk 9 0 0 -
github.com/flanksource/gavel/todos/entity 6 0 0 -
github.com/flanksource/gavel/todos/labels 70 0 0 -
github.com/flanksource/gavel/todos/native 21 0 12 10ms
github.com/flanksource/gavel/todos/portable 5 0 1 -
github.com/flanksource/gavel/todos/prompt 41 0 0 100ms
github.com/flanksource/gavel/todos/query 19 0 0 -
github.com/flanksource/gavel/todos/runtime 43 0 8 -
github.com/flanksource/gavel/todos/types 129 0 0 -
github.com/flanksource/gavel/todosync 3 0 0 -
github.com/flanksource/gavel/utils 51 0 0 -
github.com/flanksource/gavel/verify 109 0 0 90ms
githubpush 39 0 0 1ms
jsonb 8 0 0 382.025µs
kubernetes 43 0 0 21ms
labels 16 0 0 371.129µs
lifecycle 220 0 0 931ms
native 0 0 1 229.449µs
outline 56 0 0 161ms
parsers 22 0 0 712.053µs
procfile 66 0 0 35.0s
prompt 16 0 0 69ms
prwatch 35 0 0 9ms
registry 11 0 0 18ms
run 26 0 0 29ms
runcache 11 0 0 234ms
runners 4 0 0 1ms
runtime 23 0 27 5.4s
serve 28 0 0 464ms
service 4 0 0 322.827µs
snapshots 2 0 0 1ms
status 2 0 0 52ms
taskhistory 4 0 1 2ms
testrunner 13 0 0 240ms
todos 25 0 0 14ms
types 12 0 0 65ms
ui 232 0 10 55.9s
utils 116 0 0 84ms
verifier 22 0 0 86ms
verify 70 0 0 119ms

Totals: 5567 passed · 0 failed · 86 skipped · 3m35s

View full results

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Gavel summary

Source Pass Fail Skip Duration
(unknown) 0 0 1 -

Totals: 0 passed · 0 failed · 1 skipped · -

View full results

Reorder the pgSniffer and client in MultiWriter to ensure the server's response is decoded before being forwarded to the client. This prevents a race condition where the client can observe and finish processing a reply while the recorder is still mid-decode, causing the connection to close prematurely and lose the captured statement data. By recording first, we guarantee that when the client receives its answer, the capture is already complete.

Claude-Session-Id: 3698db0e-fe0f-48e4-a19d-de9c24fb34f3
Claude-Session-Id: 3698db0e-fe0f-48e4-a19d-de9c24fb34f3
Base automatically changed from feat/todo-prompt-runs to main September 9, 2026 08:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant