Skip to content

4. Solution Strategy

The strategy connects the quality goals and constraints to the accepted architecture. Details belong in the relevant views and ADRs.

Goal or requirementChosen approach and reasonDetailsQuality scenarios
A branded application without maintaining a forkEmbed the core as a library; the owner selects trusted implementations and built-in commandsADR-0010Q15, Q19
Independent extension teams and languagesSeparate static KCL-exported declarations from code; use a common executor and lifecycle, initially supervised foreground processesADR-0001, ADR-0004, ADR-0006Q01, Q19
Reliable installation and updatesVerify immutable releases and atomically publish an active profile so updates cannot rebind running invocationsADR-0007Q03, Q11
Simple local use with optional organization integrationUse the same Security Broker boundary for local rules and registered external providers; do not require a serverADR-0005, ADR-0009Q05, Q15
Environment preparation only when neededA trusted provider resolves an exact plan; authorized lazy preparation remains separate from command executionADR-0008Q14
One capability for people and agentsProject one canonical command contract into CLI and explicitly exposed MCP tools, sharing validation and invocation semanticsADR-0013Q07, Q12
Bounded authority with explicit enforcementBind subject, actor and task; narrow delegation and coordinate shared budgets; require verified confinement where selectedADR-0012, ADR-0014, ADR-0015Q02, Q08, Q09
Predictable failure and external effectsPreserve one final outcome and a bounded shutdown; bind consequential effects and retain uncertainty without automatic replayADR-0002–ADR-0004, ADR-0016Q04, Q10, Q18

The same contracts serve a small team’s local CLI and an organization-managed workstation. The difference is the owner’s selected dependencies and required guarantees, not a second command model or an enterprise-only core. A native extension need not require a language manager; a script can use a verified preinstalled environment. Adding a mandatory remote authority deliberately makes the affected operations depend on that authority. ADR-0005, ADR-0008, ADR-0009

ChoiceAccepted cost or trade-off
Supervised processes rather than loading ordinary extension code into the coreStartup cost and platform-specific launch/IPC adapters; language independence does not mean every runtime is already supported
Immutable releases and exact environment referencesUpdates need staging and temporary coexistence of versions; lack of capacity rejects new preparation instead of deleting resources still in use
Bounded work, streams and queuesOverload produces an explicit refusal or the defined bounded failure; the core cannot promise to queue every installation, invocation or interaction
Explicit trust and optional stronger confinementOrdinary trusted programs remain usable; operations requiring unavailable OS enforcement cannot run under a silently weaker profile

These costs follow ADR-0001, ADR-0003, ADR-0007, ADR-0008, ADR-0010 and ADR-0015. Selected limits constrain implementations; they are not a measured throughput or cold-start promise for a corporate workstation. Section 10 separates the quality scenarios from the available evidence.

5. Building Block View describes responsibilities, 6. Runtime View explains their interaction, and 8. Crosscutting Concepts collects the shared rules.

The core’s implementation language and package layout remain unselected. Website tooling and reference experiments do not determine them. Additional executors, background ownership and concrete confinement mechanisms require compatible contracts and implementation evidence; extensibility alone does not establish support.

Diagram

Drag to move · + / − to zoom · 0 to fit · Esc to closeDrag to move and pinch to zoom

100%