Phase 4 Closeout¶
Phase Closeout¶
- Phase:
Phase 4 - Status:
completed - Date:
2026-03-08 - Owner:
Codex - Objective: Rename the custom-command sidecar and local runtime process identities to Arqon Maestro equivalents without breaking startup, shutdown, or existing user scripts.
Scope Completed¶
- Renamed the primary custom-command sidecar entrypoint to
arqon-maestro-custom-commands-server.js. - Kept a legacy sidecar wrapper so older filename assumptions still resolve during the transition.
- Made the sidecar load custom scripts from
.arqon/scriptsfirst while still watching.serenade/scripts. - Added
global.arqonas the primary custom-command API object while preservingglobal.serenadeas a compatibility alias. - Renamed local packaged process identities to
arqon-maestro-core,arqon-maestro-speech-engine, andarqon-maestro-code-engine. - Updated local process shutdown logic to terminate both new and legacy process names.
- Captured verification evidence and updated the rebrand tracking docs.
Files Changed¶
maestro/client/src/main/ipc/custom.tsmaestro/client/src/main/ipc/local.tsmaestro/client/static/custom-commands-server/arqon-maestro-custom-commands-server.jsmaestro/client/static/custom-commands-server/serenade-custom-commands-server.min.jsmaestro/client/build.gradlemaestro/speech-engine/build.gradlemaestro/code-engine/build.gradlemaestro/speech-engine/server/CMakeLists.txtmaestro/code-engine/server/CMakeLists.txtmaestro/speech-engine/bin/run-promaestro/code-engine/bin/run-promaestro/core/src/dist/bin/run-pro- Phase 4 Evidence
Breaking Changes Introduced¶
- The primary sidecar entrypoint is now
arqon-maestro-custom-commands-server.js. - Local packaged binaries are now emitted under Arqon Maestro process names instead of the inherited process names.
Compatibility Shims Added¶
- Legacy
serenade-custom-commands-server.min.jswrapper now forwards to the new sidecar entrypoint. - Sidecar exposes both
global.arqonandglobal.serenade. - Sidecar loads and watches both
.arqon/scriptsand.serenade/scripts. - Local shutdown logic kills both new and legacy process names.
Compatibility Shims Removed¶
- None.
Verification Performed¶
node --check maestro/client/static/custom-commands-server/arqon-maestro-custom-commands-server.jsnode --check maestro/client/static/custom-commands-server/serenade-custom-commands-server.min.jsnpm run build:mainfrommaestro/client./gradlew :speech-engine:clean :code-engine:clean :core:clean :client:installServer -x downloadModelsbash -lc 'cd .../maestro && ARQON_MAESTRO_SOURCE_ROOT=... ARQON_MAESTRO_LIBRARY_ROOT=/home/irbsurfer/libserenade ./gradlew :speech-engine:clean :code-engine:clean :core:clean :client:installServer -x downloadModels'./gradlew :core:clean :core:distTar :client:clean :client:installCore -x downloadModelsfind maestro/client/static/local -maxdepth 4 \( -name 'arqon-maestro-*' -o -name 'serenade-*' -o -name 'run-pro' \) | sortfind maestro/client/out/static/custom-commands-server -maxdepth 1 -type f | sort
Residual Risks¶
- Native engine packaging still depends on external library and protobuf toolchain alignment under
/home/irbsurfer/libserenade. serenade-driverremains an inherited dependency and is deferred to the later namespace/dependency phase.- The unminified legacy sidecar file still exists in the static directory for compatibility and provenance.
Rollback Point¶
33ca516Rename engine subtree to maestro
Entry Criteria For Next Phase¶
- Phase 4 evidence pack is published.
- Tracker, decision log, and gotcha registry reflect the new runtime identity baseline.
- Phase 5 starts from the assumption that Arqon process names are canonical while legacy process-name fallbacks remain active.