forge-lcdl

Task packs and registration

Built-in tasks are grouped into packs so optional domains (games, Playwright, RAG) can be controlled without editing catalog_v1.py for every deployment.

forge_lcdl.tasks.packs.install installs packs according to FORGE_LCDL_TASK_PACKS:

  • Unset, empty, or *generic, rag, playwright, games (parity with historical “install everything” behavior).
  • Comma list → e.g. generic,rag (omit playwright / games).

Implementation detail: ensure_builtin_tasks_registered in tasks/registry.py calls install_default_packs() once (lazy, idempotent).

Pack contents

Pack Contents
generic TASK_REGISTRY_V1 entries except RAG task IDs and game task IDs
rag rag_query_plan, rag_enough_context_gate, answer_from_evidence
playwright pw_* v1 tasks
games Board + move catalog tasks (board_game_*, game_move_*)

Constants RAG_TASK_IDS and GAME_TASK_IDS live in forge_lcdl.tasks.packs.install.

Custom tasks

Continue to use register_task(TaskSpec(...)) for app-specific tasks; packs only cover shipped builtins.

See also