Positive structural-source acceptance cases for canonical .frog programs
FROG — Free Open Graphical Language
- 1. Overview
- 2. Purpose of this Subtree
- 3. Ownership Boundary
- 4. How to Read These Cases
- 5. Published Cases
- 6. Expected Outcomes
- 7. What These Cases Do Not Prove
- 8. Relation with the Rest of Conformance
- 9. Summary
This subtree groups valid structural conformance cases for canonical .frog source.
The cases in this subtree are intentionally narrow. They verify that a source artifact is:
- loadable as canonical JSON source,
- structurally valid as canonical
.frogsource under the publishedExpression/ownership boundary, - accepted before later semantic, IR, lowering, backend, or runtime-specific questions are considered.
These cases are therefore about source-shape truth, not full language closure.
This subtree exists to make focused structural acceptance rules public and testable without overloading the historical top-level Conformance/valid/ block.
It is appropriate when:
- the relevant law is already published in
Expression/, - the expected result is structural acceptance,
- the case does not need to prove a richer semantic, IR, or executable property.
Conceptually:
loadable source
+
structurally valid canonical shape
->
accepted here
This subtree does not invent new rules.
Its cases map back to published source ownership, especially:
Expression/Readme.md,Expression/Schema.md,Expression/schema/frog.schema.json,- the relevant section-owning documents such as
Front panel.mdandWidget.md.
These cases therefore test:
- source shape,
- required-versus-optional section discipline,
- selected section-local structural rules.
They do not own semantic meaning, IR law, or runtime truth.
Each case directory SHOULD contain:
- a
Readme.mdthat explains the boundary being tested, - a
case.frogartifact that provides the concrete canonical-source input.
The case.frog file is the authoritative concrete input.
The local README explains why that input must be accepted structurally.
The initial published structural valid cases are:
01_front_panel_canvas_widgets_and_ui_libraries02_front_panel_recursive_children_shape_is_valid
Together, they expose two useful positive source-shape truths:
- the conservative published
front_panelobject shape is accepted, - recursive
childrenshape is accepted structurally when serialized correctly.
The expected outcome class for this subtree is:
Expected loadability: loadable
Expected structural validity: valid
Expected meaning: established
Expected downstream progress: permitted to proceed according to later published rules
This does not mean a case in this subtree proves full semantic richness. It only means structural acceptance must occur at the correct stage.
Cases in this subtree do not automatically prove:
- widget class legality,
- role/class compatibility,
- type legality beyond source-shape acceptance,
- diagram-side widget interaction legality,
- IR construction correctness,
- runtime behavior.
Those belong to later validation layers or other conformance families.
This subtree should be read as structured growth under the broader positive conformance surface:
Conformance/valid/
├── historical top-level anchors
├── compiler/
├── executable/
└── structural/
It does not replace the top-level valid anchors. It provides a clearer home for focused structural-source growth.
This subtree groups positive structural conformance cases for canonical source.
It exists to make source-shape acceptance explicit, testable, and attributable without confusing:
- structural validity,
- semantic acceptance,
- IR correctness,
- runtime truth.