Skip to content

Extending GraveTrail

Parsers: add a module under src/dataforge/parsers/ returning ParseResult, with Operation inputs/outputs, exact code/line ranges, Usage direct references and Diagnostic uncertainties. Add file extension routing in ingestion/services and UI filters. Never execute imported content. Add positive and negative fixtures and bump PARSER_VERSION.

Providers: add a validated provider identity/default URL and protocol branch in Adapter. Test payloads, auth headers, discovery, retries and responses with HTTPX MockTransport. Honor external/context/privacy gates and never persist a secret. Unsupported model capabilities must be configurable, not silently assumed. Keep prompt/schema regressions synchronized.

Pages/tools: add a script under ui/pages/, register with st.Page in app.py, reuse ui.common exact asset selection/source view/downloads. Keep business logic in services and use existing facts. Test rendering/interactions with AppTest and custom JS in a real browser.

Schema: add a numbered, transactional, additive migration; never drop facts as a shortcut. Back up a stopped runtime home before release. Derived tables are rebuilt atomically from inventory; keep stable IDs and source-version evidence across interfaces.

Exporters/graphs: preserve all edge evidence when filtering/collapsing nodes. Bound fanout, traversal, paths and HTML rendering. Reuse the offline renderer; render untrusted strings as text and safely encode JSON. Any new scientific/performance claim needs a recorded workload.