0015 FnHCI Owns The Top Interaction Namespace
Status
Accepted
Context
NEXUS now has enough ingestion, LOGOS, graph, and curation capability that interaction and GUI work need a stable naming boundary.
The earlier discussions around Bolero, Blazor, FnUI, and later FnHCI clarified an important distinction:
FnHCIis the broader interaction concernFnUIis a more concrete visual/UI line inside that broader concern- the eventual Bolero replacement on top of Blazor is likely part of that
FnUIline
Without a boundary, these can easily become muddled:
- all of FnHCI
- the broader interaction namespace
- the concrete visual system
- public package naming
- internal code namespace structure
That would make later implementation choices harder, not easier.
Decision
Treat FnHCI as the top interaction concern and top interaction namespace.
Treat FnUI as the outward-facing visual/UI system and package line within that broader FnHCI space.
The concrete Bolero-replacement system that sits on top of Blazor belongs under the FnHCI top namespace, not beside it as a separate peer concern.
Meaning
FnHCI owns the broad interaction meaning, including:
- visual UI
- CLI and terminal interaction
- API and contract surfaces
- accessibility and cross-surface behavior
- later live capture and user-facing workflow design
FnUI is narrower.
It represents the visual/UI-specific subsystem and likely the public-facing package/story for the Blazor-based replacement layer.
Namespace And Package Consequences
FnHCI still owns the top interaction namespace line.
The current reusable-library namespace line is now tracked as FnTools.FnHCI.*.
See:
So the reusable line should favor FnTools.FnHCI.* as the top namespace line.
That means the visual system belongs conceptually under shapes such as:
FnTools.FnHCI.UIFnTools.FnHCI.UI.Blazor- later sibling lines such as
FnTools.FnHCI.CliorFnTools.FnHCI.Api
Project and filesystem paths may temporarily lag behind that namespace while the repo split is being prepared.
Public package naming may still use FnUI where that is the clearest outward-facing name.
That means names such as these may make sense later:
FnUIFnUI.BlazorFnUI.Components
while still mapping back to the broader FnHCI namespace and concern line.
FnUI Is Not
- the whole of
FnHCI - the top-most interaction namespace
- all future interaction modes
- the canonical source of truth for NEXUS state
Consequences
Positive:
FnHCIkeeps the broader interaction namespace cleanFnUIcan remain a concrete product/package story without swallowing all interaction concerns- the Bolero-replacement layer has an intentional place in the namespace hierarchy
- later package branding and internal namespace structure do not need to be identical
Tradeoff:
- some naming now needs an explicit mapping layer
- package names and namespaces may intentionally differ when that gives a better public story