pub fn merge_init_ctx_3layer(
bp_default: Option<&Value>,
task_init_ctx: &Value,
run_override: Option<&Value>,
) -> ValueExpand description
Issue #19 ST4: 3-layer shallow-merge of the init-ctx cascade — BP
default → Task → Run (lowest to highest priority). Built by chaining
[merge_init_ctx] twice rather than introducing a distinct 3-way merge
algorithm, so the Run layer inherits exactly the same “shallow Object
merge, non-Object fully replaces” rule [merge_init_ctx] already
established for the BP/Task pair (see its doc for the full semantics).
run_override: Noneis a no-op — the BP+Task merge passes through unchanged, soPOST /v1/tasks/:id/runswith no body (or a body that omitsinit_ctx_override) preserves today’s rekick behavior byte-for-byte.run_override: Some(_)layers on top exactly liketask_init_ctxlayers on top ofbp_defaultabove: bothObject→ shallow key-wise merge with Run winning collisions; Run non-Object→ fully replaces the BP+Task merge.