| name | ebuilder-sql-query-post-pipeline |
| description | Post-pipeline playbook for query-* definitions in configs/sql.*.yml. USE FOR: query.<name>.post task-only result transformation, entries chaining, and baseCommand key-merge override behavior. DO NOT USE FOR: pre-step setup logic. |
eBuilder Query Post Pipeline
Purpose
Use this skill when designing post result-processing for query-*.
Scope
query.<query_name>.post behavior.
- Step chaining through
entries.
- Base-command merge/override semantics for post steps.
Current Engine Support
- Post step supports
task only.
- Each post step receives exactly one input param:
entries.
- The task output (
taskResult.Body) is passed as entries to the next step.
- The last post step output is the final query response.
Current limitation:
query and params fields are not supported in post steps.
BaseCommand Merge Rules
- If only base query defines
post, base post is used.
- If both base and query define
post, steps are merged by key.
- Same key in query overrides base step.
- Query-only keys are appended after merged base steps.
Example
query:
query-users-base:
datasource: main
command: |
SELECT id AS "id", name AS "name"
FROM users
post:
- key: normalize
task: task-normalize-users
- key: attach-meta
task: task-attach-base-metadata
query-users:
baseCommand: query-users-base
post:
- key: normalize
task: task-normalize-users-v2
- key: decorate
task: task-decorate-users
Deterministic Checks
- Every post step has a unique
key.
- Every post step uses
task only.
- Task contracts accept and return
entries shape consistently.
- Base override keys are intentional and documented.
- Unsupported post fields (
query, params) are not used.