feat(activities): resolve_context stub + evaluate_templates — T15/T16

activities.py — resolve_context (T15):
  - dispatches on source.type: 'static' returns config["value"]
  - 'http_get' / 'db_query' raise ApplicationError(non_retryable=True)
  - unknown types raise ApplicationError(non_retryable=True)

template_engine.py — evaluate_templates (T16, pure function):
  - evaluates optional condition expressions against context snapshot
    (restricted eval, no builtins)
  - interpolates {context.<name>.<key>} placeholders via str.format_map
  - returns list[{task_type, params}] with falsy-condition rows omitted

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-26 22:06:09 +00:00
parent 5e4dc6c946
commit bac3efee89
3 changed files with 130 additions and 5 deletions

View File

@@ -64,11 +64,11 @@ tasks:
state_hub_task_id: b05f046f-a6ba-4d96-a298-a0bbea067427
- id: T15
title: Implement resolve_context activity (stub)
status: todo
status: done
state_hub_task_id: 2417912f-845d-489a-ace4-fb9280d3b679
- id: T16
title: Implement evaluate_templates (pure function)
status: todo
status: done
state_hub_task_id: b7decbb6-ad2b-4fa5-8efc-05a7eb435d76
- id: T17
title: Implement log_run activity