Skip to content
Closed
Show file tree
Hide file tree
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 Apr 3, 2026
9662730
fix: use app bot identity for chart bump commits (#3)
thepagent Apr 3, 2026
27e58e6
fix: pull --rebase before push in bump-chart (#4)
thepagent Apr 3, 2026
2b34305
fix: create PR for chart bump instead of direct push (#8)
thepagent Apr 3, 2026
a87fdff
chore: bump chart to 0.1.6 (#9)
openclaw-helm-bot[bot] Apr 3, 2026
8c30288
fix: set working_dir to /home/agent (#10)
thepagent Apr 4, 2026
85ce57f
chore: bump chart to 0.1.7 (#11)
openclaw-helm-bot[bot] Apr 4, 2026
4057078
feat: support AGENTS.md injection via helm values (#13)
neilkuan Apr 4, 2026
3325291
feat: add Codex and Claude Code support via ACP adapters (#20)
thepagent Apr 4, 2026
3159bc3
debug: add logging for thread detection (#22)
thepagent Apr 4, 2026
a8a3340
fix: disambiguate CI artifact names to prevent cross-variant digest c…
thepagent Apr 4, 2026
e195461
chore: bump chart to 0.1.10 (#24)
openclaw-helm-bot[bot] Apr 4, 2026
3b935e4
feat: add agent.preset for simplified install UX (#28)
thepagent Apr 4, 2026
3555249
docs: update README with preset install and tested backends (#30)
thepagent Apr 4, 2026
0774525
chore: bump chart to 0.1.11 (#29)
openclaw-helm-bot[bot] Apr 4, 2026
4c6f79c
chore: bump chart to 0.1.12 (#31)
openclaw-helm-bot[bot] Apr 4, 2026
ffe7e57
chore: bump chart to 0.2.0 (#32)
thepagent Apr 4, 2026
96e3de7
ci: default to beta chart versions, stable via workflow_dispatch (#33)
thepagent Apr 4, 2026
26b1cda
feat: add Gemini CLI support (native ACP) (#34)
thepagent Apr 4, 2026
f4af0c0
chore: bump chart to 0.2.1-beta.22 (#35)
openclaw-helm-bot[bot] Apr 4, 2026
391dd9e
chore: bump chart to 0.3.0 (#37)
thepagent Apr 4, 2026
40bafe7
feat: structured sender identity injection (#62)
thepagent Apr 6, 2026
62640ac
fix: detect and prevent Helm float64 mangling of Discord channel IDs …
thepagent Apr 6, 2026
52228cc
chore: bump chart to 0.3.1-beta.1 (#65)
thepagent Apr 6, 2026
ee2aa99
fix: CI appVersion mismatch + Helm OCI namespace collision (#67)
thepagent Apr 6, 2026
f0a2d0e
fix: use PR + auto-merge for chart bump (branch protection) (#68)
thepagent Apr 6, 2026
1abb0fa
chore: bump chart to 0.3.2-beta.25 (#69)
openclaw-helm-bot[bot] Apr 6, 2026
3865d98
docs: use --set-string for Discord channel IDs in README (#70)
thepagent Apr 6, 2026
d379446
chore: bump chart to 0.3.3 (#71)
openclaw-helm-bot[bot] Apr 6, 2026
5b98a40
chore: add CODEOWNERS file (#89)
thepagent Apr 6, 2026
cd65c3b
chore: rename agent-broker → OpenAB (Open Agent Broker) (#96)
chaodu-agent Apr 7, 2026
1a19348
chore: update workflow files for agent-broker → openab rename (#98)
thepagent Apr 7, 2026
b672373
chore: bump chart to 0.3.4-beta.28 (#101)
openab-app[bot] Apr 7, 2026
9ef6d9e
chore: update bot identity to openab-app[bot] (#102)
thepagent Apr 7, 2026
18fe4cb
fix: harden Dockerfiles with non-root user, HEALTHCHECK, and security…
thepagent Apr 7, 2026
114e41b
chore: bump chart to 0.3.5-beta.29 (#110)
openab-app[bot] Apr 7, 2026
cdf0c45
chore: bump chart to 0.4.0-beta.30 (#112)
openab-app[bot] Apr 7, 2026
e9729e7
chore: bump chart to 0.5.0 (#113)
openab-app[bot] Apr 7, 2026
b500bf6
fix: correct default tracing filter to match crate name (#115)
neilkuan Apr 7, 2026
8446e02
chore: bump chart to 0.5.1 (#119)
openab-app[bot] Apr 7, 2026
e9db246
fix: drop --auto from chart bump PR merge (#122)
thepagent Apr 7, 2026
bb658ad
docs: add Helm chart publishing guide (#124)
thepagent Apr 7, 2026
9b22fa2
feat: add workflow to label new issues with needs-triage (#131)
chaodu-agent Apr 7, 2026
d241420
docs: add issue triage guide for community transparency (#132)
chaodu-agent Apr 7, 2026
944de4c
feat: agents map multi-agent Helm chart (#54)
thepagent Apr 8, 2026
7b89676
docs: update README for 0.6.0 agents map chart (#144)
neilkuan Apr 8, 2026
1a94479
fix(helm): per-agent image as string, fallback to appVersion, persist…
neilkuan Apr 8, 2026
aa5245e
chore: bump chart to 0.6.1-beta.1 (#150)
thepagent Apr 8, 2026
582a081
docs: add Discord community invite link to README
ShaunTsai Apr 9, 2026
c5e03dc
feat: add allowed_users config for per-user access control (#108)
masami-agent Apr 9, 2026
034fc95
docs: add gh auth device flow guide for agent environments (#174)
chaodu-agent Apr 10, 2026
b212ec0
feat: capture and display ACP error responses in Discord (#170)
the3mi Apr 10, 2026
c3c1607
chore: bump chart to 0.6.2-beta.37 (#187)
openab-app[bot] Apr 10, 2026
1f77621
feat: support Discord image attachments via ACP ImageContent blocks (…
the3mi Apr 11, 2026
f8634e1
fix: remove trailing comma in TOML inline table (#196)
JARVIS-coding-Agent Apr 11, 2026
7947315
refactor: remove duplicate LazyLock import in src/discord.rs (#198)
clsung Apr 11, 2026
16c49f3
chore: bump chart to 0.6.3-beta.39 (#199)
openab-app[bot] Apr 11, 2026
6bde354
ci: tag-driven release with native GitHub workflows (#154)
neilkuan Apr 11, 2026
cf500bd
fix: align Cargo.toml version to 0.6.3 (#204)
thepagent Apr 11, 2026
156422d
release: v0.6.4-beta.1 (#205)
openab-app[bot] Apr 11, 2026
0d86071
fix: keep Cargo.toml at stable version, read version from Chart.yaml …
thepagent Apr 11, 2026
6cba78b
release: v0.6.4 (#207)
openab-app[bot] Apr 11, 2026
b15e7eb
docs: replace hardcoded image SHA with :latest in README (#208)
chaodu-agent Apr 11, 2026
e75276d
feat: resize and compress images before base64 encoding (#210)
chaodu-agent Apr 11, 2026
fb063b7
release: v0.6.5-beta.1 (#211)
openab-app[bot] Apr 11, 2026
a46c124
release: v0.6.5 (#221)
openab-app[bot] Apr 11, 2026
ab469d8
fix: dedupe tool call display by toolCallId and sanitize titles (#138)
marvin-69-jpg Apr 11, 2026
11ca8d6
fix: prevent Discord message fragmentation during streaming (fixes #8…
Apr 11, 2026
4e7562f
release: v0.6.6-beta.1 (#222)
openab-app[bot] Apr 11, 2026
ca6ad26
release: v0.6.6 (#223)
openab-app[bot] Apr 11, 2026
a0fe11f
feat: support voice message STT (Speech-to-Text) for Discord (#225)
chaodu-agent Apr 11, 2026
cd5a210
release: v0.6.7-beta.1 (#226)
openab-app[bot] Apr 11, 2026
edd54f0
helm: add first-class STT config to chart (#228)
chaodu-agent Apr 11, 2026
c62bfdf
release: v0.6.8-beta.1 (#229)
openab-app[bot] Apr 11, 2026
d1755f1
release: v0.7.0 (#230)
openab-app[bot] Apr 11, 2026
54a4324
release: v0.7.0-beta.1 (#231)
openab-app[bot] Apr 11, 2026
b0d9bdd
fix: remove hardcoded image.tag to use Chart.AppVersion (#239)
JARVIS-coding-Agent Apr 12, 2026
70adc83
release: v0.7.1-beta.1 (#248)
openab-app[bot] Apr 12, 2026
7b60b38
release: v0.7.1 (#249)
openab-app[bot] Apr 12, 2026
0901033
chore: add Copilot code review instructions
isxreese Apr 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .github/CODEOWNERS
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
22 changes: 22 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.yml
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
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: false
16 changes: 16 additions & 0 deletions .github/ISSUE_TEMPLATE/feature.yml
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
10 changes: 10 additions & 0 deletions .github/ISSUE_TEMPLATE/guidance.yml
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
67 changes: 67 additions & 0 deletions .github/copilot-instructions.md
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)
Comment on lines +1 to +16
Copy link

Copilot AI Apr 12, 2026

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.

Copilot uses AI. Check for mistakes.

## 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)
Loading
Loading