Implement the mapper
Stub
This How-to is a stub. JARVIS has a working mapper (Selection → binding → arg-gen), but the user-facing authoring story is still evolving.
Goal
You will map each subtask to a bounded CandidateSet, bind to a specific NodeTypeRef, and generate the concrete input for the chosen node.
When to use this
- You want a clean separation of responsibilities:
Selectionproduces a bounded menu (CandidateSet),- the composite executor performs binding + argument generation.
Prerequisites
- A running
Selectionservice that can queryNode Registryinventory - A binding strategy (deterministic first; LLM-assisted later)
- An argument generation (arg-gen) schema for each target
NodeTypeinput
Steps
- For each subtask, call
Selectionto get a boundedCandidateSet. - Choose one candidate (binding decision) and record it as an artifact/event.
- Run arg-gen to produce the concrete input JSON for the chosen
NodeTypeRef. - Create the child
NodeRunviaRun Coordinator.
Verify
- Each subtask produces:
- a
CandidateSetartifact, - a binding decision artifact,
- an arg-gen artifact (inputs for the chosen node).
- a
- Child
NodeRuns are created with schema-valid inputs.
Troubleshooting
- Empty candidate set → inventory/policy/constraints filtered everything → validate
Node Registryseeding +Selectionconfiguration. - Binding picks a wrong node → keep binding deterministic and conservative until eval/recovery loops are mature.
- Arg-gen produces invalid inputs → fail closed; trigger recovery (remap or retry with bounds).
Cleanup / Rollback
- None.
Next steps
- Concept: Candidate sets
- Reference: ARP Standard: Selection
- How-to: Implement recovery actions