Conversation
|
Claude finished @bao-byterover's task in 3m 2s —— View job PR Review: Release/3.4.0Tasks:
Overall Assessment: 5/5This is a clean, correctly-scoped release-prep PR. All 3 commits are metadata-only (version bump, CHANGELOG, architecture docs) — the feature work is already merged to Summary by File
Security NoteThe axios pin to All inline comments are non-blocking suggestions. This PR is ready to merge. |
| ## [3.4.0] | ||
|
|
||
| ### Added | ||
| - **`brv swarm` — unified memory swarm** — Connect multiple memory providers (ByteRover context tree, Obsidian vaults, local markdown folders, GBrain, OpenClaw Memory Wiki) into a single query and storage layer. `brv swarm onboard` walks through an interactive setup wizard; `brv swarm status` shows provider health, write targets, and enrichment topology. `brv swarm query <question>` runs intelligent routing, parallel provider execution, and Reciprocal Rank Fusion merging — add `--explain` for classification reasoning and provider selection details. `brv swarm curate <content>` stores to the best writable provider based on content classification (`--provider` to override), falling back to ByteRover context-tree curation when no external target is available. Control how providers feed context to each other via `enrichment.edges` in `swarm.config.yaml` — the engine validates cycles, self-edges, and missing providers, and disabled-provider edges produce warnings instead of errors so partial setups degrade gracefully. The agent also gains `swarm_query` and `swarm_store` tools, and sandboxed code can call `tools.swarmQuery()` / `tools.swarmStore()`. |
There was a problem hiding this comment.
suggestion (readability): The brv swarm Added bullet is a dense single-paragraph covering 7+ distinct user-facing features (onboard, status, query with --explain, curate with fallback, enrichment topology, agent tools, sandbox SDK). Consider splitting into sub-bullets per sub-command so readers can scan what's relevant to them. Even just:
- **`brv swarm` — unified memory swarm**
- `brv swarm onboard` — interactive wizard to configure providers (ByteRover, Obsidian, GBrain, local-markdown, Memory Wiki)
- `brv swarm status` — pre-flight health check and topology view
- `brv swarm query <question>` — RRF-fused parallel search; `--explain` shows routing reasoning
- `brv swarm curate <content>` — routes writes to best provider; `--provider` to override; falls back to ByteRover context-tree
- Enrichment topology via `enrichment.edges` in `swarm.config.yaml` — validates cycles, self-edges, and disabled providers
- Agent tools: `swarm_query` / `swarm_store`; sandbox SDK: `tools.swarmQuery()` / `tools.swarmStore()`|
|
||
| ### Added | ||
| - **`brv swarm` — unified memory swarm** — Connect multiple memory providers (ByteRover context tree, Obsidian vaults, local markdown folders, GBrain, OpenClaw Memory Wiki) into a single query and storage layer. `brv swarm onboard` walks through an interactive setup wizard; `brv swarm status` shows provider health, write targets, and enrichment topology. `brv swarm query <question>` runs intelligent routing, parallel provider execution, and Reciprocal Rank Fusion merging — add `--explain` for classification reasoning and provider selection details. `brv swarm curate <content>` stores to the best writable provider based on content classification (`--provider` to override), falling back to ByteRover context-tree curation when no external target is available. Control how providers feed context to each other via `enrichment.edges` in `swarm.config.yaml` — the engine validates cycles, self-edges, and missing providers, and disabled-provider edges produce warnings instead of errors so partial setups degrade gracefully. The agent also gains `swarm_query` and `swarm_store` tools, and sandboxed code can call `tools.swarmQuery()` / `tools.swarmStore()`. | ||
| - **GPT-5.4 Mini support** — Added `gpt-5.4-mini` to the Codex allowed models list. |
There was a problem hiding this comment.
nit (model name consistency): CHANGELOG says GPT-5.4 Mini but the identifier users will encounter in config/docs is gpt-5.4-mini. Recommend matching the literal model string:
| - **GPT-5.4 Mini support** — Added `gpt-5.4-mini` to the Codex allowed models list. | |
| - **`gpt-5.4-mini` support** — Added `gpt-5.4-mini` to the Codex allowed models list. |
| ### Fixed | ||
| - **Context-tree `.gitignore` auto-sync** — The context-tree `.gitignore` now stays up to date automatically. When any `brv vc` command runs, missing patterns are appended to the existing file instead of only being written on first init. This prevents derived artifacts from polluting `brv vc` diffs after CLI updates. | ||
| - **Stale knowledge locations** — Knowledge entries whose source files were deleted are now cleaned up, preventing dead references in search and query results. | ||
| - **Security dependency update** — Pinned axios to 1.15.0 to address a critical vulnerability. |
There was a problem hiding this comment.
nit (missing fix entry): ENG-2078 (tightened PR auto-review author associations / missing-field tolerance for confidence/impact fields) is documented in the PR as a bug fix with a root cause, but it doesn't appear in this Fixed section. If the crash fix is user-visible (review commands no longer fail silently), it warrants a one-liner here even if the change is small.
| - Tool categories: file ops (read/write/glob/grep), knowledge (create/expand/search), memory (read/write/edit/delete/list), curate, code exec, map | ||
| - Tool categories: file ops (read/write/edit/glob/grep/list-dir), bash (exec/output), knowledge (create/expand/search), memory (read/write/edit/delete/list), swarm (query/store), todos (read/write), curate, code exec, batch, detect domains, kill process, search history | ||
| - LLM: 18 providers in `infra/llm/providers/`; 6 compression strategies in `infra/llm/context/compression/` | ||
| - System prompts: contributor pattern (XML sections) in `infra/system-prompt/` |
There was a problem hiding this comment.
nit (maintainability): The tool categories line has grown to 14+ comma-separated items in a single run: file ops (read/write/edit/glob/grep/list-dir), bash (exec/output), knowledge (...), memory (...), swarm (query/store), todos, curate, code exec, batch, detect domains, kill process, search history. Hard to scan and prone to drift. A short bullet list or table would be easier to maintain as the tool set grows — not a blocker for this release.
Summary
main, but there is no tagged release yet —package.jsonstill reports3.3.0,CHANGELOG.mdhas no[3.4.0]entry, andCLAUDE.mdarchitecture docs do not mention the newswarmmodule.brv --versiondrifts from shipped behavior, release tooling cannot cut the tag, and contributor onboarding docs miss the newswarmsubsystem entirely.v3.3.0—brv swarm(onboard/status/query/curate) with adapters for ByteRover, Obsidian, local-markdown, GBrain, and OpenClaw Memory Wiki; agentswarm_query/swarm_storetools with sandbox SDK integration; swarm system-prompt contributor; user-configurable enrichment topology with cycle/self-edge validation; 5-tier search precision pipeline; RRF merging; short-lived result cache; transparent--explainoutput; ByteRover write fallback; auto-sync of context-tree.gitignoreonbrv vc; stale-location cleanup; axios pinned to 1.15.0 (security);gpt-5.4-miniadded to Codex allowed models; tightened PR auto-review author associations; CODEOWNERS; dead-code removal; SKILL.md swarm docs; plus the 3.4.0 release-prep commits (version bump, CHANGELOG, CLAUDE.md)..gitignoresync, axios pin); no changes to authentication, billing, or cloud-sync surfaces.Type of change
Scope (select all touched areas)
Linked issues
Root cause (bug fixes only, otherwise write
N/A).gitignoreauto-sync): initial context-tree.gitignorewas only written at init time, so patterns added in later CLI versions never reached existing projects; derived artifacts then pollutedbrv vcdiffs.confidence/impactwere required on review outputs; missing fields crashed the reviewer with no safe fallback..gitignorebehavior is only visible on long-lived projects created before the pattern changes — no prior test asserted re-sync on upgrade.Test plan
test/unit/agent/swarm/**(swarm-coordinator, swarm-graph, swarm-merger, swarm-router, swarm-write-router, search-precision, provider-factory, config loader/schema, validation, wizard, CLI renderer, system-prompt contributor)test/unit/agent/swarm/adapters/**(byterover, gbrain, local-markdown, obsidian, memory-wiki)test/unit/agent/swarm/tools/{swarm-query-tool,swarm-store-tool}.test.tstest/unit/agent/sandbox/tools-sdk-swarm.test.tstest/unit/agent/core/domain/swarm/types.test.tstest/unit/agent/tools/curate-tool.test.tstest/unit/utils/gitignore.test.ts(ENG-2050 auto-sync)test/unit/server/infra/transport/handlers/{locations-handler,vc-handler}.test.ts(ENG-1610)test/unit/infra/project/project-registry.test.tstest/commands/swarm/{onboard,status,query,curate}.test.ts--explainoutput, result cache TTL.brv vcruns without clobbering user entries.package-lock.json.gpt-5.4-mini: appears in Codex allowed-models list.User-visible changes
brv swarm(onboard,status,query,curate) — see CHANGELOG[3.4.0]for the full behavior surface.brv swarm queryandbrv swarm curatenow usable from the agent asswarm_query/swarm_storetools and from sandboxed code astools.swarmQuery()/tools.swarmStore().brv --versionwill report3.4.0after tag/publish.gpt-5.4-mini..gitignorenow auto-heals on anybrv vccommand; previously-init'd projects pick up new patterns on upgrade.Evidence
test/unit/agent/swarm/**all green)--explainreasoning visible inquery-renderertests)git diff --stat v3.3.0..release/3.4.0summary: 94 files changed, +12,031 / −217 lines, including ~20 newsrc/agent/infra/swarm/**modules, 4 oclif commands undersrc/oclif/commands/swarm/, 2 agent tool implementations +.txtdefinitions, and matching test suites.git log --oneline main..release/3.4.0(release-prep only, on top of the feature work already onmain):Checklist
npm test)npm run lint)npm run typecheck)npm run build)CHANGELOG.md,CLAUDE.md,src/server/templates/skill/SKILL.md)main(3 release-prep commits ahead, 0 behind)Risks and mitigations
swarm.config.yamlcould read/write the wrong directory.brv swarm onboardwizard validates each provider's root path before writing config;brv swarm statusperforms pre-flight health checks; config validator rejects cycles/self-edges and warns on disabled providers.ce4a23b4with dedicated regression tests.1.15.0could conflict with transitive dependents expecting a newer minor.package-lock.jsonregenerated and full test suite green; transitive axios users in the tree are compatible with 1.15.x..gitignoreauto-sync could append patterns a user intentionally removed.test/unit/utils/gitignore.test.ts.mainis still advancing could race with late merges.v3.4.0immediately after this PR merges, before accepting further non-critical PRs; freeze window is short.