dev@bfd:~/dev-diary$ git show 2026-02
commit 2026-02-24-merge-vol-and-commandcenter-core-into-central-main-formalise-modding-architecture
Author: MJ
Date: Feb 24, 2026

2026-02-24 - Merge VOL and CommandCenter CORE into central/main, formalise modding architecture

Timeline

  • (Context) Opened session with a cross-layer audit of four active worktrees spanning boundary/main and three central/experimental branches.
  • (Context) Identified that canvas-orchestration_01 and canvas-command_01 shared the same tip commit, confirming they were one effective branch.
  • (Context) Discovered uncommitted CommandCenter CORE work sitting unstaged in the canvas-orchestration_01 worktree — would have been lost on removal.
  • (Action) Staged and committed 19 CommandCenter CORE files in canvas-orchestration_01 before any merges.
  • (Action) Merged central/feat/visual-orchestrator-v1 into central/main — full VOL v1 system, 66 files, 13,688 insertions.
  • (Action) Merged experimental/UI/canvas-command_01 into central/main — canvas three-column layout, CommandPalette, SlideOverPanel.
  • (Action) Merged experimental/command-center/canvas-orchestration_01 into central/main — CommandCenter CORE, DaemonAlchemy, DaemonOracle, GrimoireViewer, grimoire system, daemon hooks, Tauri capabilities.
  • (Action) Removed 5 merged/stale worktrees; retained docked-workbench_01 and focus-modes_01 for unmerged experimental work.
  • (Observation) All three merges resolved without conflicts due to clean central/ namespace isolation in the VOL work.
  • (Action) Fixed VOL default from opt-in to opt-out; fixed secondary bug where panelOpen co-initialised from the same function, making VOL inaccessible on startup.
  • (Action) Redesigned Gateway.tsx intro playback engine in boundary/main to natively read cinematic_sequence.json — segment-based model, all 6 VOL action types supported.
  • (Observation) theatrical_config.json confirmed as unintended dual-source architecture — VOL already treats it as a named source type internally, signalling it is not the final form.
  • (Action) Authored vol-modding-architecture-and-evolution.md in central/main, formalising the mod package format, CinematicStep contract, and deprecation path for theatrical_config.json.
  • (Open Thread) docked-workbench_01 and focus-modes_01 contain unmerged UI experiments; disposition pending.
  • (Open Thread) VOL visual config authoring (timing, layout, colors) needed before unified mod.json export is achievable and theatrical_config.json can be retired.

Context

  • Session opened with the goal of consolidating three diverged experimental branches into central/main and establishing architectural clarity around the VOL modding system.
  • All three branches (visual-orchestrator-v1, canvas-command_01, canvas-orchestration_01) shared a divergence point at the central-boundary governance commit, making clean merges structurally predictable.
  • canvas-orchestration_01 contained the CommandCenter CORE system (CommandCenter, DaemonAlchemy, DaemonOracle, GrimoireViewer, grimoire documents) in an entirely uncommitted state — this was discovered during pre-removal git status checks and rescued before worktree removal.
  • The session also covered a broader architectural conversation: how central produces visual artifacts for boundary, what format they take, and how theatrical_config.json fits (or fails to fit) that picture.

Actions

  • Audited all active worktrees via git worktree list and branch log comparisons; mapped divergence points, unique commit counts, and merge safety for each branch.
  • Staged and committed 19 files from the canvas-orchestration_01 worktree: CommandCenter, DaemonAlchemy, DaemonOracle, GrimoireViewer components with CSS modules, useBridgeSwarm and useDaemonControl hooks, alchemyFormulae data layer, VoidGrimoire and A_Letter_From_The_Deep_Void grimoire documents, Tauri capability and config extensions, and vite-env.d.ts for .md?raw import support.
  • Merged central/feat/visual-orchestrator-v1 into central/main with a descriptive merge commit: full VOL v1 system including orchestration studio, execution lanes, guided tour preset, cinematic authoring pass, gateway adapters, narrative modules, mirror engine, session store, and comprehensive test suite.
  • Merged experimental/UI/canvas-command_01 into central/main: canvas three-column layout, CommandPalette component, SlideOverPanel component, demo layout screenshot.
  • Merged experimental/command-center/canvas-orchestration_01 into central/main: the complete CommandCenter CORE system committed in the step above.
  • Removed worktrees: central-feat-visual-orchestrator-v1, central-feat-public-cinematic-refinement, canvas-command_01, canvas-orchestration_01, tabbed-studio_01. Retained docked-workbench_01 (2 unique commits) and focus-modes_01 (1 unique commit).
  • Fixed VOL enabled default: readInitialEnabled() changed from opt-in (=== ‘1’) to opt-out (!== ‘0’) so VOL is always accessible in central without localStorage configuration.
  • Fixed VOL startup visibility: panelOpen was co-initialising from readInitialEnabled(), causing the panel to render open-but-invisible on startup instead of showing the trigger button. Changed panelOpen to default false. VOL is now accessible via the bottom-right button or Ctrl+Shift+V.
  • Redesigned Gateway.tsx intro playback engine in boundary/main: replaced flat typedText string accumulation with a DisplaySegment array model; intro now reads CINEMATIC_STEPS from cinematic_sequence.json directly; supports all 6 VOL action types: clear (dwell then reset display), append_space (paragraph gap), append_inline (no break, continues on same line), fade_linger (apply specialClass with glow effect), glitch_reveal (CSS glitch animation), show_button (reveal PROCEED). theatrical_config.json retained for timing and layout config during the transitional period.
  • Authored docs/architecture/vol-modding-architecture-and-evolution.md in central/main: formalises mod package format (mod.json + assets/ per module), CinematicStep contract and action semantics, theatrical_config.json as transitional artefact, 3-stage evolution path, 6 non-negotiable architectural principles, current production phase context, and 8 concrete next steps.

Observations

  • All three branch merges resolved without conflicts. The VOL and CommandCenter work lived almost entirely within src/central/ — a namespace that did not exist in central/main before the merges. Namespace discipline made the merge trivially safe and is a pattern worth enforcing going forward.
  • Uncommitted work in worktrees is the most common way work gets silently lost. The CommandCenter CORE rescue confirms: always run git status on every worktree before removal, even when merging by tip commit hash.
  • theatrical_config.json being named as sourceKind: ‘gateway_theatrical_config’ inside VOL’s own type system is a meaningful signal — the codebase’s own taxonomy already treats it as a transitional input source, not a destination format. This is the correct architectural posture.
  • The Gateway.tsx dual-source split (theatrical_config.json for config, cinematic_sequence.json for sequences) is now clearly documented as unintended architecture. It functions correctly for the transitional period but should not be treated as the final design.
  • The VOL panelOpen initialisation bug was a direct consequence of the opt-out default change exposing a pre-existing assumption: both enabled and panelOpen shared the same initializer, which was harmless under opt-in (both false by default) but broke under opt-out (both true, panel rendered invisibly open).
  • The CinematicStep gateway seed format is now a formally agreed contract. boundary/Gateway.tsx is the first boundary surface to natively speak a VOL export format without any translation layer. This is the pattern all future mod surfaces should follow.

Open Threads

  • docked-workbench_01 (feat: IDE-style dock layout, 2 commits) and focus-modes_01 (feat: focus-mode workspace layout, 1 commit) have unmerged experimental UI work; decide whether to merge into central/main or archive.
  • VOL visual config authoring panels are the next development task: timing, spacing, layout, and color palette fields need to be authorable in the VOL panel and included in the export format before theatrical_config.json can be retired.
  • Gateway.tsx boundary prep handles the sequence half of the mod format; the full mod.json unification (single file: sequence + config) awaits VOL config authoring capability.
  • Mod directory structure (assets/mods//) needs formal establishment in boundary once VOL can produce unified exports; module scope: gateway, module05, module09, mjs-message, void-interface.
  • CommandCenter, DaemonAlchemy, DaemonOracle runtime integration in the central dev build needs verification: OSShell mounts CommandCenter behind the [CORE] TopBar button — confirm this is reachable and functional in the merged central/main build.

Boundary Reminder: Seeds. No maintenance. No roadmap.