# sealmap corpus
Generated by sealmap. Do not edit: `sealmap verify` fails on any hand edit.
## Layout
- `<source path>.md`: exactly one document per source file (the 1:1 contract).
- `_index.json`: every document and fragment, with participants, calls and merge links.
- `_model.json`: the full code model (symbols, spans, signatures, docs, relations).
- `_overview.md`: crate graph, module graphs, data models and trait maps.
## Documents
YAML front matter: `source`, `module`, `language`, `source_hash` (BLAKE3 of the
newline-normalised source), `lines`, `fragments`.
Sections:
- `## structure`: `classDiagram` of what the file defines. `<<module>>` boxes
hold free functions, constants and submodules. Stubs annotated
`<<kind in path>>` are defined in another file; `<<external>>` ones are outside
the codebase. Edges: `..|>` implements, `<|--` extends, `*--` owns,
`o--` holds via Option/Arc/Rc/&/collection, `..>` uses in a signature.
- ``## `path::to::fn` ``: `sequenceDiagram` of one function's calls in source
order. The first lane is the function's owner (its type, or its module).
`alt`/`else` = if/match arms, `opt` = if-without-else, `if let` or closure,
`loop` = for/while/loop or per-element closure, `par` = spawned task.
A `~` prefix means the callee was inferred rather than proven. `?` suffix =
error propagates, `.await` = awaited. `Note` = early return. Lanes marked
`ext` are external crates.
## Ids
Every diagram id is the canonical symbol path with `::` replaced by `__`
(`my_crate::net::Client` → `my_crate__net__Client`). The same symbol has the
same id in every diagram, so fragments can be merged by id.
## Merging
In `_index.json`, each sequence fragment lists its `calls`. A call with
`expands: "<fragment id>"` points at the callee's own sequence fragment:
inline it to deepen a sequence, or follow it to stitch flows across files.
`confidence` is `exact` (resolved through paths, imports or declared types),
`inferred` (heuristic), or `external` (outside the codebase).