Skip to content

Commit 5abc343

Browse files
committed
chore(release): 5.1.0 version lockstep across all five packages
Bump coreaiunity 5.0.10 -> 5.1.0 to restore the coreai/coreaiunity lockstep rule; align dependency pins (coreai, coreaiunity) to 5.1.0 in coreaiunity, coreaimods, coreaihub, coreaibenchmark; add 5.1.0 changelog entries describing the audit remediation wave (fixes audit #2 finding A-03).
1 parent 9f3f186 commit 5abc343

6 files changed

Lines changed: 59 additions & 8 deletions

File tree

Assets/CoreAI/CHANGELOG.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,25 @@
22

33
## [Unreleased]
44

5+
### 5.1.0 - audit remediation: safe mutation pipeline, bounded queues/stores (2026-07-10)
6+
7+
- **Tool execution policy (F-01):** per-call duplicate signatures registered only on success (failed
8+
calls stay retryable), a single serialized mutation chain covering `world_command`,
9+
`component_command`, `execute_lua`, `call_skill_tool`, and streamed mutating calls deferred to
10+
turn completion so mutations never overlap and cross-turn echoes become structured
11+
`{ok, duplicate}` no-ops before side effects.
12+
- **Orchestrator backpressure (F-10):** `AiOrchestrationQueueOptions.MaxPending` admission cap
13+
(default 64) with `AiOrchestrationQueueFullException`, binary-search insertion instead of
14+
per-enqueue re-sort, and a Dispose contract that cancels in-flight work and completes all
15+
pending tasks/streams.
16+
- **Version retention (F-11):** new `VersionRetentionPolicy` bounds Lua-script and data-overlay
17+
version stores (original + current + last N intermediates, byte budget); revision `Index` is now
18+
stable across eviction and revert is index-based in both mod runtimes.
19+
- **Audit chain (F-07):** `AuditEntry`/`AuditLogVerifier` support rotation markers and anchored
20+
genesis (`VerifyChainedSet`) so rotated files verify standalone while staying chained.
21+
- Audits: `Docs/REPOSITORY_AUDIT_2026-07-10.md` and `Docs/REPOSITORY_AUDIT_2_2026-07-10.md` in the
22+
repository root document the findings and the verification of this wave.
23+
524
### 5.0.10 - version lockstep with coreaiunity 5.0.10 (2026-07-06)
625

726
- No changes; released to keep both packages on identical versions. (The self-spawning model-download

Assets/CoreAI/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "com.neoxider.coreai",
3-
"version": "5.0.10",
3+
"version": "5.1.0",
44
"displayName": "CoreAI",
55
"unity": "6000.0",
66
"description": "Portable C# core for CoreAI \u2014 LLM agents that call your game code. Orchestration, function-calling tools, agent memory, AgentBuilder, SkillSet, and production resilience (retries, timeouts, rate limits), with no UnityEngine dependency. LLM and Lua are optional modules (COREAI_NO_LLM / COREAI_NO_LUA), so the core compiles without them \u2014 install only what your game uses. Unity integration ships in com.neoxider.coreaiunity.",

Assets/CoreAIHub/package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "com.neoxider.coreaihub",
3-
"version": "5.0.10",
3+
"version": "5.1.0",
44
"displayName": "CoreAI Hub (UI Toolkit)",
55
"unity": "6000.0",
66
"description": "Optional UI Toolkit window for CoreAI: a tabbed Hub that renders pages registered into CoreAI's HubPageRegistry (Chat, Settings, Statistics, Mods, and C#/Lua-authored pages). Lazy per-tab content, live tab rebuild on register/unregister, semi-transparent runtime panel, and a future path to Unity 6.5 world-space PanelRenderer. Install this package only when you want the built-in Hub window; without it CoreAI still exposes the registry so you can render pages on your own uGUI/UITK canvas via the API. Depends on com.neoxider.coreai.",
@@ -11,6 +11,7 @@
1111
"license": "PolyForm-Noncommercial-1.0.0",
1212
"licensesUrl": "https://github.com/NeoXider/CoreAI/blob/main/LICENSE",
1313
"dependencies": {
14-
"com.neoxider.coreai": "5.0.10"
14+
"com.neoxider.coreai": "5.1.0",
15+
"com.neoxider.coreaiunity": "5.1.0"
1516
}
1617
}

Assets/CoreAIMods/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "com.neoxider.coreaimods",
3-
"version": "5.0.10",
3+
"version": "5.1.0",
44
"displayName": "CoreAI Mods (Lua)",
55
"unity": "6000.0",
66
"description": "Lua modding layer for CoreAI: the MoonSharp sandbox, execute_lua and manage_mods tools, the Lua Modding skill, the mod runtime, persistent mod stores, gameplay bindings, and mod UI. Depends on com.neoxider.coreai / com.neoxider.coreaiunity. Install this package only when you want AI/player-authored Lua mods; without it CoreAI compiles Lua-free. Requires the MoonSharp package (org.moonsharp.moonsharp).",
@@ -11,7 +11,7 @@
1111
"license": "PolyForm-Noncommercial-1.0.0",
1212
"licensesUrl": "https://github.com/NeoXider/CoreAI/blob/main/LICENSE",
1313
"dependencies": {
14-
"com.neoxider.coreai": "5.0.10",
15-
"com.neoxider.coreaiunity": "5.0.10"
14+
"com.neoxider.coreai": "5.1.0",
15+
"com.neoxider.coreaiunity": "5.1.0"
1616
}
1717
}

Assets/CoreAiUnity/CHANGELOG.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,37 @@ Unity host: **CoreAI.Source** build, EditMode / PlayMode tests, Editor menus, do
44

55
## [Unreleased]
66

7+
### 5.1.0 - audit remediation: durability, fallback correctness, sandbox hardening (2026-07-10)
8+
9+
Release of the 2026-07-10 audit remediation wave (findings F-01…F-16 of
10+
`Docs/REPOSITORY_AUDIT_2026-07-10.md`; verification in `Docs/REPOSITORY_AUDIT_2_2026-07-10.md`).
11+
Version lockstep with `com.neoxider.coreai` 5.1.0; `coreaimods` / `coreaihub` / `coreaibenchmark`
12+
ship the same version.
13+
14+
- **World state (F-04, F-06):** `Save()`/`DestroyAllWorldObjects()` include inactive objects;
15+
`Reset()` clears unresolved objects; WebGL IDBFS flush after save; always-on auto-save loop with
16+
a single quit-save; mod rehydrate now waits for `WorldRestoreCompleted` (restore-before-mods
17+
ordering guarantee).
18+
- **`load_scene` (F-05):** validates the scene against Build Settings (plus an optional per-scope
19+
whitelist for Lua) and fails with a clear error instead of reporting success.
20+
- **Audit log writer (F-07):** bounded queue (drop-oldest + dropped-count marker), drain-on-Dispose
21+
with deadline, seq/hash committed only after a successful write, rotation marker + anchor entries,
22+
serialized flushes, shared `CoreAiWebGlPersistence` IDBFS helper.
23+
- **Fallback (F-09):** real streaming/internal timeouts now fall back to the secondary backend;
24+
caller cancellation still rethrows; streaming "commitment" requires visible text, a tool call, or
25+
an error (control chunks no longer commit the primary).
26+
- **Lua sandbox (F-08, in `coreaimods`):** per-instruction GC allocation budget (default 64 MB) on
27+
both MoonSharp and Lua-CSharp VMs; `table.concat` output capped like `string.rep`.
28+
- **Mod events (F-13):** per-subscriber isolation — a throwing subscriber no longer breaks
29+
`LoadMod` or starves other subscribers.
30+
- **Diagnostics (F-16, F-23):** turn-trace sink capped (32 roles) with `Clear()`; IMGUI dashboards
31+
rebuild text at most 4×/sec.
32+
- **Hub mods UX:** version history + revert, bundled-update badge + apply, export/import via
33+
clipboard, cached mod list with debounced search.
34+
- **Packaging (F-02):** Hub-facing mods code extracted into optional `CoreAI.Mods.Hub` assembly
35+
(self-disables without the Hub package); benchmark suite extracted into
36+
`com.neoxider.coreaibenchmark`; package dependency graphs now match real asmdef references.
37+
738
### 5.0.13 - Tool round splits streaming assistant bubble (2026-07-09)
839

940
- **Fix: assistant prose streamed before and after a tool round now lands in two separate bubbles (claude/cursor-style) instead of one.** Previously the streaming bubble opened at the start of the turn was reused for all prose, so tool-call bubbles were appended *below* it — leaving the final answer at the top and the tool calls at the bottom, forcing the user to scroll up. At a tool-round boundary the in-flight prose bubble is now sealed and any post-tool prose opens a fresh bubble beneath the tool-call bubbles.

Assets/CoreAiUnity/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "com.neoxider.coreaiunity",
3-
"version": "5.0.10",
3+
"version": "5.1.0",
44
"displayName": "CoreAI Unity",
55
"unity": "6000.0",
66
"description": "Unity framework for LLM-powered NPCs and agents that call your game code \u2014 drop-in chat UI, function-calling tools, persistent memory, token-by-token streaming, and per-role LLM routing. Runs on a local GGUF model (via LLMUnity) or any OpenAI-compatible API; proven on a 4 GB local model. Unity layer for com.neoxider.coreai.",
@@ -11,6 +11,6 @@
1111
"license": "PolyForm-Noncommercial-1.0.0",
1212
"licensesUrl": "https://github.com/NeoXider/CoreAI/blob/main/LICENSE",
1313
"dependencies": {
14-
"com.neoxider.coreai": "5.0.10"
14+
"com.neoxider.coreai": "5.1.0"
1515
}
1616
}

0 commit comments

Comments
 (0)