Skip to content

Commit 0332ddc

Browse files
Merge remote-tracking branch 'origin/main' into summon_extension
* origin/main: (55 commits) test(mcp): add image tool test and consolidate MCP test fixtures (#7019) fix: remove Option from model listing return types, propagate errors (#7074) fix: lazy provider creation for goose acp (#7026) (#7066) Smoke tests: split compaction test and use debug build (#6984) fix(deps): trim bat to resolve RUSTSEC-2024-0320 (#7061) feat: expose AGENT_SESSION_ID env var to extension child processes (#7072) fix: add XML tool call parsing fallback for Qwen3-coder via Ollama (#6882) Remove clippy too_many_lines lint and decompose long functions (#7064) refactor: move disable_session_naming into AgentConfig (#7062) Add global config switch to disable automatic session naming (#7052) docs: add blog post - 8 Things You Didn't Know About Code Mode (#7059) fix: ensure animated elements are visible when prefers-reduced-motion is enabled (#7047) Show recommended model on failture (#7040) feat(ui): add session content search via API (#7050) docs: fix img url (#7053) Desktop UI for deleting custom providers (#7042) Add blog post: How I Used RPI to Build an OpenClaw Alternative (#7051) Remove build-dependencies section from Cargo.toml (#6946) add /rp-why skill blog post (#6997) fix: fix snake_case function names in code_execution instructions (#7035) ... # Conflicts: # scripts/test_subrecipes.sh
2 parents dc6efcb + 1371f5d commit 0332ddc

File tree

239 files changed

+6426
-4807
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

239 files changed

+6426
-4807
lines changed

.github/copilot-instructions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
**Rust checks:**
5757
- `cargo fmt --check` - Code formatting (rustfmt)
5858
- `cargo test --jobs 2` - All tests
59-
- `./scripts/clippy-lint.sh` - Linting (clippy)
59+
- `cargo clippy --all-targets -- -D warnings` - Linting (clippy)
6060
- `just check-openapi-schema` - OpenAPI schema validation
6161

6262
**Desktop app checks:**
@@ -76,7 +76,7 @@
7676

7777
Do not comment on:
7878
- **Style/formatting** - CI handles this (rustfmt, prettier)
79-
- **Clippy warnings** - CI handles this (clippy-lint.sh)
79+
- **Clippy warnings** - CI handles this (clippy)
8080
- **Test failures** - CI handles this (full test suite)
8181
- **Missing dependencies** - CI handles this (npm ci will fail)
8282
- **Minor naming suggestions** - unless truly confusing

.github/workflows/cargo-audit.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: "Cargo Audit"
2+
on:
3+
push:
4+
paths:
5+
# Run if workflow changes
6+
- '.github/workflows/cargo-audit.yml'
7+
# Run on changed dependencies
8+
- '**/Cargo.toml'
9+
- '**/Cargo.lock'
10+
# Run if the configuration file changes
11+
- '**/audit.toml'
12+
# Rerun periodically to pick up new advisories
13+
schedule:
14+
- cron: '0 0 * * *'
15+
# Run manually
16+
workflow_dispatch:
17+
18+
jobs:
19+
audit:
20+
runs-on: ubuntu-latest
21+
permissions:
22+
contents: read
23+
issues: write
24+
steps:
25+
- uses: actions/checkout@v4
26+
# https://github.com/marketplace/actions/cargo-audit-your-rust-dependencies
27+
- uses: actions-rust-lang/audit@72c09e02f132669d52284a3323acdb503cfc1a24
28+
name: Audit Rust Dependencies
29+
with:
30+
# sqlx-mysql pulls in rsa, but goose only uses sqlite. cargo-audit
31+
# can't distinguish used from unused deps (rustsec/rustsec#1119).
32+
ignore: RUSTSEC-2023-0071

.github/workflows/ci.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,10 @@ jobs:
9595
# play nicely with hermit-managed rust
9696
hermit uninstall rustup
9797
export CARGO_INCREMENTAL=0
98-
./scripts/clippy-lint.sh
98+
cargo clippy --all-targets -- -D warnings
99+
100+
- name: Check for banned TLS crates
101+
run: ./scripts/check-no-native-tls.sh
99102

100103
openapi-schema-check:
101104
name: Check OpenAPI Schema is Up-to-Date

.github/workflows/goose-issue-solver.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ env:
9595
- [ ] cargo check
9696
- [ ] cargo test (affected crates)
9797
- [ ] cargo fmt
98-
- [ ] ./scripts/clippy-lint.sh
98+
- [ ] cargo clippy --all-targets -- -D warnings
9999
- [ ] Fix failures, retry up to 3 times
100100
101101
## Phase 6: Confirm (MANDATORY)

.github/workflows/pr-smoke-test.yml

Lines changed: 48 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ jobs:
4545
- '!documentation/**'
4646
4747
build-binary:
48-
name: Build Release Binary
48+
name: Build Binary
4949
runs-on: ubuntu-latest
5050
needs: changes
5151
if: needs.changes.outputs.code == 'true' || github.event_name == 'workflow_dispatch'
@@ -65,15 +65,15 @@ jobs:
6565
- name: Cache Rust dependencies
6666
uses: Swatinem/rust-cache@v2
6767

68-
- name: Build Release Binary for Smoke Tests
68+
- name: Build Binary for Smoke Tests
6969
run: |
70-
cargo build --release
70+
cargo build --bin goose
7171
7272
- name: Upload Binary for Smoke Tests
7373
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
7474
with:
7575
name: goose-binary
76-
path: target/release/goose
76+
path: target/debug/goose
7777
retention-days: 1
7878

7979
smoke-tests:
@@ -90,10 +90,10 @@ jobs:
9090
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
9191
with:
9292
name: goose-binary
93-
path: target/release
93+
path: target/debug
9494

9595
- name: Make Binary Executable
96-
run: chmod +x target/release/goose
96+
run: chmod +x target/debug/goose
9797

9898
- name: Run Smoke Tests with Provider Script
9999
env:
@@ -152,17 +152,6 @@ jobs:
152152
run: |
153153
bash scripts/test_subrecipes.sh
154154
155-
- name: Run Compaction Tests
156-
env:
157-
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
158-
GOOSE_PROVIDER: anthropic
159-
GOOSE_MODEL: claude-sonnet-4-5-20250929
160-
HOME: /tmp/goose-home
161-
GOOSE_DISABLE_KEYRING: 1
162-
SKIP_BUILD: 1
163-
run: |
164-
bash scripts/test_compaction.sh
165-
166155
smoke-tests-code-exec:
167156
name: Smoke Tests (Code Execution)
168157
runs-on: ubuntu-latest
@@ -177,10 +166,10 @@ jobs:
177166
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
178167
with:
179168
name: goose-binary
180-
path: target/release
169+
path: target/debug
181170

182171
- name: Make Binary Executable
183-
run: chmod +x target/release/goose
172+
run: chmod +x target/debug/goose
184173

185174
- name: Run Provider Tests (Code Execution Mode)
186175
env:
@@ -200,3 +189,43 @@ jobs:
200189
mkdir -p $HOME/.local/share/goose/sessions
201190
mkdir -p $HOME/.config/goose
202191
bash scripts/test_providers.sh --code-exec
192+
193+
compaction-tests:
194+
name: Compaction Tests
195+
runs-on: ubuntu-latest
196+
needs: build-binary
197+
steps:
198+
- name: Checkout Code
199+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
200+
with:
201+
ref: ${{ github.event.inputs.branch || github.ref }}
202+
203+
- name: Download Binary
204+
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
205+
with:
206+
name: goose-binary
207+
path: target/debug
208+
209+
- name: Make Binary Executable
210+
run: chmod +x target/debug/goose
211+
212+
- name: Set up Python
213+
uses: actions/setup-python@v5
214+
with:
215+
python-version: '3.12'
216+
217+
- name: Install uv
218+
uses: astral-sh/setup-uv@61cb8a9741eeb8a550a1b8544337180c0fc8476b # v7.2.0
219+
220+
- name: Run Compaction Tests
221+
env:
222+
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
223+
GOOSE_PROVIDER: anthropic
224+
GOOSE_MODEL: claude-sonnet-4-5-20250929
225+
HOME: /tmp/goose-home
226+
GOOSE_DISABLE_KEYRING: 1
227+
SKIP_BUILD: 1
228+
run: |
229+
mkdir -p $HOME/.local/share/goose/sessions
230+
mkdir -p $HOME/.config/goose
231+
bash scripts/test_compaction.sh

AGENTS.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,7 @@ just record-mcp-tests # record MCP
2828
### Lint/Format
2929
```bash
3030
cargo fmt
31-
./scripts/clippy-lint.sh
32-
cargo clippy --fix
31+
cargo clippy --all-targets -- -D warnings
3332
```
3433

3534
### UI
@@ -63,7 +62,7 @@ ui/desktop/ # Electron app
6362
# 3. cargo fmt
6463
# 4. cargo build
6564
# 5. cargo test -p <crate>
66-
# 6. ./scripts/clippy-lint.sh
65+
# 6. cargo clippy --all-targets -- -D warnings
6766
# 7. [if server] just generate-openapi
6867
```
6968

@@ -92,7 +91,7 @@ Logging: Clean up existing logs, don't add more unless for errors or security ev
9291
Never: Edit ui/desktop/openapi.json manually
9392
Never: Edit Cargo.toml use cargo add
9493
Never: Skip cargo fmt
95-
Never: Merge without ./scripts/clippy-lint.sh
94+
Never: Merge without running clippy
9695
Never: Comment self-evident operations (`// Initialize`, `// Return result`), getters/setters, constructors, or standard Rust idioms
9796

9897
## Entry Points

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ When making changes to the Rust code, test them on the CLI or run checks, tests,
103103
cargo check # verify changes compile
104104
cargo test # run tests with changes
105105
cargo fmt # format code
106-
./scripts/clippy-lint.sh # run the linter
106+
cargo clippy --all-targets -- -D warnings # run the linter
107107
```
108108

109109
### Node

0 commit comments

Comments
 (0)