Explorer + Debugger: Unified Workflow

The yichus explore command now combines static graph analysis (explorer) with runtime provenance tracing (debugger) in a single daemon. Load source files, explore the dependency graph, generate traces, and debug values, all through one interface.

Pipeline Demo: Multifile Data Flow

This demo uses a 5-file data pipeline (demos/pipeline/) to show cross-file exploration and debugging working together.

Files

  • types.bosatsu: Record, ValidationResult
  • ingest.bosatsu: IO reads from database
  • transform.bosatsu: Pure data transforms
  • validate.bosatsu: Real vs fabricated validation
  • pipeline.bosatsu: Orchestrator

What to look for

  • IO ingest and pipeline have real IO operations
  • pure transform is fully pure, with no IO
  • trust validate has a suspicious hardcoded_pass path

1. Load and explore (static analysis)

$ yichus explore --daemon-server $ yichus explore --load demos/pipeline/*.bosatsu --as pipeline loaded target "pipeline" (5 files, 5 packages) $ yichus explore --overview pipeline/Demo/Pipeline --overlay trust Demo/Pipeline/Validate/choose_validator dead-input (False branch) Demo/Pipeline/Validate/hardcoded_pass literal-root Demo/Pipeline/Ingest/ingest_record IO read Demo/Pipeline/pipeline/run_pipeline IO read + write

2. Generate trace and debug (runtime provenance)

$ yichus explore --generate-trace pipeline generated trace: 8 nodes from pipeline.bosatsu $ yichus explore --debug-list-nodes n0 literal "pipeline-v1" n1 binding raw IO read n2 binding normalized pure n3 binding enriched pure n4 binding validated conditional n5 binding result IO write $ yichus explore --debug-explain n4 n4: validated depends on: n3: enriched (apply_transform) n2: normalized (normalize) n1: raw (ingest_record) IO n0: "pipeline-v1" literal

Architecture

Explorer (Static)

Compiles Bosatsu to Matchless IR, builds a dependency graph, and answers structural queries about which bindings exist, where their IO sites are, and what the trust signals say.

Debugger (Runtime)

Generates a provenance trace from source, capturing every computed value and its dependencies. Supports explain, focus, find-by-value, and path queries.

Unified Daemon

A single Unix socket server holds both the explorer workspace and debugger trace state. Both sides share the same protocol, the same CLI command and the same MCP server.