docs: konsol-exec orchestrator design (epic konsol#56)
Open-source Excel-native EPM and consolidation for SAP & Dynamics
Brought to you by:
konsolid-at
Originally created by: grynn-in
Design doc for the konsol-exec orchestrator epic (konsol#56, phases #57/#58/#59). Architecture, doctype model, ASCII control plane, reuse-vs-build, phasing.
π€ Generated with Claude Code
Originally posted by: grynn-in
Review: konsol-exec orchestrator design (epic konsol#56)
Docs-only PR β one new file,
docs/developer-guide/design/konsol-exec-orchestrator.md(+134). I reviewed in two passes (technical accuracy vs. the konsol codebase, then nits) and verified the referenced symbols against the current konsol checkout (konsol#60).Technical accuracy is strong β every code reference checks out:
control_api.py+PROCESSESexist (konsol/control_api.py:13), andtrigger_pipeline(pipeline/doctype/pipeline_run/pipeline_run.py:10),run_governed_build(tasks.py:93),trigger_close_run(consolidation/doctype/close_run/close_run.py),_run_airbyte_sync/_run_dbt_build(tasks.py),run_close_assertions(consolidation/doctype/close_run/close_run.py:237), andclose_run.jsall exist as described.konsol.orchestrator.run(line 70) already matches a real scaffold (konsol/orchestrator/run.py), so the design is well-grounded.Blocking issues
DAG diagram contradicts the actual dbt layer order (line 60). The ASCII DAG shows
seed β staging β silver β bronze β gold, but bronze comes before silver: silver modelsref()bronze (e.g.silver_gl_entries.sqlreadsbronze_general_journal_account_entries;silver_fiscal_periods.sqlreadsbronze_fiscal_calendar_years), and bronze reads staging. This also contradicts the doc's own prose on line 7 (stagingβbronzeβsilverβgold). Swap toseed β staging β bronze β silver β gold. (Trivial fix.)New design doc is not added to the mkdocs nav.
mkdocs build --strictpasses (the orphan message is INFO-level), but every sibling under the Design Documents section is listed inmkdocs.yml(FX Translation, CTA, Minority Interest, Topside Journals, Allocations, etc.) β this doc is omitted, so it's undiscoverable from the site. Add an entry under Design Documents (e.g. a new "Platform / Orchestration" subsection). (Trivial fix.)Non-blocking nits
PROCESSEScurrently has four entries βbudgeting,forecasting,consolidation,assertions(split out in konsol#60,control_api.py:13). The "today" baseline used to motivate the design is one card behind. Consider "the process cards" or noting the 4th.konsol #55(space) andkonsolidat #91and bare#109/#110/#111. The PR title useskonsol#56(no space). Pick one convention.trigger_pipeline/run_governed_build/trigger_close_run") is a slight simplification β budgeting/forecasting/consolidation all route throughrun_governed_buildviabuild_scope, while close/assertions usetrigger_close_run. Reads fine as a design-level summary; optional to tighten.Verification
docker/frappe/konsol@konsol#60(current). All referenced functions/files present. βref()graph indbt_project/models/{bronze,silver}anddbt_project.ymlordering. βmkdocs build --strict: passes (exit 0); confirmed the new page appears in the INFO "not included in nav" list. βMERGE RECOMMENDATION: BLOCKING β two trivial fixes (DAG bronze/silver order line 60; add to mkdocs nav), then merge-ready.
Ticket changed by: grynn-in