Skip to content

v0.3.1 - 5.8 survival: the Capability Ladder

Choose a tag to compare

@JosephOIbrahim JosephOIbrahim released this 08 Jul 14:59
· 1 commit to master since this release
f01c263

5.8 survival -- the Capability Ladder

The bridge was silently broken on UE 5.8. 5.8 defaults
RemoteControlSettings.bAllowAnyRemoteFunctionCall to False, which blocks every
/remote/object/call with HTTP 400 "not allowed by remote control settings". So
execute_python and every codegen tool failed live -- while ue_status and the
mock-only CI stayed green. Connectivity was measured; capability never was.

Fixed

  • bAllowAnyRemoteFunctionCall=True in Config/DefaultRemoteControl.ini --
    the one line that unblocks every tool on 5.8 (localhost-only, single-trusted-
    operator model; the bridge already permits arbitrary Python exec over RC).
  • The Remote Control error body is no longer swallowed -- the clients
    returned only "Client error '400 '"; they now preserve the RC body that says
    why.

Added -- the Capability Ladder (so this can't recur silently)

  • ue_preflight + ue_health_check(deep=true): a runtime probe that
    separates reachable (a GET) from permitted / capable (a real function
    call) / round-trip (the full Python path), stops at the first failure, and
    returns the named cause + one-line fix with the raw RC body as evidence.
  • A diagnosis map (error signature -> cause -> fix) -- every future live
    failure becomes a rule.
  • 13 tests incl. the golden failure test: the 5.8 block must surface as
    rung Permitted naming bAllowAnyRemoteFunctionCall.

Why it matters: connectivity, permission, and capability are three different
signals. The bridge measured one. A health check can never again read green
while the bridge is dead -- and any failure now names its own fix.