Skip to content

Commit 490769f

Browse files
committed
docs: refresh TODO to 5.6.1 reality, add R7.5 multi-API plan, retire executed plan docs
- TODO header: released 5.6.1 (was 'RC 5.3.0'); R0 gate collapsed (shipped); spark benchmark run marked done (92.9 on the leaderboard); dead audit link replaced; Shipped section extended with the 5.x line - New [R7.5]: per-agent LLM provider configuration (code-first layer over the existing LlmRoutingManifest routing) - Removed executed/archived plans (hub-pages, lua-migration, modding-logic-research); mod-system.md points at INSTALL.md instead
1 parent d309911 commit 490769f

2 files changed

Lines changed: 43 additions & 22 deletions

File tree

Docs/CoreAIMods/mod-system.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ header or an explicit arg) and expose it in `list` output. No behavior change to
119119
> **Status: implemented.** The Hub is a **UI Toolkit** window (`CoreAiHubWindow` + `CoreAiHub.uxml` /
120120
> `CoreAiHubUss.uss`, Unity 6.3 `UIDocument`), not uGUI/IMGUI. Pages register into `HubPageRegistry`;
121121
> the module's `CoreAiModsHubBinder` lights up the Mods tab and upgrades Settings/Statistics with live
122-
> DI sources. Menu `CoreAI → Setup → Add Hub` drops in the ready prefab. See `Docs/CoreAI/hub-pages.md`.
122+
> DI sources. Menu `CoreAI → Setup → Add Hub` drops in the ready prefab (install/usage: `INSTALL.md` §4).
123123
124124
A single floating window (`CoreAI Hub`) built on UI Toolkit, replacing the old F7–F10 IMGUI panels.
125125
Collapses to a compact bar via the top-right toggle. Tabs:

TODO.md

Lines changed: 42 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,10 @@
11
# TODO
22

3-
> Updated 2026-07-10. Tracks open work by priority. Shipped work is in `CHANGELOG.md` (both packages);
3+
> Updated 2026-07-11. Tracks open work by priority. Shipped work is in `CHANGELOG.md` (both packages);
44
> non-blocking future work in `Assets/CoreAiUnity/Docs/BACKLOG.md`.
5-
> Release candidate: 5.3.0. Verified 2026-07-10: EditMode 1,613 total / 1,609 passed /
6-
> 0 failed / 4 optional third-party ignored; deterministic G8 PlayMode 3/3; full local
7-
> `qwen3.5-4b-mtp` G1-G8 benchmark 88.1/100 (G8 3/3); PlayMode `FastNoLlm` 67/67.
8-
9-
## [R0] IMMEDIATE — verification gate on next editor start (blocks release)
10-
11-
> The previously uncompiled audit wave is now compiled and verified in Unity 6000.3.14f1.
12-
- [x] Compile clean (0 `error CS`); Hub integration compiled in the monorepo via `COREAI_HAS_HUB`.
13-
- [x] Full EditMode suite green: 1,613 total / 1,609 passed / 4 optional third-party ignored / 0 failed.
14-
- [x] Final post-5.3.0 PlayMode `FastNoLlm`: 67/67 passed.
15-
- [x] Local 4B benchmark gate: suite v1.7 / benchmark v2, 88.1/100; G8 3/3.
16-
- [x] Audit docs removed (2026-07-10). Per the owner's rule ("no audits should live in the project"),
17-
all 2026-07-10 audit reports were deleted after their still-open code findings were transferred to
18-
live TODO items: **CI** (F-12, below), **package isolation** (F-22, below), **durability** and
19-
**full-tier Lua query** (in the R0.6 residual list below). Product/idea bets from the idea audit
20-
moved to `Assets/CoreAiUnity/Docs/BACKLOG.md` ("Idea / positioning bets").
5+
> Released: 5.6.1 (2026-07-11, all five packages in lockstep). Last full verification 2026-07-10:
6+
> EditMode 1,613 total / 1,609 passed / 0 failed / 4 optional third-party ignored; deterministic G8
7+
> PlayMode 3/3; full local `qwen3.5-4b-mtp` G1-G8 benchmark 88.1/100 (G8 3/3); PlayMode `FastNoLlm` 67/67.
218
229
## [R0.5] Demo pass (owner request: "показательны и корректны")
2310

@@ -30,9 +17,10 @@
3017
`qwen3.5-4b-mtp`.
3118
- [ ] Verify the AI writes mods through the Hub chat in each kept Hub-enabled demo with local 4B/9B/27B
3219
(LM Studio) and Opus 4.8 via the bundled preset (`Assets/Resources/CoreAIPresets/`,
33-
bridge: `agent.sh openai-server -e claude -m opus`).
34-
- [ ] Benchmark package (`com.neoxider.coreaibenchmark`): run the suite through the bridge with
35-
`-m spark` (unlimited) as the API model; fix scenario breakage from the 5.1.0 wave if any.
20+
bridge: `agent.sh openai-server -e claude -m opus`). *(API models are already proven through the
21+
same bridge in the benchmark v2 sweep — remaining gap is specifically Hub-chat mod-writing per demo.)*
22+
- [x] Benchmark package (`com.neoxider.coreaibenchmark`): suite ran through the bridge with `-m spark`
23+
full v1.7 G1-G8 run on the leaderboard (92.9, row 3); no scenario breakage from the 5.1.0 wave.
3624

3725
## [R0.6] Release-engineering residuals (from the two 2026-07-10 repository audits)
3826

@@ -99,6 +87,26 @@
9987
- [ ] Pass `response_format` / `json_schema` to OpenAI-compatible providers; GBNF grammar for local models
10088
where supported; keep post-validation as the fallback. (Decide whether to build.)
10189

90+
### [R7.5] Multi-API — per-agent LLM provider configuration (owner request 2026-07-11)
91+
92+
> Per-ROLE provider routing already ships: `LlmRoutingManifest` (role pattern → profile →
93+
> `OpenAiHttpLlmSettings` with its own URL/key/model) resolved per request by `RoutingLlmClient` via
94+
> `ILlmClientRegistry`. What's missing is the code-first/dev-facing layer (est. M, ~5 files).
95+
- [ ] `AgentBuilder.WithLlmProfile(profileId)` / `WithLlmBackend(OpenAiHttpOptions)``AgentConfig`
96+
policy (`SetLlmProfileForRole`, pattern of existing `SetTemperature`).
97+
- [ ] Explicit profile on the request: make `LlmCompletionRequest.RoutingProfileId` an input hint
98+
(today write-only diagnostics); `RoutingLlmClient.Prepare` prefers it over role-pattern match.
99+
- [ ] Runtime profile registration: `RegisterProfile(profileId, OpenAiHttpOptions)` on the registry
100+
(build `OpenAiChatLlmClient` without an SO asset — `IOpenAiHttpSettings` ctor already exists).
101+
- [ ] Per-profile fallback + limits: `FallbackLlmClientDecorator` and timeout/retry settings currently
102+
apply only to the legacy-fallback client / global settings — decide per-profile story.
103+
- [ ] Hot-swap consistency: `CoreAiBackend.SetApiKey/SetApiBaseUrl` rebuilds only the legacy fallback;
104+
profile clients need re-`ApplyManifest`/`ApplyRouteTable` on change.
105+
- [ ] Key hygiene: N providers = N plaintext `apiKey` fields in `.asset` files; provide an out-of-asset
106+
key source (env var / `IServerManagedAuthProvider`-style) before promoting multi-API.
107+
- [ ] Docs: "per-agent providers" recipe (inspector-only path needs zero code: N × `OpenAiHttpLlmSettings`
108+
+ manifest on `CoreAILifetimeScope`).
109+
102110
### [R8] Vision — finish (feature already shipped)
103111

104112
- [ ] PlayMode round-trip `[Explicit]` test against a real vision-capable model (capture → model → assert).
@@ -131,7 +139,8 @@
131139
2026-07-01, found via a live G6 benchmark report contradiction (`0 tool-calls` / `1 spawns`); the same
132140
root cause explained every "tool ran but stats say 0" symptom (benchmark `ToolCalls`/`FailedToolCalls`
133141
undercounts, `ToolErrorRate` misreporting, "used tool" checkpoints failing despite executor state
134-
proving a tool ran). See `Docs/BENCHMARK_STATS_AUDIT_2026-07-01.md` (Codex audit) for the full trace.
142+
proving a tool ran). *(The Codex audit doc with the full trace was removed per the "no audits in
143+
the project" rule; the trace survives in git history.)*
135144
- [ ] Benchmark harness: `RecordingWorldExecutor.InvalidCommandCount` is tracked separately from `ToolCalls`
136145
(invalid/malformed world commands are invisible in the "Tool calls" column). Defensible as a distinct
137146
metric, but worth an explicit decision — either document the split or fold invalid attempts into
@@ -176,6 +185,18 @@
176185

177186
## Shipped (recent)
178187

188+
- 5.6.x — build-time policy registration; simpler agent API (`AgentBuilder.Build()` auto-applies to the
189+
global policy); solution-wide code-style pass (WHY/TODO/HACK comment rules); benchmark castle
190+
comparison scene + Stop-with-partial-report; native-API free models in README.
191+
- 5.5.0 — [R6] resilience wave: `TimeoutLlmClientDecorator` + `RetryingStreamingLlmClientDecorator`
192+
wired into the pipeline, `CircuitBreakerLlmClientDecorator` primitive; benchmark v2 tooling; CI
193+
merge-queue gate + package-graph job (F-12 partial).
194+
- 5.4.0 — MoonSharp removed; Lua-CSharp is the only VM.
195+
- 5.3.0 — benchmark v2; resilience primitives (`FallbackLlmClientDecorator` covered by tests).
196+
- 5.1.0-5.2.0 — audit remediation: safe mutation pipeline, bounded queues/stores; stability gate and
197+
extension APIs; streaming mutating-call deferral; `allowedLuaScenes` contract pinned.
198+
- 5.0.x — on-demand skills for built-in roles ("Lua Modding" skill); benchmark package extracted to
199+
`com.neoxider.coreaibenchmark`; version lockstep across five packages.
179200
- 4.17.0 — tool-call history unlimited by default (`MaxToolCallHistoryMessages = 0`); per-agent / per-call
180201
`MaxToolCallRoundtrips` override (`0` = unlimited, Programmer/Creator default unlimited), default cap raised
181202
10 → 20; clearer cap-reached stop message; honest provider-call tok/s labeling; `BenchmarkInfo.GroupDifficulty10`

0 commit comments

Comments
 (0)