3.8. The resulting event tree
After these choices, one file in the indexing capture has a clear structure:
indexer.run ├── source.read step=17, activity=filesystem ├── source.parse step=17, phase=parse ├── source.analyze step=17, module=Project.Parser │ backend=incremental └── index.write step=17, phase=output
withStep supplies metadata; it does not create another span. The trace therefore keeps step 17 on
each event while preserving the actual parent relationships. The summary combines repeated steps
under stable keys. A synchronized foreign interval states what completion means, and any memory
fields come from an identified adapter. Nothing in the report has to be interpreted as an
unlabelled convention.