Repository navigation
Added
-
cs compile-set <zip|URL>andcs compile-set --skipanswer the editor's
one question about a running player: should code submitted to it be compiled
against the build it is actually running? By default, player builds export
CSharpConsoleCompileSet.zipbeside their output; Project Settings > C# Console
can disable export or override the path. Hand that file — a path or an
http(s) URL — tocs compile-set, or decide with--skipthat this build is
compiled for without alignment. Likecs exec --mode runtime,--ip/--port
name the player and the 15500-15509 range is probed when no--portis given;
the registration itself goes to the editor, which is what keeps the decision.The decision is stored per build GUID under the editor project's
Library/CSharpConsole/, so it is made once per build and shared by every
agent and client. It survives an editor restart and can be overwritten at any
time by registering or skipping again.A missing zip fails as a validation error (exit 1); a download failure, a zip
that cannot be read, and no player found to name fail as system errors (exit
3); a zip the editor itself rejects — wrong build, no build GUID inside, the
player unreachable from the editor — as a validation error (exit 1). An
editor whose package predates the endpoint answers 404, and the CLI says to
update the package.
Changed
-
Hierarchy responses now preserve deep trees and report
nodeCount,truncated,
andtruncationReasons(requested_depth,node_limit, ordepth_limit).
Responses are bounded to 5000 nodes and depth 128 for JSON client safety. Component type names
are namespace-qualified so inspection output can be reused astypeName.
The pinned contract fixture is updated to match package 2.4.0. -
Runtime debugging guidance permits supporting file evidence when execution is
unavailable or build contents need verification. File inspection does not
authorize registering a compile set or bypassing the alignment gate. -
Text
cs healthoutput now identifies the answering process and its build.
Failed runtime submissions include guidance for possible stripping, and an
exact command lookup in the wrong view names the view to query. -
Developer tests, routing evaluations, and fixtures now live under
dev/so
skill installation copies only the files needed at runtime. -
cs exec --mode runtimeagainst a player that reports its build is refused
until that build has a decision, with exit code 1 and a summary beginning
[REPL ALIGNMENT REQUIRED]. The CLI appends thecs compile-setcommand to
run — with this call's own--ip/--port— to both the text summary and the
--jsonenvelope. Ask the user for the zip or for an explicit decision to
skip; skipping is not the agent's call to make. Players must report a valid
build GUID; older players must be rebuilt with the matching package version. -
cs health --mode runtimereportsbuildGuid, the build the player came
from — the same valuecs compile-setregisters against. The editor never has
one, so the compact--jsonform omits the field when it is empty rather than
showing a blank. -
A package on another
major.minorline is now refused, not warned about.
The CLI and the package are released together, so a mismatched pair can
disagree about the wire without either side saying so — and the warning that
said as much only ever appeared incs setup, never on the path that actually
drives Unity. Every command that reaches Unity now fails with
Error: unity-cli X.Y.Z does not match package A.B.C(exit 1).cs setupand
cs statusstay usable, because they are how the mismatch is fixed and seen,
and commands that never reach Unity —cs doctor,cs wait-ready, offline
listings — are unaffected. The patch digit is not part of the line, and a
version that cannot be read is never treated as a mismatch. -
A result that merely mentions an exception is no longer a runtime error.
The service used to classify any response text containingexceptionas
runtime_error(exit 2), so an evaluation that returned such a word failed a
command that had in fact succeeded. Classification now matches only the
failure text the service writes itself, and those results exit 0. This is
included in package 2.4.0.