-
Notifications
You must be signed in to change notification settings - Fork 84
chore: add Copilot code review instructions #262
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Changes from all commits
Commits
Show all changes
80 commits
Select commit
Hold shift + click to select a range
5e51940
perf: cache deps layer + drop arm64 QEMU build (#2)
thepagent 9662730
fix: use app bot identity for chart bump commits (#3)
thepagent 27e58e6
fix: pull --rebase before push in bump-chart (#4)
thepagent 2b34305
fix: create PR for chart bump instead of direct push (#8)
thepagent a87fdff
chore: bump chart to 0.1.6 (#9)
openclaw-helm-bot[bot] 8c30288
fix: set working_dir to /home/agent (#10)
thepagent 85ce57f
chore: bump chart to 0.1.7 (#11)
openclaw-helm-bot[bot] 4057078
feat: support AGENTS.md injection via helm values (#13)
neilkuan 3325291
feat: add Codex and Claude Code support via ACP adapters (#20)
thepagent 3159bc3
debug: add logging for thread detection (#22)
thepagent a8a3340
fix: disambiguate CI artifact names to prevent cross-variant digest c…
thepagent e195461
chore: bump chart to 0.1.10 (#24)
openclaw-helm-bot[bot] 3b935e4
feat: add agent.preset for simplified install UX (#28)
thepagent 3555249
docs: update README with preset install and tested backends (#30)
thepagent 0774525
chore: bump chart to 0.1.11 (#29)
openclaw-helm-bot[bot] 4c6f79c
chore: bump chart to 0.1.12 (#31)
openclaw-helm-bot[bot] ffe7e57
chore: bump chart to 0.2.0 (#32)
thepagent 96e3de7
ci: default to beta chart versions, stable via workflow_dispatch (#33)
thepagent 26b1cda
feat: add Gemini CLI support (native ACP) (#34)
thepagent f4af0c0
chore: bump chart to 0.2.1-beta.22 (#35)
openclaw-helm-bot[bot] 391dd9e
chore: bump chart to 0.3.0 (#37)
thepagent 40bafe7
feat: structured sender identity injection (#62)
thepagent 62640ac
fix: detect and prevent Helm float64 mangling of Discord channel IDs …
thepagent 52228cc
chore: bump chart to 0.3.1-beta.1 (#65)
thepagent ee2aa99
fix: CI appVersion mismatch + Helm OCI namespace collision (#67)
thepagent f0a2d0e
fix: use PR + auto-merge for chart bump (branch protection) (#68)
thepagent 1abb0fa
chore: bump chart to 0.3.2-beta.25 (#69)
openclaw-helm-bot[bot] 3865d98
docs: use --set-string for Discord channel IDs in README (#70)
thepagent d379446
chore: bump chart to 0.3.3 (#71)
openclaw-helm-bot[bot] 5b98a40
chore: add CODEOWNERS file (#89)
thepagent cd65c3b
chore: rename agent-broker → OpenAB (Open Agent Broker) (#96)
chaodu-agent 1a19348
chore: update workflow files for agent-broker → openab rename (#98)
thepagent b672373
chore: bump chart to 0.3.4-beta.28 (#101)
openab-app[bot] 9ef6d9e
chore: update bot identity to openab-app[bot] (#102)
thepagent 18fe4cb
fix: harden Dockerfiles with non-root user, HEALTHCHECK, and security…
thepagent 114e41b
chore: bump chart to 0.3.5-beta.29 (#110)
openab-app[bot] cdf0c45
chore: bump chart to 0.4.0-beta.30 (#112)
openab-app[bot] e9729e7
chore: bump chart to 0.5.0 (#113)
openab-app[bot] b500bf6
fix: correct default tracing filter to match crate name (#115)
neilkuan 8446e02
chore: bump chart to 0.5.1 (#119)
openab-app[bot] e9db246
fix: drop --auto from chart bump PR merge (#122)
thepagent bb658ad
docs: add Helm chart publishing guide (#124)
thepagent 9b22fa2
feat: add workflow to label new issues with needs-triage (#131)
chaodu-agent d241420
docs: add issue triage guide for community transparency (#132)
chaodu-agent 944de4c
feat: agents map multi-agent Helm chart (#54)
thepagent 7b89676
docs: update README for 0.6.0 agents map chart (#144)
neilkuan 1a94479
fix(helm): per-agent image as string, fallback to appVersion, persist…
neilkuan aa5245e
chore: bump chart to 0.6.1-beta.1 (#150)
thepagent 582a081
docs: add Discord community invite link to README
ShaunTsai c5e03dc
feat: add allowed_users config for per-user access control (#108)
masami-agent 034fc95
docs: add gh auth device flow guide for agent environments (#174)
chaodu-agent b212ec0
feat: capture and display ACP error responses in Discord (#170)
the3mi c3c1607
chore: bump chart to 0.6.2-beta.37 (#187)
openab-app[bot] 1f77621
feat: support Discord image attachments via ACP ImageContent blocks (…
the3mi f8634e1
fix: remove trailing comma in TOML inline table (#196)
JARVIS-coding-Agent 7947315
refactor: remove duplicate LazyLock import in src/discord.rs (#198)
clsung 16c49f3
chore: bump chart to 0.6.3-beta.39 (#199)
openab-app[bot] 6bde354
ci: tag-driven release with native GitHub workflows (#154)
neilkuan cf500bd
fix: align Cargo.toml version to 0.6.3 (#204)
thepagent 156422d
release: v0.6.4-beta.1 (#205)
openab-app[bot] 0d86071
fix: keep Cargo.toml at stable version, read version from Chart.yaml …
thepagent 6cba78b
release: v0.6.4 (#207)
openab-app[bot] b15e7eb
docs: replace hardcoded image SHA with :latest in README (#208)
chaodu-agent e75276d
feat: resize and compress images before base64 encoding (#210)
chaodu-agent fb063b7
release: v0.6.5-beta.1 (#211)
openab-app[bot] a46c124
release: v0.6.5 (#221)
openab-app[bot] ab469d8
fix: dedupe tool call display by toolCallId and sanitize titles (#138)
marvin-69-jpg 11ca8d6
fix: prevent Discord message fragmentation during streaming (fixes #8…
4e7562f
release: v0.6.6-beta.1 (#222)
openab-app[bot] ca6ad26
release: v0.6.6 (#223)
openab-app[bot] a0fe11f
feat: support voice message STT (Speech-to-Text) for Discord (#225)
chaodu-agent cd5a210
release: v0.6.7-beta.1 (#226)
openab-app[bot] edd54f0
helm: add first-class STT config to chart (#228)
chaodu-agent c62bfdf
release: v0.6.8-beta.1 (#229)
openab-app[bot] d1755f1
release: v0.7.0 (#230)
openab-app[bot] 54a4324
release: v0.7.0-beta.1 (#231)
openab-app[bot] b0d9bdd
fix: remove hardcoded image.tag to use Chart.AppVersion (#239)
JARVIS-coding-Agent 70adc83
release: v0.7.1-beta.1 (#248)
openab-app[bot] 7b60b38
release: v0.7.1 (#249)
openab-app[bot] 0901033
chore: add Copilot code review instructions
isxreese File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| # Default code owner for all files | ||
| * @thepagent | ||
|
|
||
| # Explicitly protect the CODEOWNERS file itself. While the wildcard above | ||
| # already covers it, this ensures ownership is preserved even if more | ||
| # specific patterns are added later (CODEOWNERS uses last-match-wins). | ||
| /.github/CODEOWNERS @thepagent |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| name: Bug Report | ||
| description: Report a bug | ||
| labels: [bug, needs-triage] | ||
| body: | ||
| - type: textarea | ||
| attributes: | ||
| label: Description | ||
| description: What happened? | ||
| validations: | ||
| required: true | ||
| - type: textarea | ||
| attributes: | ||
| label: Steps to Reproduce | ||
| description: How can we reproduce this? | ||
| validations: | ||
| required: true | ||
| - type: textarea | ||
| attributes: | ||
| label: Expected Behavior | ||
| description: What did you expect to happen? | ||
| validations: | ||
| required: true |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| blank_issues_enabled: false |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| name: Feature Request | ||
| description: Suggest a new feature | ||
| labels: [feature, needs-triage] | ||
| body: | ||
| - type: textarea | ||
| attributes: | ||
| label: Description | ||
| description: What feature would you like? | ||
| validations: | ||
| required: true | ||
| - type: textarea | ||
| attributes: | ||
| label: Use Case | ||
| description: Why do you need this? | ||
| validations: | ||
| required: true |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| name: Guidance | ||
| description: Ask a question or request guidance | ||
| labels: [guidance, needs-triage] | ||
| body: | ||
| - type: textarea | ||
| attributes: | ||
| label: Question | ||
| description: What do you need help with? | ||
| validations: | ||
| required: true |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,67 @@ | ||
| # GitHub Copilot Code Review Instructions | ||
|
|
||
| ## Review Philosophy | ||
| - Only comment when you have HIGH CONFIDENCE (>80%) that an issue exists | ||
| - Be concise: one sentence per comment when possible | ||
| - Focus on actionable feedback, not observations | ||
| - Silence is preferred over noisy false positives | ||
|
|
||
| ## Project Context | ||
| - **OpenAB**: A lightweight ACP (Agent Client Protocol) harness bridging Discord ↔ any ACP-compatible coding CLI over stdio JSON-RPC | ||
| - **Language**: Rust 2021 edition, single binary | ||
| - **Async runtime**: tokio (full features) | ||
| - **Discord**: serenity 0.12 (gateway + cache) | ||
| - **Error handling**: `anyhow::Result` everywhere, no `unwrap()` in production paths | ||
| - **Serialization**: serde + serde_json for ACP JSON-RPC, toml for config | ||
| - **Key modules**: `acp/connection.rs` (ACP stdio bridge), `acp/pool.rs` (session pool), `discord.rs` (Discord event handler), `config.rs` (TOML config), `usage.rs` (pluggable quota runners), `reactions.rs` (emoji reactions), `stt.rs` (speech-to-text) | ||
|
|
||
| ## Priority Areas (Review These) | ||
|
|
||
| ### Correctness | ||
| - Logic errors that could cause panics or incorrect behavior | ||
| - ACP JSON-RPC protocol violations (wrong method names, missing fields, incorrect response routing) | ||
| - Race conditions in async code (especially in the reader loop and session pool) | ||
| - Resource leaks (child processes not killed, channels not closed) | ||
| - Off-by-one in timeout calculations | ||
| - Incorrect error propagation — `unwrap()` in non-test code is always a bug | ||
|
|
||
| ### Concurrency & Safety | ||
| - Multiple atomic fields updated independently — document if readers may see mixed snapshots | ||
| - `Mutex` held across `.await` points (potential deadlock) | ||
| - Session pool lock scope — `RwLock` held during I/O can stall all sessions | ||
| - Child process lifecycle — `kill_on_drop` must be set, zombie processes must not accumulate | ||
|
|
||
| ### ACP Protocol | ||
| - `session/request_permission` must always get a response (auto-allow or forwarded) | ||
| - `session/update` notifications must not be consumed — forward to subscriber after capture | ||
| - `usage_update`, `available_commands_update`, `tool_call`, `agent_message_chunk` must be classified correctly | ||
| - Timeout values: initialize=90s, session/new=120s, others=30s (Gemini cold-start is slow) | ||
|
|
||
| ### Discord API | ||
| - Messages >2000 chars will be rejected — truncate or split | ||
| - Slash command registration is per-guild, max 100 per bot | ||
| - Autocomplete responses must return within 3s (no heavy I/O) | ||
| - Ephemeral messages for errors, regular messages for results | ||
|
|
||
| ### Config & Deployment | ||
| - `config.toml` fields must have sensible defaults — missing `[usage]` section should not crash | ||
| - Environment variable expansion via `${VAR}` must handle missing vars gracefully | ||
| - Agent `env` map is passed to child processes — sensitive values should not be logged | ||
|
|
||
| ## CI Pipeline (Do Not Flag These) | ||
| - `cargo fmt --check` — formatting is enforced by CI | ||
| - `cargo clippy --all-targets -- -D warnings` — lint warnings are enforced by CI | ||
| - `cargo test` — test failures are caught by CI | ||
|
|
||
| ## Skip These (Low Value) | ||
| - Style/formatting — CI handles via rustfmt | ||
| - Clippy warnings — CI handles | ||
| - Minor naming suggestions unless truly confusing | ||
| - Suggestions to add comments for self-documenting code | ||
| - Logging level suggestions unless security-relevant | ||
| - Import ordering | ||
|
|
||
| ## Response Format | ||
| 1. State the problem (1 sentence) | ||
| 2. Why it matters (1 sentence, only if not obvious) | ||
| 3. Suggested fix (code snippet or specific action) | ||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The PR title/description say this change only adds
.github/copilot-instructions.md, but this PR also includes a project rename (agent-broker → openab), new STT/image handling, Helm chart rewrites, and CI/release pipeline changes. Please update the PR description (or split into focused PRs) so reviewers understand the full scope and risk.