Ingest L0 - stub bootstrap from TADIR
Creates (or updates) the L0 stub for every custom object in the TADIR. Everything is
deterministic: no sub-agents, parallelism via devclass partitioning.
State lives in state/abap_wiki.db (see core/docs/01-pipeline-l0-l1.md).
When to use it
- First-time initialization of the repo (empty DB).
- Arrival of a new export
raw/tadir/TADIR_Z_<YYYYMMDD>.XLSX.
Procedure
Shortcut:
python core/src/tools/pipeline.py l0-runruns steps 1-6 as a single deterministic command (newest TADIR inraw/tadir/or--file). The step-by-step procedure below remains the reference for diagnostics.
All commands must be run from the repo root with the venv active.
- Initialize the schema (idempotent):
python core/src/tools/pipeline.py init-db - Import the TADIR (dtype=str, excludes objects already removed from the L1 queue):
python core/src/tools/pipeline.py import-tadir --file raw/tadir/<most recent TADIR>.XLSX - Resolve sources (unique in-memory index, deterministic hash):
python core/src/tools/pipeline.py resolve-sources - Create L0 stubs (all, or by devclass partition in parallel across multiple sessions):
Idempotent: re-running on an already-processed package is a no-op.python core/src/tools/pipeline.py ingest-l0 # all python core/src/tools/pipeline.py ingest-l0 --partition ZPACKAGE # one package - Enqueue L1 (only analyzable types with available source):
python core/src/tools/pipeline.py enqueue-l1 - Verify and commit:
python core/src/tools/pipeline.py progress python core/src/tools/pipeline.py export-excel python core/src/tools/pipeline.py git-commit --message "ingest L0: <export>"
Rules
- Never modify
raw/(only the user stages it when updating the export). - Indexes (
abap_wiki/_packages/,abap_wiki/index.md) are regenerated from queries: do not edit them manually. - If unknown TADIR types appear they are mapped to
tadir-<x>and listed inoutput/reports/unknown-tadir-types.md(non-blocking).