Skip to content

release: v0.5.0 - #110

Merged
rjckkkkk merged 243 commits into
masterfrom
release/v0.5.0
Aug 18, 2026
Merged

release: v0.5.0#110
rjckkkkk merged 243 commits into
masterfrom
release/v0.5.0

Conversation

@rjckkkkk

Copy link
Copy Markdown
Collaborator

Release scope

Promote the current consolidated v0.5 development baseline to production as v0.5.0.

This release includes all generally applicable capabilities and fixes audited from the active branches, while leaving model/device-specific experiments out unless they are already part of the validated shared baseline.

Highlights

  • persistent deployment recovery and verified native-engine lifecycle
  • AMD Strix Halo/AMD395 Windows and Linux delivery
  • cross-device Fleet scenarios and DeepSeek V4 dual-Spark deployment
  • structured inference adapters and expanded hardware/model catalog
  • hardened OpenClaw ownership, sync controls, and alias routing
  • deploy scan normalization, disk preflight, offload fallback, safe flag emission, warmup cache isolation, and support UI fixes
  • complete v0.5.0 changelog and corrected version-management documentation

Validation

  • go test ./...
  • go vet ./...
  • go test -race ./...
  • make release-assets (Windows amd64, macOS arm64, Linux amd64/arm64, desktop bundles, checksums)
  • make first-run-smoke
  • make amd395-build-test
  • make amd395-linux-build-test

All checks passed locally.

skyguan92 and others added 30 commits April 21, 2026 19:19
新增 design/knowledge-system-architecture.md 作为 AIMA 知识系统的长期架构
约束蓝图,与 PRD.md / ARCHITECTURE.md / MRD.md 同级。

确立三条根本原则:Edge 对 Prior 只读 / Overlay 是 Patch / 跨设备经 Central
中介。定义知识三层(Prior / Evidence / Decision)、Edge 六阶段 Pipeline、
Central Distillation Engine、AIMA Strategic Merge Patch 规则、6 条架构
Invariants、4 个 Promotion Gates、Edge ↔ Central 跨 repo 契约。

文档为架构约束蓝图,不含时间线与实施优先级,指导所有版本的知识 /
Exploration / Central / Catalog / Resolver 相关开发。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Rewrite README.md and README_zh.md to lead with the TCO-vs-performance
positioning: Ollama-level TCO with vLLM-level throughput, enabled by
putting an AI agent in the operator seat.

- Drop stale MCP tool counts; frame AIMA as an MCP server that plugs
  into external agent runtimes (OpenClaw in production), alongside the
  internal Explorer PDCA agent.
- Replace per-machine benchmark callouts with aggregate release-gate
  numbers: 7 GPU/NPU vendors, 5 OS families, 16 UAT items, 1,200+
  evidence files across 86 sub-folders, ~1,000 h on-silicon runtime.
- Rewrite Quick Start as a 5-step guided flow (download, hal detect,
  init, onboarding wizard / deploy, OpenAI-compatible call) so new
  users have a clear path from binary to first inference.
- Run humanizer/humanizer-zh over both versions to strip em-dash
  cascades, bold emphasis, three-part parallelisms, meta labels
  ("The punchline.", "Why this matters for you.") and self-referential
  constructions.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- add telemetry-free diagnostics export via MCP and CLI

- move onboarding guardrails into catalog policy data

- align MCP tool documentation with the current tool surface
- capture onboarding and diagnostics UAT artifacts for develop

- document MCP remote parity and first-run smoke results
….patrol_config (#40)

The Monitoring tab's save/load/reset paths called `agent.patrol_config`
with a flat `{action:'get'|'set',...}` payload. That tool was consolidated
into the single `patrol` tool (status/alerts/config/actions dispatch via
action param, with config_action nested for get/set). The UI was never
updated, so every monitoring field write returned
`tool not found: agent.patrol_config` and the whole tab's save failed.

Rewrite all 8 callTool sites in internal/ui/static/index.html to use
`callTool('patrol', { action: 'config', config_action: 'get'|'set', ... })`.
Field parsing on the GET response path is unchanged (server still returns
the same PatrolConfig struct).

Also drop the stale `agent.patrol_config` reference from the Config()
doc comment in internal/agent/patrol.go.

Verified against a live v0.3-dev build on gb10 (71): get/set/get round-trip
through /api/v1/tools/patrol returns 200 and persists the new value.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Installer binary resolution prefers PATH over stale dist/ artifacts, onboarding init hint updated to new `aima onboarding init --tier` form. Served-model-name expansion and wizard viewport alignment mentioned in PR description were already landed via separate commits on develop.
…D395 iGPU (#42)

Validated 2026-04-22 on AMD Ryzen AI MAX+ 395 + Radeon 8060S iGPU
(gfx1151, RDNA3.5, 40 CU, 128GB LPDDR5X unified):

- Short prompt (in=128, out=256, C=1): 76.4 tok/s decode, TTFT 291ms
- Long context (in=25000, out=512, C=1): TTFT 43.5s, decode 43.5 tok/s
- C=4 short aggregate peak: 122.6 tok/s (1.6x scaling)
- Tuned config: -b 4096 -ub 512 -fa on, KV f16, --parallel 1, ctx 32768

iGPU decode matches AMD W7900D discrete workstation card (71-75 tok/s).

Also rewrites the AMD395 comment block: ROCm/HIP llamacpp path blocked by
Strix Halo kernel 6.8 + amdgpu-dkms 6.16.13 unified-memory HIP runtime bug
(device-side page fault on tensor load), not fixable at application layer.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
- move Central server implementation out of the edge repo

- load user and central catalog patches and make scenario.apply confirmable

- remove engine-format hardcoding and refresh MCP docs/profile

- add local and cjwx UAT evidence
Follow-up to #44. The new selection reason added by #44 had no
translation in either locale, so routeSelectionLabel() fell back to
the underscore-split key literal ("configured model unavailable local
fallback"), breaking the EN/ZH consistency the other five reasons
already have.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
fix(ui): stabilize deployed model list rendering
catalog(models): default AIBook Qwen variants to vllm-musa
rjckkkkk and others added 27 commits August 10, 2026 20:14
fix(amd395): align Linux local model engines
…ine-lifecycle

fix(engine): activate compatible native versions
…atform

fix: allow local native engines on current platform
…fter-deploy

fix: refresh agent state after deployment
feat: add DeepSeek V4 Flash dual-Spark deployment
…te VRAM

llama.cpp's default n_gpu_layers=999 ("offload every layer") assumes the
model fits in VRAM. On a discrete GPU with less VRAM than the model needs
(e.g. qwen3.5-9b on a 4GB RTX 2050) it forces an impossible allocation and
CUDA-OOMs at load, surfacing to users as a deployment that never becomes
ready.

Cap the engine-declared offload knob (offload_config_key) to CPU when a
discrete GPU can't hold the model's footprint, and warn with the numbers.
Unified-memory hosts (APU/GB10/Apple) share system RAM with the GPU, so
full offload is correct there and is left untouched. The knob is read from
catalog YAML, so no engine name or config key is hardcoded (INV-1/2).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
A model pull streamed straight to disk with no free-space check. On a small
disk a multi-GB GGUF could fill the filesystem past k3s's disk-pressure
eviction threshold, tainting the node NoSchedule so the pod stayed Pending
forever — surfacing only as "Timed out waiting for deployment to be ready".

Guard the download: the moment its total size is known (reported by the
existing downloader progress, before transfer for HF/ModelScope), abort if
it won't fit while preserving a disk-pressure reserve (10% of the volume,
2 GiB floor), returning a clear, fatal, pre-transfer error instead of a
disk-filling hang. Adds hal.DiskUsage for cross-platform free/total bytes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
# Conflicts:
#	README.md
#	README_zh.md
#	design/knowledge-yaml-generation-and-consumption-v0.4.md
#	internal/openclaw/config.go
#	internal/openclaw/sync_test.go
#	internal/proxy/sync.go
@rjckkkkk
rjckkkkk marked this pull request as ready for review August 18, 2026 08:08
@rjckkkkk
rjckkkkk merged commit d6dbec8 into master Aug 18, 2026
1 check passed
@rjckkkkk
rjckkkkk deleted the release/v0.5.0 branch August 18, 2026 08:40
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.

5 participants