.gitignore
LICENSE
README.md
pyproject.toml
.github/workflows/ci.yml
.github/workflows/publish.yml
ofplang/validate/__init__.py
ofplang/validate/__main__.py
ofplang/validate/cli.py
ofplang/validate/contracts.py
ofplang/validate/diagnostics.py
ofplang/validate/duplicates.py
ofplang/validate/entry.py
ofplang/validate/errors.py
ofplang/validate/features.py
ofplang/validate/generics.py
ofplang/validate/identifiers.py
ofplang/validate/imports.py
ofplang/validate/nodes.py
ofplang/validate/objects.py
ofplang/validate/phases.py
ofplang/validate/py.typed
ofplang/validate/references.py
ofplang/validate/scheduling.py
ofplang/validate/script.py
ofplang/validate/shape.py
ofplang/validate/traits.py
ofplang/validate/typecheck.py
ofplang/validate/types.py
ofplang/validate/validator.py
ofplang/validate/views.py
ofplang/validate/yamlnode.py
ofplang_validate.egg-info/PKG-INFO
ofplang_validate.egg-info/SOURCES.txt
ofplang_validate.egg-info/dependency_links.txt
ofplang_validate.egg-info/entry_points.txt
ofplang_validate.egg-info/requires.txt
ofplang_validate.egg-info/scm_file_list.json
ofplang_validate.egg-info/scm_version.json
ofplang_validate.egg-info/top_level.txt
tests/__init__.py
tests/test_cli.py
tests/test_positions.py
tests/conformance/README.md
tests/conformance/__init__.py
tests/conformance/cases.py
tests/conformance/test_conformance.py
tests/conformance/cases/_baseline.yaml
tests/conformance/cases/aggregation/multiple_independent_errors.expected.yaml
tests/conformance/cases/aggregation/multiple_independent_errors.yaml
tests/conformance/cases/contracts/comparison_chain.expected.yaml
tests/conformance/cases/contracts/comparison_chain.yaml
tests/conformance/cases/contracts/missing_view.expected.yaml
tests/conformance/cases/contracts/missing_view.yaml
tests/conformance/cases/contracts/parse_error.expected.yaml
tests/conformance/cases/contracts/parse_error.yaml
tests/conformance/cases/contracts/requires_references_output.expected.yaml
tests/conformance/cases/contracts/requires_references_output.yaml
tests/conformance/cases/contracts/static_false.expected.yaml
tests/conformance/cases/contracts/static_false.yaml
tests/conformance/cases/contracts/type_error.expected.yaml
tests/conformance/cases/contracts/type_error.yaml
tests/conformance/cases/contracts/unknown_view_field.expected.yaml
tests/conformance/cases/contracts/unknown_view_field.yaml
tests/conformance/cases/contracts/valid_ensures.expected.yaml
tests/conformance/cases/contracts/valid_ensures.yaml
tests/conformance/cases/contracts/valid_numeric_promotion.expected.yaml
tests/conformance/cases/contracts/valid_numeric_promotion.yaml
tests/conformance/cases/contracts/valid_requires.expected.yaml
tests/conformance/cases/contracts/valid_requires.yaml
tests/conformance/cases/entry/implicit_main.expected.yaml
tests/conformance/cases/entry/implicit_main.yaml
tests/conformance/cases/entry/no_entry.expected.yaml
tests/conformance/cases/entry/no_entry.yaml
tests/conformance/cases/entry/recursive_dependency.expected.yaml
tests/conformance/cases/entry/recursive_dependency.yaml
tests/conformance/cases/entry/unknown_entry.expected.yaml
tests/conformance/cases/entry/unknown_entry.yaml
tests/conformance/cases/extensions/x_feature_tolerant.expected.yaml
tests/conformance/cases/extensions/x_feature_tolerant.yaml
tests/conformance/cases/extensions/x_key_strict.expected.yaml
tests/conformance/cases/extensions/x_key_strict.yaml
tests/conformance/cases/extensions/x_key_tolerant.expected.yaml
tests/conformance/cases/extensions/x_key_tolerant.yaml
tests/conformance/cases/extensions/x_prefer_kind_tolerant.expected.yaml
tests/conformance/cases/extensions/x_prefer_kind_tolerant.yaml
tests/conformance/cases/features/derived_ok.expected.yaml
tests/conformance/cases/features/derived_ok.yaml
tests/conformance/cases/features/derived_omitted.expected.yaml
tests/conformance/cases/features/derived_omitted.yaml
tests/conformance/cases/features/generic_derived_ok.expected.yaml
tests/conformance/cases/features/generic_derived_ok.yaml
tests/conformance/cases/features/generic_missing_feature.expected.yaml
tests/conformance/cases/features/generic_missing_feature.yaml
tests/conformance/cases/features/missing_required_feature.expected.yaml
tests/conformance/cases/features/missing_required_feature.yaml
tests/conformance/cases/features/unknown_feature.expected.yaml
tests/conformance/cases/features/unknown_feature.yaml
tests/conformance/cases/generics/conflicting_inference.expected.yaml
tests/conformance/cases/generics/conflicting_inference.yaml
tests/conformance/cases/generics/constraint_not_satisfied.expected.yaml
tests/conformance/cases/generics/constraint_not_satisfied.yaml
tests/conformance/cases/generics/constraint_on_concrete.expected.yaml
tests/conformance/cases/generics/constraint_on_concrete.yaml
tests/conformance/cases/generics/malformed_constraint.expected.yaml
tests/conformance/cases/generics/malformed_constraint.yaml
tests/conformance/cases/generics/type_param_not_in_input.expected.yaml
tests/conformance/cases/generics/type_param_not_in_input.yaml
tests/conformance/cases/generics/type_param_shadow.expected.yaml
tests/conformance/cases/generics/type_param_shadow.yaml
tests/conformance/cases/generics/uninferable_type_param.expected.yaml
tests/conformance/cases/generics/uninferable_type_param.yaml
tests/conformance/cases/generics/valid_inference.expected.yaml
tests/conformance/cases/generics/valid_inference.yaml
tests/conformance/cases/generics/valid_where.expected.yaml
tests/conformance/cases/generics/valid_where.yaml
tests/conformance/cases/identifiers/bad_identifier.expected.yaml
tests/conformance/cases/identifiers/bad_identifier.yaml
tests/conformance/cases/identifiers/dot_in_process_name.expected.yaml
tests/conformance/cases/identifiers/dot_in_process_name.yaml
tests/conformance/cases/identifiers/duplicate_port_name.expected.yaml
tests/conformance/cases/identifiers/duplicate_port_name.yaml
tests/conformance/cases/identifiers/reserved_type_name.expected.yaml
tests/conformance/cases/identifiers/reserved_type_name.yaml
tests/conformance/cases/imports/empty_import.expected.yaml
tests/conformance/cases/imports/empty_import.yaml
tests/conformance/cases/imports/basic/expected.yaml
tests/conformance/cases/imports/basic/main.yaml
tests/conformance/cases/imports/basic/types_fragment.yaml
tests/conformance/cases/imports/cycle/a.yaml
tests/conformance/cases/imports/cycle/b.yaml
tests/conformance/cases/imports/cycle/expected.yaml
tests/conformance/cases/imports/cycle/main.yaml
tests/conformance/cases/imports/duplicate_key/expected.yaml
tests/conformance/cases/imports/duplicate_key/frag.yaml
tests/conformance/cases/imports/duplicate_key/main.yaml
tests/conformance/cases/imports/invalid_shape/expected.yaml
tests/conformance/cases/imports/invalid_shape/main.yaml
tests/conformance/cases/imports/invalid_shape/seq.yaml
tests/conformance/cases/imports/multidoc/expected.yaml
tests/conformance/cases/imports/multidoc/main.yaml
tests/conformance/cases/imports/multidoc/multi.yaml
tests/conformance/cases/imports/non_string_path/expected.yaml
tests/conformance/cases/imports/non_string_path/main.yaml
tests/conformance/cases/imports/unreadable/expected.yaml
tests/conformance/cases/imports/unreadable/main.yaml
tests/conformance/cases/imports/uri_fragment/expected.yaml
tests/conformance/cases/imports/uri_fragment/main.yaml
tests/conformance/cases/linearity/data_indegree_zero.expected.yaml
tests/conformance/cases/linearity/data_indegree_zero.yaml
tests/conformance/cases/linearity/object_fanout.expected.yaml
tests/conformance/cases/linearity/object_fanout.yaml
tests/conformance/cases/linearity/object_input_no_source.expected.yaml
tests/conformance/cases/linearity/object_input_no_source.yaml
tests/conformance/cases/linearity/object_output_unused.expected.yaml
tests/conformance/cases/linearity/object_output_unused.yaml
tests/conformance/cases/linearity/valid_object_flow.expected.yaml
tests/conformance/cases/linearity/valid_object_flow.yaml
tests/conformance/cases/linearity/valid_return_object.expected.yaml
tests/conformance/cases/linearity/valid_return_object.yaml
tests/conformance/cases/metadata/float_spec_version.expected.yaml
tests/conformance/cases/metadata/float_spec_version.yaml
tests/conformance/cases/metadata/malformed_spec_version.expected.yaml
tests/conformance/cases/metadata/malformed_spec_version.yaml
tests/conformance/cases/metadata/omitted_spec_version.expected.yaml
tests/conformance/cases/metadata/omitted_spec_version.yaml
tests/conformance/cases/nodes/bad_condition_output.expected.yaml
tests/conformance/cases/nodes/bad_condition_output.yaml
tests/conformance/cases/nodes/branch_common_type_mismatch.expected.yaml
tests/conformance/cases/nodes/branch_common_type_mismatch.yaml
tests/conformance/cases/nodes/branch_drop_object.expected.yaml
tests/conformance/cases/nodes/branch_drop_object.yaml
tests/conformance/cases/nodes/branch_implicit_else_not_identity.expected.yaml
tests/conformance/cases/nodes/branch_implicit_else_not_identity.yaml
tests/conformance/cases/nodes/branch_not_identity_equivalent.expected.yaml
tests/conformance/cases/nodes/branch_not_identity_equivalent.yaml
tests/conformance/cases/nodes/branch_object_omitted.expected.yaml
tests/conformance/cases/nodes/branch_object_omitted.yaml
tests/conformance/cases/nodes/branch_one_sided_object.expected.yaml
tests/conformance/cases/nodes/branch_one_sided_object.yaml
tests/conformance/cases/nodes/dowhile_missing_max_iterations.expected.yaml
tests/conformance/cases/nodes/dowhile_missing_max_iterations.yaml
tests/conformance/cases/nodes/dowhile_noncarry_object.expected.yaml
tests/conformance/cases/nodes/dowhile_noncarry_object.yaml
tests/conformance/cases/nodes/fold_carry_not_carry_mode.expected.yaml
tests/conformance/cases/nodes/fold_carry_not_carry_mode.yaml
tests/conformance/cases/nodes/fold_carry_output_missing.expected.yaml
tests/conformance/cases/nodes/fold_carry_output_missing.yaml
tests/conformance/cases/nodes/fold_carry_phase_mismatch.expected.yaml
tests/conformance/cases/nodes/fold_carry_phase_mismatch.yaml
tests/conformance/cases/nodes/fold_carry_type_mismatch.expected.yaml
tests/conformance/cases/nodes/fold_carry_type_mismatch.yaml
tests/conformance/cases/nodes/fold_invalid_output_mode.expected.yaml
tests/conformance/cases/nodes/fold_invalid_output_mode.yaml
tests/conformance/cases/nodes/fold_noncarry_object_unlisted.expected.yaml
tests/conformance/cases/nodes/fold_noncarry_object_unlisted.yaml
tests/conformance/cases/nodes/fold_output_not_listed.expected.yaml
tests/conformance/cases/nodes/fold_output_not_listed.yaml
tests/conformance/cases/nodes/last_on_empty_fold.expected.yaml
tests/conformance/cases/nodes/last_on_empty_fold.yaml
tests/conformance/cases/nodes/object_output_last_mode.expected.yaml
tests/conformance/cases/nodes/object_output_last_mode.yaml
tests/conformance/cases/nodes/ordinary_output_section.expected.yaml
tests/conformance/cases/nodes/ordinary_output_section.yaml
tests/conformance/cases/nodes/unknown_node_key.expected.yaml
tests/conformance/cases/nodes/unknown_node_key.yaml
tests/conformance/cases/nodes/valid_branch_common.expected.yaml
tests/conformance/cases/nodes/valid_branch_common.yaml
tests/conformance/cases/nodes/valid_do_while.expected.yaml
tests/conformance/cases/nodes/valid_do_while.yaml
tests/conformance/cases/nodes/valid_fold_collect.expected.yaml
tests/conformance/cases/nodes/valid_fold_collect.yaml
tests/conformance/cases/nodes/valid_map.expected.yaml
tests/conformance/cases/nodes/valid_map.yaml
tests/conformance/cases/nodes/zip_mismatch.expected.yaml
tests/conformance/cases/nodes/zip_mismatch.yaml
tests/conformance/cases/objects/consume_path_not_found.expected.yaml
tests/conformance/cases/objects/consume_path_not_found.yaml
tests/conformance/cases/objects/implicit_create_output.expected.yaml
tests/conformance/cases/objects/implicit_create_output.yaml
tests/conformance/cases/objects/incomplete_input_fate.expected.yaml
tests/conformance/cases/objects/incomplete_input_fate.yaml
tests/conformance/cases/objects/multiple_fates.expected.yaml
tests/conformance/cases/objects/multiple_fates.yaml
tests/conformance/cases/objects/multiple_provenances.expected.yaml
tests/conformance/cases/objects/multiple_provenances.yaml
tests/conformance/cases/objects/valid_cross_wired_map.expected.yaml
tests/conformance/cases/objects/valid_cross_wired_map.yaml
tests/conformance/cases/objects/valid_elidable_iso.expected.yaml
tests/conformance/cases/objects/valid_elidable_iso.yaml
tests/conformance/cases/objects/valid_map.expected.yaml
tests/conformance/cases/objects/valid_map.yaml
tests/conformance/cases/objects/valid_object_replacement.expected.yaml
tests/conformance/cases/objects/valid_object_replacement.yaml
tests/conformance/cases/phases/bad_phase_value.expected.yaml
tests/conformance/cases/phases/bad_phase_value.yaml
tests/conformance/cases/phases/invalid_phase_flow.expected.yaml
tests/conformance/cases/phases/invalid_phase_flow.yaml
tests/conformance/cases/phases/object_graph_phase.expected.yaml
tests/conformance/cases/phases/object_graph_phase.yaml
tests/conformance/cases/phases/valid_object_data_phase.expected.yaml
tests/conformance/cases/phases/valid_object_data_phase.yaml
tests/conformance/cases/references/binding_source_both.expected.yaml
tests/conformance/cases/references/binding_source_both.yaml
tests/conformance/cases/references/binding_source_neither.expected.yaml
tests/conformance/cases/references/binding_source_neither.yaml
tests/conformance/cases/references/object_via_bind.expected.yaml
tests/conformance/cases/references/object_via_bind.yaml
tests/conformance/cases/references/return_unknown_ref.expected.yaml
tests/conformance/cases/references/return_unknown_ref.yaml
tests/conformance/cases/references/unknown_reference.expected.yaml
tests/conformance/cases/references/unknown_reference.yaml
tests/conformance/cases/scheduling/bad_temporal_ref.expected.yaml
tests/conformance/cases/scheduling/bad_temporal_ref.yaml
tests/conformance/cases/scheduling/gap_with_object.expected.yaml
tests/conformance/cases/scheduling/gap_with_object.yaml
tests/conformance/cases/scheduling/malformed_prefer_payload.expected.yaml
tests/conformance/cases/scheduling/malformed_prefer_payload.yaml
tests/conformance/cases/scheduling/non_object_bearing_target.expected.yaml
tests/conformance/cases/scheduling/non_object_bearing_target.yaml
tests/conformance/cases/scheduling/on_atomic.expected.yaml
tests/conformance/cases/scheduling/on_atomic.yaml
tests/conformance/cases/scheduling/temperature_without_object.expected.yaml
tests/conformance/cases/scheduling/temperature_without_object.yaml
tests/conformance/cases/scheduling/unknown_prefer_kind.expected.yaml
tests/conformance/cases/scheduling/unknown_prefer_kind.yaml
tests/conformance/cases/scheduling/valid_max_gap.expected.yaml
tests/conformance/cases/scheduling/valid_max_gap.yaml
tests/conformance/cases/scheduling/valid_min_gap.expected.yaml
tests/conformance/cases/scheduling/valid_min_gap.yaml
tests/conformance/cases/scheduling/valid_temperature.expected.yaml
tests/conformance/cases/scheduling/valid_temperature.yaml
tests/conformance/cases/script/has_objects.expected.yaml
tests/conformance/cases/script/has_objects.yaml
tests/conformance/cases/script/object_port.expected.yaml
tests/conformance/cases/script/object_port.yaml
tests/conformance/cases/script/unsupported_language.expected.yaml
tests/conformance/cases/script/unsupported_language.yaml
tests/conformance/cases/script/valid_python.expected.yaml
tests/conformance/cases/script/valid_python.yaml
tests/conformance/cases/shape/duplicate_process_name.expected.yaml
tests/conformance/cases/shape/duplicate_process_name.yaml
tests/conformance/cases/shape/node_missing_process.expected.yaml
tests/conformance/cases/shape/node_missing_process.yaml
tests/conformance/cases/shape/null_phase.expected.yaml
tests/conformance/cases/shape/null_phase.yaml
tests/conformance/cases/shape/objects_on_composite.expected.yaml
tests/conformance/cases/shape/objects_on_composite.yaml
tests/conformance/cases/shape/port_missing_phase.expected.yaml
tests/conformance/cases/shape/port_missing_phase.yaml
tests/conformance/cases/shape/port_missing_type.expected.yaml
tests/conformance/cases/shape/port_missing_type.yaml
tests/conformance/cases/shape/reserved_dollar_key.expected.yaml
tests/conformance/cases/shape/reserved_dollar_key.yaml
tests/conformance/cases/shape/unknown_top_level_key.expected.yaml
tests/conformance/cases/shape/unknown_top_level_key.yaml
tests/conformance/cases/shape/valid_minimal.expected.yaml
tests/conformance/cases/shape/valid_minimal.yaml
tests/conformance/cases/traits/implements_numeric.expected.yaml
tests/conformance/cases/traits/implements_numeric.yaml
tests/conformance/cases/traits/redeclare_numeric.expected.yaml
tests/conformance/cases/traits/redeclare_numeric.yaml
tests/conformance/cases/traits/unknown_trait.expected.yaml
tests/conformance/cases/traits/unknown_trait.yaml
tests/conformance/cases/traits/valid_implements.expected.yaml
tests/conformance/cases/traits/valid_implements.yaml
tests/conformance/cases/transforms/array_role_not_array.expected.yaml
tests/conformance/cases/transforms/array_role_not_array.yaml
tests/conformance/cases/transforms/missing_role.expected.yaml
tests/conformance/cases/transforms/missing_role.yaml
tests/conformance/cases/transforms/pure_data_in_transform.expected.yaml
tests/conformance/cases/transforms/pure_data_in_transform.yaml
tests/conformance/cases/transforms/role_type_mismatch.expected.yaml
tests/conformance/cases/transforms/role_type_mismatch.yaml
tests/conformance/cases/transforms/transform_path_not_found.expected.yaml
tests/conformance/cases/transforms/transform_path_not_found.yaml
tests/conformance/cases/transforms/unknown_transform_kind.expected.yaml
tests/conformance/cases/transforms/unknown_transform_kind.yaml
tests/conformance/cases/transforms/valid_array_cons.expected.yaml
tests/conformance/cases/transforms/valid_array_cons.yaml
tests/conformance/cases/transforms/valid_array_reverse.expected.yaml
tests/conformance/cases/transforms/valid_array_reverse.yaml
tests/conformance/cases/transforms/valid_array_uncons.expected.yaml
tests/conformance/cases/transforms/valid_array_uncons.yaml
tests/conformance/cases/transforms/valid_nested_uncons.expected.yaml
tests/conformance/cases/transforms/valid_nested_uncons.yaml
tests/conformance/cases/types/array_arity.expected.yaml
tests/conformance/cases/types/array_arity.yaml
tests/conformance/cases/types/array_arity_zero.expected.yaml
tests/conformance/cases/types/array_arity_zero.yaml
tests/conformance/cases/types/array_internal_whitespace.expected.yaml
tests/conformance/cases/types/array_internal_whitespace.yaml
tests/conformance/cases/types/malformed_array_space.expected.yaml
tests/conformance/cases/types/malformed_array_space.yaml
tests/conformance/cases/types/redeclare_builtin.expected.yaml
tests/conformance/cases/types/redeclare_builtin.yaml
tests/conformance/cases/types/type_field_not_string.expected.yaml
tests/conformance/cases/types/type_field_not_string.yaml
tests/conformance/cases/types/unknown_type.expected.yaml
tests/conformance/cases/types/unknown_type.yaml
tests/conformance/cases/types/valid_user_and_array.expected.yaml
tests/conformance/cases/types/valid_user_and_array.yaml
tests/conformance/cases/views/invalid_view_field_type.expected.yaml
tests/conformance/cases/views/invalid_view_field_type.yaml
tests/conformance/cases/views/null_static_value.expected.yaml
tests/conformance/cases/views/null_static_value.yaml
tests/conformance/cases/views/object_bearing_view_field.expected.yaml
tests/conformance/cases/views/object_bearing_view_field.yaml
tests/conformance/cases/views/static_value_type_mismatch.expected.yaml
tests/conformance/cases/views/static_value_type_mismatch.yaml
tests/conformance/cases/views/valid_static_value.expected.yaml
tests/conformance/cases/views/valid_static_value.yaml