The semantic taxonomy system, outlined in a technical document published on DEV Community by developer Sui Gn, establishes strict rules for how different types of application data should be organized and accessed within the .me namespace structure.
The core principle separates data into distinct categories: canonical semantics (permanent user identity data), operational state (runtime system information), and visual state (temporary interface elements). The system designates profile.* and auth.* paths as canonical data that must be publishable and resolvable by cleaker.me, while ui.* and runtime.* paths remain local to individual devices or sessions.
"The namespace is the owner of the meaning," the document states, emphasizing that data organization must follow semantic logic rather than convenience. This approach aims to prevent what the author calls "contamination" - the mixing of different data types that can lead to architectural problems in software development.
The taxonomy includes specific writing and reading rules. GUI components are forbidden from writing to canonical paths like profile.* or auth.* unless explicitly flagged with allowCanonicalWrite: true. Meanwhile, identity components must read exclusively from canonical paths, while view state components should access ui.cleaker.* and operational components should use runtime.cleaker.*.
The document provides clear examples of correct implementation, such as storing usernames in me.profile.username and modal states in me.ui.cleaker.modalOpen. It explicitly warns against incorrect practices like storing interface elements in profile data or mixing device-specific information with user identity.
The system appears designed for the "Cleaker" application or platform, with the author describing the document as "the bible for the Cleaker refactor and all future components." This suggests the taxonomy is being implemented as part of a significant application restructuring effort.
The approach reflects broader software development trends toward better data organization and separation of concerns, principles that help maintain code quality and prevent technical debt as applications scale.