Skip to content

feat: add authenticated caller-tool delegation for git agents - #102

Draft
adityathebe wants to merge 1 commit into
mainfrom
feat/git-agent-caller-tools
Draft

feat: add authenticated caller-tool delegation for git agents#102
adityathebe wants to merge 1 commit into
mainfrom
feat/git-agent-caller-tools

Conversation

@adityathebe

Copy link
Copy Markdown
Member

No description provided.

Issue task-bound caller-tool capabilities from the supervisor and deliver them through the authenticated HTTPS sidecar control channel without placing credentials in Git protocol data.

Restrict discovery and execution to the parent-authorized allowlist, recheck task and agent bindings on every call, and revoke or expire capabilities with secret-free audit events.

Amp-Thread-ID: https://ampcode.com/threads/T-01a03e3c-39ce-714c-b7fe-60010c4f452f
@coderabbitai

coderabbitai Bot commented Aug 26, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

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

Copy link
Copy Markdown

Gavel summary

Source Pass Fail Skip Duration

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

View full results

return err
}
dir := taskStateDir(root, task)
if err := os.MkdirAll(dir, 0o700); err != nil {
}

func removeCallerToolSecret(root, task string) error {
err := os.Remove(callerToolSecretPath(root, task))
@github-actions

Copy link
Copy Markdown

Gavel summary

Source Pass Fail Skip Duration
agentcreds 11 0 0 685.165µs
ai 87 0 0 42ms
aichat 135 0 2 15.9s
anthropicmock 1 0 0 3ms
api 223 0 0 39ms
attachments 5 0 0 3ms
bash 4 0 0 255.656µs
callertools 10 0 0 82ms
captain 17 0 0 10.7s
claude 22 0 0 9ms
claudeagent 13 0 0 204ms
cli 239 0 0 7.1s
cmux 4 0 0 221.583µs
collections 12 0 0 278.42µs
credentials 5 0 0 26ms
credsync 11 0 0 256ms
database 20 0 0 4.9s
deploy 110 0 0 249ms
genkit 25 0 0 61ms
gitagent 122 0 0 15.3s
github.com/flanksource/captain/migrations 11 0 0 3.6s
github.com/flanksource/captain/pkg/ai 250 0 0 890ms
github.com/flanksource/captain/pkg/ai/agent 26 0 0 450ms
github.com/flanksource/captain/pkg/ai/agent/commit 56 0 0 4.0s
github.com/flanksource/captain/pkg/ai/agent/setup 16 0 0 60ms
github.com/flanksource/captain/pkg/ai/agent/verify 21 0 0 390ms
github.com/flanksource/captain/pkg/ai/agent/worktree 6 0 0 -
github.com/flanksource/captain/pkg/ai/assistanttags 15 0 0 -
github.com/flanksource/captain/pkg/ai/fixture 42 0 0 180ms
github.com/flanksource/captain/pkg/ai/fixture/kubeproxy 2 0 0 30ms
github.com/flanksource/captain/pkg/ai/fixture/mcpproxy 6 0 0 -
github.com/flanksource/captain/pkg/ai/history 54 0 0 -
github.com/flanksource/captain/pkg/ai/internal/gen-model-registry 12 0 0 -
github.com/flanksource/captain/pkg/ai/middleware 25 0 0 -
github.com/flanksource/captain/pkg/ai/pricing 9 0 0 -
github.com/flanksource/captain/pkg/ai/prompt 16 0 0 10ms
github.com/flanksource/captain/pkg/ai/provider 169 0 1 20ms
github.com/flanksource/captain/pkg/ai/provider/claudeagent 54 0 0 1.6s
github.com/flanksource/captain/pkg/ai/provider/cmux 128 0 0 880ms
github.com/flanksource/captain/pkg/ai/provider/genkit 36 0 0 -
github.com/flanksource/captain/pkg/ai/provider/jsonrpc 6 0 0 50ms
github.com/flanksource/captain/pkg/aichat 9 0 0 100ms
github.com/flanksource/captain/pkg/aimock 50 0 7 410ms
github.com/flanksource/captain/pkg/aimock/anthropicmock 14 0 0 10ms
github.com/flanksource/captain/pkg/aimock/openaimock 18 0 0 20ms
github.com/flanksource/captain/pkg/api 143 0 0 630ms
github.com/flanksource/captain/pkg/api/registry 96 0 0 -
github.com/flanksource/captain/pkg/bash 348 0 0 30ms
github.com/flanksource/captain/pkg/captainconfig 25 0 0 -
github.com/flanksource/captain/pkg/captaintoken 23 0 0 1.7s
github.com/flanksource/captain/pkg/claude 138 0 0 10ms
github.com/flanksource/captain/pkg/claude/tools 18 0 0 -
github.com/flanksource/captain/pkg/cli 779 0 1 1m7s
github.com/flanksource/captain/pkg/cmux 1 0 0 -
github.com/flanksource/captain/pkg/codexconfig 10 0 0 10ms
github.com/flanksource/captain/pkg/container 72 0 1 10ms
github.com/flanksource/captain/pkg/database 130 0 0 18.8s
github.com/flanksource/captain/pkg/dod 11 0 0 1m0s
github.com/flanksource/captain/pkg/gitagent 31 0 0 340ms
github.com/flanksource/captain/pkg/gitagent/proxy 12 0 0 10ms
github.com/flanksource/captain/pkg/monitor 60 0 0 3.1s
github.com/flanksource/captain/pkg/sandbox 13 0 0 -
github.com/flanksource/captain/pkg/sandbox/adapter 39 0 0 -
github.com/flanksource/captain/pkg/sandbox/presets 13 0 0 -
github.com/flanksource/captain/pkg/session 70 0 0 -
history 69 0 0 15ms
migrations 12 0 0 5.1s
openaimock 2 0 0 141.514µs
provider 12 0 0 15ms
registry 38 0 0 6ms
session 28 0 0 9ms
tools 53 0 0 7ms

Totals: 4373 passed · 0 failed · 12 skipped · 3m44s

View full results

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.

2 participants