From a64ffc5a94ee4749aeb32051118ce282dcd35768 Mon Sep 17 00:00:00 2001 From: Youssef Menjour <71812679+Ymenjour@users.noreply.github.com> Date: Sat, 23 May 2026 14:21:39 +0200 Subject: [PATCH 1/5] docs: clarify end-to-end execution pipeline --- Readme.md | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) diff --git a/Readme.md b/Readme.md index 67d0c41..2f34570 100644 --- a/Readme.md +++ b/Readme.md @@ -41,6 +41,7 @@ Start herePositioningExecution architecture • + Execution pipelinePublic boundaryRepository mapPublished state • @@ -137,6 +138,106 @@ It is preserved with the detailed explanation in
+

End-to-end execution pipeline

+ +

+A FROG program starts from canonical .frog source. The +.frog file owns the program-level source: metadata, public +interface, executable diagram, optional front panel, widget instances, and +diagram/widget bindings. +

+ +

+When a front panel is present, canonical source may reference widget classes, +widget packages, or realization choices. .wfrog packages publish +widget-oriented package content such as reusable widget law, compositions, +realization metadata, bounded behavior surfaces, host-binding metadata, and +visual resources. SVG assets may participate as visual realization resources. +None of those artifacts replaces .frog as the canonical program +source, and none of them becomes hidden language semantics. +

+ +
.frog source
+  -> loadability
+  -> structural validation
+  -> semantic validation
+  -> validated program meaning
+  -> FIR / Execution IR
+  -> lowering
+  -> backend contract
+  -> runtime-family and/or compiler-family consumption
+ +

+For compiler-family paths such as LLVM, the lowered form may be consumed to +produce an LLVM-oriented module, native proof, or native loadable artifact. +LLVM remains a downstream compiler-family consumer; it does not define FROG +semantics and does not replace the runtime boundary. +

+ +

+For runtime-family paths, the runtime consumes explicit contracts and published +artifacts. It may instantiate a front panel through a host-specific UI layer, +bind widget values or widget references to execution-facing units, load or call +compiled artifacts when applicable, execute the dataflow unit, and project +results, diagnostics, and observability back to source-meaningful objects. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Artifact or layerPipeline role
.frogCanonical program source.
.wfrogWidget/package publication or realization metadata.
SVG/assetsVisual realization resources.
FIR / Execution IROpen execution-facing representation derived from validated meaning.
LoweringTarget, backend, runtime, or deployment specialization.
Backend contractExplicit downstream handoff.
LLVMOne possible compiler-family consumer and native proof path.
RuntimeExecution and orchestration consumer of explicit contracts and artifacts.
Host UIRendering and interaction surface; replaceable across host families.
+ +

+The practical reference-corridor details are documented in +Reference Pipeline. +A concrete UI/runtime/LLVM-oriented example is documented in +Example 05 — Bounded UI Accumulator. +

+ +
+

Public Specification and Implementation Boundary

@@ -254,6 +355,7 @@ published-state and maturity notes that used to live here.

  • Start with this root README.
  • Read FROG Strategy and Positioning for why the language exists.
  • Read FROG Architecture for source, FIR, lowering, runtime/compiler, and observability posture.
  • +
  • Read End-to-end execution pipeline for the short path from source to runtime/compiler consumers.
  • Read FROG Repository Guide for the detailed repository map.
  • Use Examples and Conformance for concrete validation material.
  • Use FROG Project Status for the current published state.
  • From c87f078254ea86e3ecf5c584075a9702fca9f936 Mon Sep 17 00:00:00 2001 From: Youssef Menjour <71812679+Ymenjour@users.noreply.github.com> Date: Sat, 23 May 2026 14:23:07 +0200 Subject: [PATCH 2/5] docs: clarify reference execution corridor --- Implementations/Reference/pipeline.md | 74 +++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/Implementations/Reference/pipeline.md b/Implementations/Reference/pipeline.md index 3763c06..497ff57 100644 --- a/Implementations/Reference/pipeline.md +++ b/Implementations/Reference/pipeline.md @@ -38,6 +38,80 @@ runtime-family tests and native-kernel bridge checks documented under
    +

    How the Current Reference Corridor Runs

    + +

    +This section describes the current reference corridor as a non-normative +implementation-facing shape. It explains how the published artifacts are wired +together for the bounded public reference runtime closure. It does not define +the FROG language, widget law, runtime law, LLVM law, or future production +implementation strategy. +

    + +
    main.frog
    +  -> loadability
    +  -> structural validation
    +  -> semantic validation
    +  -> main.fir.json
    +  -> main.lowering.json
    +  -> backend contract
    +  -> runtime acceptance
    +  -> LLVM-oriented module / native proof where applicable
    +  -> runtime orchestration
    +  -> host UI / front-panel update where applicable
    + +

    +The current UI and native-proof corridor has two visible branches that meet at +the runtime boundary. +

    + +

    +The diagram and computation branch is: +

    + +
    .frog diagram
    +  -> loadability / structural validation
    +  -> semantic validation
    +  -> FIR / Execution IR
    +  -> lowering
    +  -> backend contract
    +  -> LLVM-oriented module or native loadable artifact where applicable
    +  -> runtime call/load boundary
    + +

    +The front-panel and widget branch is: +

    + +
    .frog front_panel
    +  -> widget instances and diagram/widget bindings
    +  -> .wfrog packages or realization packages
    +  -> SVG/assets and realization resources
    +  -> host UI
    + +

    +The runtime joins those branches by consuming explicit published artifacts +rather than by becoming the owner of language semantics. In the current +reference corridor, runtime-family consumers may: +

    + + + +

    +LLVM remains one compiler-family proof path in this repository. It may consume +lowered material to produce an LLVM-oriented module or native proof artifact, +but it does not replace FIR, does not define FROG semantics, and does not make +the runtime LLVM-specific. +

    + +
    +

    Command

    python Implementations/Reference/Pipeline/check_examples01_10_full.py
    From 9b4d5bd1f271665986eb2fa59916ddca62d87219 Mon Sep 17 00:00:00 2001 From: Youssef Menjour <71812679+Ymenjour@users.noreply.github.com> Date: Sat, 23 May 2026 14:25:02 +0200 Subject: [PATCH 3/5] docs: add example 05 execution pipeline companion --- .../Execution pipeline.md | 109 ++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 Examples/05_bounded_ui_accumulator/Execution pipeline.md diff --git a/Examples/05_bounded_ui_accumulator/Execution pipeline.md b/Examples/05_bounded_ui_accumulator/Execution pipeline.md new file mode 100644 index 0000000..92b69c3 --- /dev/null +++ b/Examples/05_bounded_ui_accumulator/Execution pipeline.md @@ -0,0 +1,109 @@ +

    + FROG logo +

    + +

    Example 05 Execution Pipeline

    + +

    + Concrete source, FIR, lowering, runtime, widget, and LLVM-oriented proof corridor for Example 05
    + FROG — Free Open Graphical Language +

    + +
    + +

    Purpose

    + +

    +This page explains how Examples/05_bounded_ui_accumulator runs through the current public reference corridor. +It is a concrete companion to Example 05 — Bounded UI Accumulator. +

    + +

    +The page is descriptive and non-normative. It does not make LLVM part of FROG semantics, does not define a production runtime, and does not turn one hosted UI into the FROG language runtime identity. +

    + +
    + +

    Artifact Flow

    + +
    Examples/05_bounded_ui_accumulator/main.frog
    +  -> loadability
    +  -> structural validation
    +  -> semantic validation
    +  -> Examples/05_bounded_ui_accumulator/main.fir.json
    +  -> Examples/05_bounded_ui_accumulator/main.lowering.json
    +  -> Implementations/Reference/ContractEmitter/examples/05_bounded_ui_accumulator.reference_host_runtime_ui_binding.contract.json
    +  -> Implementations/Reference/Runtime/acceptance/example05_runtime_family.acceptance.json
    +  -> Implementations/Reference/LLVM/examples/05_bounded_ui_accumulator/module.ll
    +  -> Implementations/Reference/LLVM/examples/05_bounded_ui_accumulator/kernel.ll
    +  -> Implementations/Reference/LLVM/examples/05_bounded_ui_accumulator/native_kernel_manifest.json
    +  -> runtime bridge and hosted front-panel snapshot
    + +
    + +

    Two Branches Joined by the Runtime

    + +

    Diagram and computation branch

    + +
    main.frog diagram
    +  -> validated program meaning
    +  -> FIR / Execution IR
    +  -> lowering
    +  -> backend contract
    +  -> LLVM-oriented module / native proof where applicable
    +  -> runtime call boundary
    + +

    +The diagram branch owns the executable dataflow path. In this example, the bounded accumulator computes the result from the public input and explicit stateful iteration shape. +

    + +

    Front-panel and widget branch

    + +
    main.frog front_panel
    +  -> ui/accumulator_panel.wfrog
    +  -> Libraries/Realizations/Default/assets/numeric/templates/numeric_rectangular.svg
    +  -> hosted numeric control and indicator realization
    +  -> runtime widget bindings
    + +

    +The front-panel branch owns the visible widget layout and realization-facing path. The .wfrog package and SVG asset support realization; they do not replace .frog as the program source and do not define hidden language semantics. +

    + +
    + +

    Runtime Role

    + +

    +The runtime is the orchestration consumer at the point where the two branches meet. +For this example, the runtime-family corridor may: +

    + + + +

    +In a hosted Run/Execute loop, the host samples the input-side widget value, the runtime executes the bounded dataflow unit, and the result is projected back into the output-side widget and published snapshot. +

    + +
    + +

    Boundary

    + + From 11a1b8206ada9b622531ebd95b75a84616eb512a Mon Sep 17 00:00:00 2001 From: Youssef Menjour <71812679+Ymenjour@users.noreply.github.com> Date: Sat, 23 May 2026 14:25:40 +0200 Subject: [PATCH 4/5] docs: add hybrid UI compiler FIR clarification --- IR/Hybrid UI compiler execution.md | 166 +++++++++++++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 IR/Hybrid UI compiler execution.md diff --git a/IR/Hybrid UI compiler execution.md b/IR/Hybrid UI compiler execution.md new file mode 100644 index 0000000..2654d7b --- /dev/null +++ b/IR/Hybrid UI compiler execution.md @@ -0,0 +1,166 @@ +

    + FROG logo +

    + +

    FIR in Hybrid UI and Compiler Execution

    + +

    + Clarifying the role of FIR when front-panel widgets, runtime orchestration, and compiler-family artifacts meet
    + FROG — Free Open Graphical Language +

    + +
    + +

    Purpose

    + +

    +This companion note clarifies how FIR participates in a practical FROG execution corridor that includes a front panel, widget bindings, runtime orchestration, and optional compiler-family artifacts such as LLVM-oriented native proof material. +

    + +

    +It complements IR/Readme.md, IR/Lowering.md, and IR/Backend contract.md without replacing their ownership. +

    + +
    + +

    Core Rule

    + +

    +FIR is the open execution-facing representation derived from validated program meaning. It is not authored directly, and it is not a runtime-private graph, compiler-private graph, LLVM IR file, widget package, visual asset, or host UI object table. +

    + +
    canonical .frog source
    +  -> loadability
    +  -> structural validation
    +  -> semantic validation
    +  -> validated program meaning
    +  -> FIR / Execution IR
    +  -> lowering
    +  -> backend contract
    +  -> runtime-family and/or compiler-family consumption
    + +
    + +

    What FIR May Preserve

    + +

    +In hybrid UI/compiler execution, FIR may preserve execution-relevant consequences of validated widget and interface meaning, including: +

    + + + +

    +This preservation exists so later lowering, backend contracts, runtime binding, diagnostics, probes, watches, and source-aligned observability can remain traceable. +

    + +
    + +

    What FIR Must Not Absorb

    + +

    +FIR must not absorb or redefine ownership of: +

    + + + +
    + +

    Hybrid Execution Reading

    + +

    +A practical hosted execution may contain two branches: +

    + +
    diagram/computation branch:
    +.frog diagram
    +  -> semantic validation
    +  -> FIR
    +  -> lowering
    +  -> backend contract
    +  -> LLVM-oriented artifact or other backend-family artifact where applicable
    +
    +front-panel/widget branch:
    +.frog front_panel
    +  -> widget instances and bindings
    +  -> .wfrog packages or realization packages
    +  -> SVG/assets or other realization resources
    +  -> host UI
    + +

    +FIR sits on the execution-facing branch after validated meaning. It may carry enough widget-related identity and mapping to allow the runtime to bind values and object-style accesses, but it does not own the front-panel realization itself. +

    + +
    + +

    Runtime and Compiler Boundary

    + +

    +A runtime may consume FIR-derived contracts, manifests, and artifacts. A compiler-family path such as LLVM may consume lowered material to produce a native proof or loadable artifact. Neither the runtime nor LLVM becomes the language owner. +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    LayerCorrect role
    FIROpen execution-facing representation derived from validated meaning.
    LoweringSpecialization toward target, backend, runtime, provider, or deployment concerns.
    Backend contractExplicit handoff to downstream consumers.
    LLVMOne possible compiler-family consumer and native proof path.
    RuntimeExecution and orchestration consumer of explicit contracts and artifacts.
    Host UIRendering and interaction surface, replaceable by host family.
    + +
    + +

    Boundary Summary

    + + From 0759ff27f908b7119c6be433cc61b45d0cee69bf Mon Sep 17 00:00:00 2001 From: Youssef Menjour <71812679+Ymenjour@users.noreply.github.com> Date: Sat, 23 May 2026 14:29:40 +0200 Subject: [PATCH 5/5] docs: add widget package hosting note --- Expression/Widget package hosting.md | 71 ++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 Expression/Widget package hosting.md diff --git a/Expression/Widget package hosting.md b/Expression/Widget package hosting.md new file mode 100644 index 0000000..96f0271 --- /dev/null +++ b/Expression/Widget package hosting.md @@ -0,0 +1,71 @@ +

    + FROG logo +

    + +

    Widget Package Hosting Role

    + +

    + How .wfrog packages participate in hosted front-panel realization
    + FROG — Free Open Graphical Language +

    + +
    + +

    Purpose

    + +

    +This companion note clarifies how widget packages participate when a FROG front panel is hosted by a runtime or UI host. +It complements FROG Widget Package (.wfrog). +

    + +
    + +

    Boundary

    + + + +

    +A .frog source may identify widget classes, widget package identities, or realization choices. A host may then resolve compatible .wfrog packages and related assets when a front panel needs to be rendered or interacted with. +

    + +
    + +

    Hosting Flow

    + +
    .frog front_panel
    +  -> widget instances, layout, initial values, and diagram/widget bindings
    +  -> referenced widget classes or package identities
    +  -> compatible .wfrog package
    +  -> SVG/assets or other realization resources
    +  -> host UI
    +  -> runtime widget bindings
    + +

    +The host/runtime consumption role may include package resolution, asset loading, part mapping, value binding, property binding, event routing, capability checks, and diagnostic reporting. +

    + +
    + +

    Non-Ownership Rules

    + + + +
    + +

    Practical Reading

    + +

    +In a hosted example, the front-panel branch and execution branch meet through runtime bindings. +The .wfrog package helps the host realize visible widgets, while FIR, lowering, backend contracts, manifests, and runtime-family artifacts carry the execution-facing path. +