CLI reference

yichus why

Evaluate one binding on typed inputs and report why the output is what it is

This help is generated from the same argument parser as the CLI. For a subcommand, append its name and --help to see its options.

Usage: yichus why [--binding <string>] [--inputs <string>] [--rows <string>] [--seed <integer>] [--variations <integer>] [--no-observe] [--output <string>] [--shape] [--record <string>] [--replay <string>] [--propose] [--narrative] [--brief] [<files>...]

Evaluate one binding on concrete typed inputs: sound influence facts beside bounded run observations

Options and flags:
    --help
        Display this help text.
    --binding <string>
        The binding to evaluate, as Pkg/Name::binding (required unless --shape or --replay)
    --inputs <string>
        JSON object {param: value} of provided inputs; unlisted params are seeded. A handler's Principal parameter may be provided here too ({"p": {"user_id": ..., "roles": [...]}})
    --rows <string>
        JSON object seeding the in-memory world for an IO handler: {table: [row, ...]} numbers rows "1".."n"; {table: {id: row}} sets ids (a handler reading by the principal's user_id needs a row under that id)
    --seed <integer>
        Run seed; the whole run replays byte-identically from this one number
    --variations <integer>
        Variations per differential axis
    --no-observe
        Skip the differential runs; evaluate and report soundFacts only
    --output <string>, -o <string>
        Write the JSON response to this path instead of stdout
    --shape
        Print the in-memory world's shape for these files (tables, whether a row is a record or the whole list, the record fields, the principal and enum JSON forms) instead of evaluating
    --record <string>
        Also write the self-contained run record (the response with every source's content) to this path; --replay compiles it again anywhere
    --replay <string>
        Re-run the request recorded at this path against its embedded sources (or the files given, reporting a sources hash mismatch) and say whether the response is identical
    --propose
        Print only the run's proposals: the discriminating experiments derivable from its facts, each a complete request
    --narrative
        Print only the run's narrative: the response in sentences, with what is proven for every input and what was observed on this run in separate paragraphs (the same string the response carries as 'narrative')
    --brief
        Print the run as a short page: the call, the value of each named step on the way to the result, what each input moves when varied (field by field, with deltas), and what is proven for every input

Make a calculator · Build an API · MCP / WebMCP docs