# sim-table-core
In one line: The shared rulebook for naming and requesting table data across SIM.
## What it gives you
Many parts of SIM store and fetch data arranged as tables, and they need to agree on two things: which names are allowed for a location, and how a request to read or change a table is spelled out on the wire. This crate is the single home for both. It checks that a path segment is a real, safe name -- not empty, not a sneaky parent escape, not carrying a stray separator -- and it builds a small path step by step, rejecting anything illegal as it grows. It also describes each table request in one agreed form and translates it to and from SIM data using the exact spellings the remote backends already use, so a local store and a distant one understand each other without guesswork.
## Why you will be glad
- Unsafe or malformed table names are caught early instead of causing trouble later.
- Local and remote table backends speak one request language, so they interoperate cleanly.
- One tested definition replaces the near-duplicate checks that each backend used to carry.
## Where it fits
This sits underneath SIM's table features as shared connective tissue. It holds no storage engine and does no input or output of its own; it only settles the naming rules and the request shape that every table backend depends on. Leaning solely on the core and the value helpers, it keeps table libraries consistent with each other and with the wider system.