Closing gaps: teach vs. task
connect a data source ──► creates a pack │ teach (add knowledge) ─────┤ ▼ ask the pack ◄─── your questions │ can't answer = a gap ┌─────┴─────┐ knowledge-miss data-miss → teach → task (curate) └──► ask again ◄──┘This loop is the steady state of operating a pack. Answer questions with ask. When it can’t, that’s a gap, and it tells you enough to route it:
- An answer that says it lacks a definition is a knowledge-miss →
teach. - An answer that can’t find or resolve the data (“no rows”, “couldn’t resolve”) is a data-miss →
task.
ask won’t fabricate an answer to paper over either kind of gap.
Knowledge-miss → teach
Section titled “Knowledge-miss → teach”When ask lacks a fact or definition, the fix is more knowledge. Pick the cheapest reliable source for the missing topic:
- You already know it, or it’s general: draft a short, factual note.
- Publicly researchable: research it, synthesize a concise note, cite the sources. Or hand it to the pack:
edisyl task "$PACK" "research X and add it to the pack". - Org-internal or unverifiable: ask whoever owns that knowledge to provide it. Don’t invent it.
Only on confirmation:
edisyl teach "$PACK" --text "<the note>" # or --file <path>edisyl action watch <action-id> # wait until indexededisyl ask "$PACK" "<the failing question>" --wait # re-askData-miss → task the pack to curate
Section titled “Data-miss → task the pack to curate”When ask can’t find or resolve modeled data, hand the pack the work in plain language. By default, task runs the pack’s coordinated fleet: a planner delegates to specialists, models tables, and enriches the semantic layer so the next ask lands. Pass --fast for a single direct executor on a bounded objective.
action_id=$(edisyl task "$PACK" "The 'active wallets' question failed to resolve — model the wallet/swap tables so it answers." --id-only)edisyl action watch "$action_id" # narrates the plan and each step as it movesedisyl action plan <action-id> # the board on demand: what's working now, what's up nextedisyl action events <action-id> # raw event tail, when you need to diagnoseedisyl action get <action-id> # summary + artifacts once terminaledisyl ask "$PACK" "<the failing question>" --wait # re-ask — it should land nowtask is also the verb for any broader work: “audit the validator docs and flag anything stale”, “focus enrichment on the DeFi sources”, and a task can itself ask and teach as child Actions.
Use judgment on when to curate
Section titled “Use judgment on when to curate”Curate once after connecting a source, and whenever a data-miss ask exposes a real gap. Don’t curate on every question, and don’t curate a knowledge-miss; that’s a teach, not a task.
This loop is reactive by nature: it only routes a gap once an ask exposes it. To declare what a pack must answer before anyone asks, see Declaring objectives, the standing counterpart to this same routing instinct.
Next: Scheduling recurring work turns this same loop into something that runs itself.
Was this page helpful?
Thanks for the feedback.
