Skip to content

Release/v0.3.6#27

Merged
v3g42 merged 22 commits intomainfrom
release/v0.3.6
Mar 19, 2026
Merged

Release/v0.3.6#27
v3g42 merged 22 commits intomainfrom
release/v0.3.6

Conversation

@v3g42
Copy link
Copy Markdown
Contributor

@v3g42 v3g42 commented Mar 19, 2026

No description provided.

v3g42 and others added 22 commits March 19, 2026 03:48
Tests version, config, agents, tools, prompts, skills, run, and help
commands. Skills list skipped (server-side 500), run skipped without
OPENAI_API_KEY in workspace secrets.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…esting

10 items: skills list 500, agent secrets not loading, missing secrets/config
CLI commands, missing get/describe for agents/tools/skills/prompts, and
undocumented workspace-scoped API routing via x-workspace-id header.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Cloud middleware only injects workspace model settings (default model,
provider secrets) when the A2A endpoint receives an agent UUID, not a name.
The CLI now fetches the agent config first to get the cloud UUID, then uses
that for streaming. Fixes `distri run` failing with "OPENAI_API_KEY not
configured" even when secrets and default model are set.

Updated bugs.md with root cause analysis and new missing feature (#3:
providers CLI command for configuring default model).

Integration tests: 14/14 passed, 1 skipped (skills list server bug).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Fix upsert_skill to try create directly when list_skills fails (server
  /skills endpoint returns 500), instead of hard-failing
- Add integration_summary.md with comprehensive test results: all CLI
  commands, 9 working tools, 6 failing tools, agent run tests, push tests
- Update bugs.md with 5 new server-side bugs found: secret injection only
  for system agent, search tool deserialization, container runtime missing,
  browsr_scrape schema mismatch, agent-internal tools in public list

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Use /v1/search instead of /search (migrated API)
- Build payload manually to avoid sending "limit": null (browsr expects
  usize, not Option<usize>)
- Use x-api-key header instead of Bearer for browsr-cloud auth

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Replace manual reqwest calls with BrowsrClient::from_env().search()
- No more duplicated URL/auth logic — all browsr tools use the client
- Switch to path deps for browsr-client/browsr-types (local testing)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Update tool schema and examples to only advertise formats that
browsr-cloud actually accepts: markdown, html, screenshot, structured,
agent. Removes summary, links, rawHtml, json, images, branding.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…sues

Full test matrix covering CLI, config, agents, tools (platform + browsr),
prompts, skills, and agent run. Includes environment setup instructions
and known failure documentation.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- list_skills: handle both {"skills": [...]} (cloud) and [...] (oss) formats
- Move validate_provider_secrets before stream! macro so it runs with
  task-local user/workspace context from middleware (TenantSecretStore needs it)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Single source of truth for skill list types. Both distri-server (OSS)
and distri-cloud use the same SkillsListResponse wrapper format.
OSS server uses workspace_slug="local", full_name="local/{name}".

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Tests cloud format, defaults, and roundtrip serialization.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Tests were using old flat ModelSettings fields that moved into
ModelSettingsInner sub-struct. All 23 distri-types tests now pass.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Delete configuration/plugin_utils.rs (plugins removed)
- Inline is_namespaced_plugin_id/split_namespaced_plugin_id in orchestrator
- Fix ModelSettings tests to use inner struct
- All 17 distri-types tests pass

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
No more plugin system — simplify get_agent and agent_matches_simple_name
to direct name comparison only.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
15/15 integration tests pass, 0 skipped.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Fix BrowsrShellClient to use x-api-key header (not Bearer)
- Destroy session in background tokio::spawn — don't block tool response
- Make BrowsrShellClient Clone for sharing across tasks

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
browsr-shell already wraps with python3/node/bash based on language.
Remove wrap_code_for_execution and shell_escape — just send raw code.
Remove dead tests for removed functions.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
distri_execute_code now passes the user-provided language parameter
to the shell session instead of always auto-detecting. Auto-detection
still used as fallback when language not specified.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@v3g42 v3g42 merged commit 0c7416b into main Mar 19, 2026
@v3g42 v3g42 deleted the release/v0.3.6 branch March 19, 2026 11:07
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