CLN Wiki · Design Principles
Memory-Aware UINEW TERM
= interface that models human memory @ CLN design system v1.0
Double-click any line to anchor. Right-click to tag or decide. Traces survive reload.
01//DefinitionTerm
// ##maui-def =Memory-Aware UI — an interface that models the three layers of human memory and adapts its behaviour to support them =not just storing state — understanding how humans remember .episodic: what happened, when, in what context .semantic: what something means, how it connects .spatial: where it was, position in space →UI that ignores memory forces the user to compensate
Memory layer model — what the UI must track
Episodic
when
visited 3 times this week
action
anchored line S7anchor
context
while working on search feature
Semantic
tag
#key-concepttagmarry
decision
use this pattern in v2
links
related to spatial-addr
Spatial
id
block #M7stable
section
§03 Principles
depth
60% through page

02//Three Memory LayersModel
// ##maui-layers →each layer needs different UI support // ##maui-episodic =Episodic — memory of events and experiences .what: I read this and anchored line 7 .when: yesterday at 14:32, before the standup .why: looking for the addressing scheme →UI support: trace history, timestamps, context tags // ##maui-semantic =Semantic — meaning, concepts, relationships .what this means: #tagmarry = semantic compression of episodic event .how it connects: tagmarry → spatial address → episodic anchor →UI support: tags, cross-links, related terms panel // ##maui-spatial =Spatial — position, layout, location in document .where: block #S7, section 03, page spatial-addressability .stable ID survives scroll — anchor remains addressable →UI support: stable IDs, progress indicator, section nav

03//Design PrinciplesWhy
// ##maui-principles .six principles — each targets one failure mode of standard UI
P1
Make traces visible
User actions leave marks. Anchors, tags, decisions stay visible on the page — not buried in history.
P2
Persist across sessions
Memory doesn't reset on page reload. What the user anchored yesterday is still anchored today.
P3
Address every block
Every content unit has a stable ID. Traces attach to specific locations, not floating references.
P4
Cross-page memory
Traces from other pages are visible here. One shared memory across the entire knowledge system.
P5
Differentiate gestures
Anchor ≠ tag ≠ decision. Different actions create different cognitive depth. UI reflects that.
P6
Export as knowledge
All traces are exportable as structured CLN. Memory becomes a document, not a log.
// ##maui-principle-cln →these six principles are implemented in this wiki right now .P1: anchor color visible on line .P2: localStorage survives reload .P3: every cln-line has stable id (M1…M40) .P4: Wiki Memory panel shows other-page traces .P5: anchor / tagmarry / decision — three levels .P6: CLN ↓ button exports everything

04//vs Standard UIContrast
// ##maui-contrast ~Standard UI — stateless by default -page looks identical for every user on every visit -scroll resets on reload — spatial memory lost -no trace of what was important to this user -user must rebuild context on every visit // ##maui-contrast-2 ~Memory-Aware UI — stateful by design +page reflects user's history — anchors, tags visible +spatial position remembered — scroll restored or traced +trace panel shows what mattered last time +context rebuilds itself — user picks up where they left

05//Implementation PatternsHow
// ##maui-patterns =Trace Panel — sidebar showing recent interactions .click → scroll to anchored line .timestamp shows when action happened =Gesture Hierarchy — not all clicks are equal .hover: weakest trace — attention only .double-click: anchor — spatial + episodic .tagmarry: semantic compression — strongest encoding .decision: commitment — deepest trace =Cross-Page Memory — shared localStorage key .one global key: cln-wiki-global-memory-v1 .each page writes to it on every trace action →Wiki Memory panel reads and renders it

06//RisksCaution
// ##maui-risks !Trace overload — too many anchors lose meaning !! →cap: 25 per-page, 100 global — oldest trimmed automatically !localStorage limits — 5MB per origin →CLN export keeps data safe — export before clearing !Private browsing resets all traces on close →export to .cln file for permanent record ?Should traces sync across devices via server? ?Should old traces fade in opacity over time?

07//In CLNImplementation
// ##maui-cln-impl .every cln-line gets id="M{n}" — spatial address .dblclick → doAnchor() → episodic trace created .tagmarry modal → doTag() → semantic trace created .addTrace() mirrors to GLOBAL_KEY automatically .restoreVisuals() on load — page remembers itself .renderGlobalPanel() — shows other-page context .exportCLN() → structured .cln download →this page is itself a Memory-Aware UI implementation // ##maui-note *the term "Memory-Aware UI" was coined during CLN wiki design — Feb 2026 *closest prior art: Memex (Bush 1945), Augmented Cognition (DARPA) *differs from "adaptive UI" — adapts to memory, not preferences
◉Anchor
▤Tagmarry
✎Decision