Task catalog

At a glance

Updated

  • Dispatch: TASK_REGISTRY_V1 maps task_id → implementation; unknown IDs raise UnknownContractError before any transport runs.
  • Specs: align onboarding with ContractSpec, Schemas, and Priority contracts.
  • Boundary: this library owns contracts + parsing surfaces; hosts own gateways and custody — see Runtime boundary.

Each task lives under src/forge_lcdl/contracts/<task_id>/v1/ with contract.md and contract.json. Use this page as a human index; the handbook build still emits one HTML page per contract for deep links.

Task catalog handbook bridge

How this human index links grouped task lists to governed per-contract handbook pages.

  1. Human hub (task-catalog.md)Developers browse grouped tables and contract deep links on this page.
  2. TASK_REGISTRY_V1 implementationsDispatch maps each task_id to its registered callable implementation.
  3. generated per-contract handbook HTMLThe handbook build emits one HTML page per contract.md spec.

Registry and implementations

  • TASK_REGISTRY_V1 (src/forge_lcdl/tasks/catalog_v1.py) maps task_id → version → callable for runner.run_task / TaskRunner. Unknown IDs raise UnknownContractError at dispatch time.
  • Implementations live beside registry modules under src/forge_lcdl/tasks/ (Playwright, games, RAG, generic catalog builders).
  • Contracts are Markdown + JSON Schema sidecars under src/forge_lcdl/contracts/**; generic catalog tasks share the same harness—domain pw_* / game tasks add richer payloads but follow the same Ok/Err envelope.
  • Validation: outputs are parsed JSON checked against contract.json; failures surface as Err with structured diagnostics (see Tutorial 101 — debug).
  • Adding a task: add contracts/<task_id>/v1/{contract.md,contract.json}, register in TASK_REGISTRY_V1 (or lazy registry helpers), add tests with fake_chat, then refresh this catalog table.

Representative generic catalog tasks

task_id Role
extract_schema_from_text Pull structured schema drafts from prose
llm_boolean_gate Binary gate
llm_enum_route Single-label routing
llm_multi_label Multi-label scoring
word_problem_to_calc_plan Word problem planning
summarize_sections_schema Section summaries with schema
timeline_extract Timeline extraction
contradiction_scan Cross-passage contradiction detection
decompose_problem Decomposition units
plan_decision_pack DecisionPack graph sketch

Path template: ../../src/forge_lcdl/contracts/<task_id>/v1/contract.md (replace <task_id>).

Generic analysis and planning

task_id Notes
analyze_strategic_form Strategic-form analysis
automation_situation_arbitrate Governed LLM decision break-in (tri-state, fallback-safe)
contradiction_scan Cross-text contradictions
decompose_problem Problem decomposition
extract_quantities_and_units Quantities / units
extract_schema_from_text Schema extraction
generate_script_prompt Prompt generation helper
llm_boolean_gate Yes/no gate
llm_enum_route Single-label route
llm_multi_label Multi-label scores
mechanism_compare_prose Mechanism comparison
plan_decision_pack DecisionPack graph draft
summarize_sections_schema Section summaries
timeline_extract Timeline extraction
word_problem_to_calc_plan Word problem → calc plan

RAG and evidence

task_id Notes
answer_from_evidence Answering with citations
inject_citations Citation injection
rag_enough_context_gate Context sufficiency gate
rag_query_plan RAG query planning

Playwright and page intelligence (pw_* and probes)

task_id Notes
interaction_probe Interaction probe
page_mechanics Page mechanics artifact
page_probe Page probe
pw_chunk_classify Chunk classification
pw_extractor_synthesize_exemplar Exemplar synthesis
pw_extractor_synthesize_probe Extraction probe synthesis
pw_grading_signal_infer Grading signal
pw_incremental_diagnose Incremental diagnosis
pw_mechanics_repair Mechanics repair
pw_network_api_route_infer API route inference
pw_page_kind_route Page kind routing
pw_quiz_mechanics_discover Quiz mechanics discovery
pw_selector_harden Selector hardening
pw_static_mcq_mechanics_discover Static MCQ mechanics

Games

task_id Notes
board_game_choose_move Choose a legal move
board_game_coach_notes Coach notes
board_game_rank_moves Rank moves
game_move_explain Explain move
game_move_parse Parse move
game_move_rank Rank move options

Validation and misc

task_id Notes
validation_failure Validation failure artifact

See also