edisyl ask
edisyl ask <pack> "<question>" [flags]One natural-language question → one synthesized, cited answer over the pack’s knowledge, connections, and data sources, plus any readable upstream packs it composes. Never chooses data-vs-knowledge for you, and never writes SQL for you to read.
<pack> accepts a slug, a name (case-insensitive), or a UUID. Find one with edisyl pack list.
| Flag | Behavior |
|---|---|
--wait |
Block until the answer is ready and print it with its evidence. Server window is ~60s; past that the CLI keeps polling to --timeout. |
--timeout <duration> |
Only with --wait. Default 5m. Raise it for slow data questions: --wait --timeout 20m. |
--id-only |
Print the bare Action id and nothing else; for scripting: action_id=$(edisyl ask "$PACK" "…" --id-only). |
--cron "<expr>" |
Make this a recurring scheduled ask. 30-minute minimum interval. See Scheduling. |
--at <RFC3339> |
Run this ask once, at a future time. |
--name <label> |
Optional human label for a schedule. |
-j, --json |
Machine-readable output. |
--quiet |
Drop hints and banners, keep the data. |
Without --wait
Section titled “Without --wait”action_id=$(edisyl ask "$PACK" "<slow data question>" --id-only)edisyl action watch "$action_id" # narrates progress, then prints the answeredisyl action get "$action_id" # read the final answer again, any timeWhen it can’t answer
Section titled “When it can’t answer”ask won’t fabricate. A decline that names a missing definition is a knowledge-miss → teach. A decline that can’t find or resolve data (“no rows”, “couldn’t resolve”) is a data-miss → task. See Closing gaps.
Terminal statuses
Section titled “Terminal statuses”Same five as every Action: see action for the full lifecycle, including waiting (the pack needs clarification, and nothing resumes a waiting Action; answer what it names and start a new one).
Was this page helpful?
Thanks for the feedback.
