Expand description
Chisel platform kernel: typed configuration and validated identifiers.
Two jobs, both boring on purpose:
- Typed, layered settings for the desktop app and the service, driven
by the estate’s
config_kit(file → env → overrides, strict keys, redacted secrets). - Validated identifiers —
DocumentId,UserId,SessionId— so the rest of the platform cannot pass a filename where a document id belongs.
Deliberately absent: anything PDF-shaped. The editor owns that; the kernel only carries what every platform crate needs.
Structs§
- Desktop
Settings - Desktop settings: what the editor itself reads at startup. Everything optional-with-default, because a fresh install must open with zero config.
- Document
Id - A document identity inside the platform (not the file name; the stable id the assets store indexes by).
- Service
Settings - Service settings: everything the platform side needs before a single
document moves. Secrets live in
Sensitiveso a stray{:?}cannot leak them. Deliberately notCloneand notSerialize:Sensitive’s serializer is opt-in for a reason — a settings struct that can be serialized is one debug endpoint away from leaking its DSN. - Session
Id - An authenticated session.
- UserId
- A human or machine actor on the platform.
Enums§
- Error
- Kernel failures.
Type Aliases§
- Result
- Convenient alias for kernel operations.