You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Two subsystems loaded behind feature flags were not merely disabled, they
were broken in a way that only showed if you enabled them. services/compact/reactiveCompact.ts did not exist on disk at all, yet query.ts requires it by path and /compact calls two functions on it; services/contextCollapse/index.ts was a stub exporting four names while query.ts called four different ones, three of which were absent. Setting
either flag would have failed on the first turn with MODULE_NOT_FOUND or
"is not a function" rather than degrading to "feature off". Both modules now
export the full surface their callers use, returning result-shaped objects
instead of null so property access on the result cannot throw.
Neither was reachable in shipped builds — the bundler passes only VOICE_MODE
and CHICAGO_MCP, and live context management runs through services/compact/autoCompact.ts, which is real and unaffected.
Added test/optionalSubsystems.test.ts, which derives the required exports
from what query.ts actually calls rather than from a hand-written list, so
a new call site cannot reintroduce the gap. It also asserts autoCompact has
not itself become a stub.
Audit note: 223 files carry @ts-nocheck and are invisible to tsc --noEmit. Stripping the suppressions in a scratch copy surfaces 872
errors across ~108k lines, including query.ts, permissions.ts and filesystem.ts. Both defects above sat inside that blind spot.