+++ note_kind = "concept_seed" title = "FnHCI" slug = "fnhci" status = "seed" created_at = "2026-03-24T10:27:48.3662457+00:00" updated_at = "2026-03-26T10:26:00Z" domains = ["interaction-design", "software-development"] tags = ["seed", "projection-system", "bolero-origin"] canonical_conversation_ids = ["019d174f-2cc4-781d-8a81-8936b3b29c99", "019d174f-2cd6-772c-97db-8fdcb16a0050", "019d174f-2ce1-7496-a7f3-2e5cae80727e", "019d299b-6609-72fc-92f6-81f3ff776193"] +++
FnHCI
Summary
FnHCI emerged from the Bolero and Blazor investigation line as the broader name for a projection system that goes beyond visual UI alone.
The shift appears to be:
- from
FnUIas a UI-focused name - toward
FnHCIas a wider human-computer interaction model
The reason this matters is scope. FnHCI is meant to cover:
- visual UI
- CLI and terminal interaction
- API and contract surfaces
- device interaction
- human workflow
- cross-surface behavior and accessibility concerns
At the current understanding, FnUI becomes a narrower visual/UI-specific system line inside FnHCI, not the whole thing. The Bolero investigation contributed the substrate insight: build on the rendering/runtime seam without inheriting the framework's ideology as the final model. From there, the concept widened into a platform-neutral projection model over multiple human-facing surfaces.
The newer FnHCI Concept Overview conversation reinforces that this is not just a naming tweak. It frames FnHCI as a unifying concept for the work already happening in NEXUS: a way to think about human-computer interaction as a projection concern that spans visual interfaces, terminal interaction, APIs, and other operational surfaces without collapsing them into a single UI-only idea.
The first explicit FnUI foundation boundary now lives in docs/fnui-foundation.md, and the current namespace/package mapping lives in docs/fnhci-namespace-map.md.
The current Penpot and cross-platform abstraction boundary now lives in docs/fnhci-penpot-abstraction.md.
Current Structural Direction
The current NEXUS interaction direction is being hardened more explicitly in ../interaction-concern-lines-contexts-and-lenses.md.
The practical reading right now is:
FnHCIis the broader interaction-system areaFnUIis one projection family or sub-area inside that larger direction- current interaction-bounded-context pressure is clustering around:
ApplicationLifecycleRuntimeOrchestrationScreenPathInteractionCompositionEventModelingremains a neighboring business context that must weave correctly with those interaction concerns rather than being collapsed into them
LaundryLog gives a concrete working example:
AppStartedbelongs toApplicationLifecycle- startup checks and first-route decisions belong to
RuntimeOrchestration - ordered screen states belong to
ScreenPath - HTML/CSS or later Android-native surface building belongs to
InteractionComposition - business commands, events, and business views still belong to
EventModeling
Working Notes
- What are the stable core primitives of FnHCI, separate from any one runtime like Blazor or Bolero?
- How should FnUI, FnCLI, FnAPI, and accessibility concerns relate as subsystems or lenses under FnHCI?
- Which parts of FnHCI belong in NEXUS universal graph language versus a software-development-specific lens?
Source Conversations
Bolero HTML vs F# DSL
- canonical conversation id:
019d174f-2cc4-781d-8a81-8936b3b29c99 - message count:
9 - providers:
chatgpt - provider conversation ids:
69b7a6d7-25d0-8332-88c9-e6a59892c07f - first occurred at:
2026-03-16T06:45:30.047614Z - last occurred at:
2026-03-16T07:57:02.4032912Z - projection file:
../../NEXUS-EventStore/projections/conversations/019d174f-2cc4-781d-8a81-8936b3b29c99.toml - graph scope command:
dotnet run --project NEXUS-Code/src/Nexus.Cli/Nexus.Cli.fsproj -- export-graphviz-dot --conversation-id 019d174f-2cc4-781d-8a81-8936b3b29c99
Excerpts
human: The difference in bolero between using HTML templates and doing F# HTML dslassistant: In entity["software","Bolero","F# web framework"], you have two main ways to define UI: 1. HTML Templates 2. F# HTML DSL They produce the **sa…
F# Dependency Management 2026
- canonical conversation id:
019d174f-2cd6-772c-97db-8fdcb16a0050 - message count:
297 - providers:
chatgpt - provider conversation ids:
69bc6941-c27c-8327-bc79-97ebdeb51501 - first occurred at:
2026-03-19T21:23:24.3719999Z - last occurred at:
2026-03-20T11:07:33.4083769Z - projection file:
../../NEXUS-EventStore/projections/conversations/019d174f-2cd6-772c-97db-8fdcb16a0050.toml - graph scope command:
dotnet run --project NEXUS-Code/src/Nexus.Cli/Nexus.Cli.fsproj -- export-graphviz-dot --conversation-id 019d174f-2cd6-772c-97db-8fdcb16a0050
Excerpts
human: is F# paket still the accepted way to handle dependencies or is there a ms solution nowassistant: search("is F# paket still the accepted way to handle dependencies or is there a ms solution now")
HTML as Graph Structure
- canonical conversation id:
019d174f-2ce1-7496-a7f3-2e5cae80727e - message count:
97 - providers:
chatgpt - provider conversation ids:
69bd356d-61b4-832f-ac05-c291a1e80d99 - first occurred at:
2026-03-20T11:54:47.6638159Z - last occurred at:
2026-03-20T13:25:55.5672249Z - projection file:
../../NEXUS-EventStore/projections/conversations/019d174f-2ce1-7496-a7f3-2e5cae80727e.toml - graph scope command:
dotnet run --project NEXUS-Code/src/Nexus.Cli/Nexus.Cli.fsproj -- export-graphviz-dot --conversation-id 019d174f-2ce1-7496-a7f3-2e5cae80727e
Excerpts
human: HTML with relation to the artifact of text of an HTML file and graph theory is described how.assistant: HTML, viewed as the text artifact in an.htmlfile, can be described in graph terms like this: An HTML file is *text that encodes a graph-shaped structure…
FnHCI Concept Overview
- canonical conversation id:
019d299b-6609-72fc-92f6-81f3ff776193 - message count:
8 - providers:
chatgpt - provider conversation ids:
69c266ec-63d8-8332-8ce9-969bcfa4b40b - first occurred at:
2026-03-24T10:26:54.2279999Z - last occurred at:
2026-03-24T10:26:54.7148079Z - projection file:
/home/ivan/NEXUS/NEXUS-EMERGING/NEXUS-EventStore/projections/conversations/019d299b-6609-72fc-92f6-81f3ff776193.toml - graph slice command:
dotnet run --project NEXUS-Code/src/Nexus.Cli/Nexus.Cli.fsproj -- export-graphviz-dot --conversation-id 019d299b-6609-72fc-92f6-81f3ff776193
Excerpts
human: fnhciassistant: You’re circling something very powerful with FnHCI. This could unify a large part of what NEXUS is already building.
Next Questions
- What should this concept mean structurally?
- Which parts are stable enough to move into durable project memory?
- What additional conversations or artifacts should be harvested into this note?