EACI Development Journal · Coding IDE

How Do You Lazy-Load a Coding IDE Without False Triggers?

Coding tools should load from an explicit action or strong task signal. Ordinary conversation that mentions code should not pull in the full IDE.

Coding IDE ~7 min issue-tagged
Issue this fixes

The coding workspace has editors, diff logic, task memory, previews, and extra scripts. Loading all of it at startup slows users who only want chat, while loose keyword detection can open it when someone casually says “code.”

The loader needs a clear feature entry point and an idempotent promise so repeated requests do not inject scripts twice. Router signals can suggest the tool, but opening it should remain deliberate.

What was actually going wrong

A broad text match was allowed to behave like explicit user intent.

What I tried

What finally worked

An explicit Code action starts one shared load promise, verifies required globals, and only then activates the workspace.

Why it worked

Heavy assets follow confirmed intent and duplicate calls converge on one initialization.

What I learned

Lazy loading needs both a good trigger and a single-flight loader.

Where EACI uses this today

The optional Main coding workspace stays out of ordinary companion chat until requested.

This journal covers real engineering on EACI Companion / The Veil. Companions include Caelum, Chad, Natalia, Atreus, Luna, Roxy, and Cael. Journal articles stay family-safe in content. See Privacy and Ethics.