Source
Purpose
One document as found — where it sits and the text it holds, before the atlas has decided
anything about it. A source carries its place in the tree it was found in: the stack it belongs
to, the layer within that stack, the folder it sits in, and the filename it goes by. What the
text means — whether it is a draft at all, what name it declares, what kind its folder gives
it — is the Reading's judgement, never the source's; the source only holds what was there.
Attributes
- stack: is
Textthat names the stack the source was found in - layer: is
Textthat names the layer within that stack — empty for the stack's own root, which belongs to no layer - folder: is
Textthat names the folder the source sits in — its last path segment, exactly as found - filename: is
Textthat the source goes by - text: is
Textthat holds the document whole and unchanged, as found
Invariants
- The filename is not empty.
Scenarios
A source is where it sits and what it holds
Given: the stack "convene", the layer "mix", the folder "data", the filename "Cell.md", and a text of several lines — a leading header declaring "Cell" and a body beneath it When: a Source is created Then: it is accepted, sits at "convene" / "mix" / "data" / "Cell.md", and holds exactly the text given, whole and unchanged