diff --git a/curriculum/l1l6/canonical/unit-dispositions.jsonl b/curriculum/l1l6/canonical/unit-dispositions.jsonl index 9d52593..7617639 100644 --- a/curriculum/l1l6/canonical/unit-dispositions.jsonl +++ b/curriculum/l1l6/canonical/unit-dispositions.jsonl @@ -21,7 +21,7 @@ {"axis": "nahw", "blockers": [{"cause": "occurrence grounding for syntax units requires per-occurrence governor/dependency evidence from the merged Burst-A2 nahw plane (Sol-owned, merged to main after this branch's base); candidate lattices exist but occurrence selection without that plane would be surface-similarity inference, which is prohibited", "dimension": "occurrence_grounding", "state": "sol_integration_blocked"}], "capability_interface": "instructional_only", "contributing_lessons": ["L6.M6.04"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "an index from each Arabic grammatical label to its ordinary sense, its function slot, and its case requirement, so that commentary prose can be decoded label by label", "machine_execution_appropriate": false, "machine_increments": [], "misconception_cluster_count": 0, "misconception_clusters": [], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": true, "operationalized_planes": [], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "sol_integration_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["candidate_presentation_template", "instructional_only_candidate_presentation", "sol_integration_blocked"], "strongest_state": "candidate_presentation_template", "tutor_projection_appropriate": true, "unit_id": "cu-commentary-metalanguage-index", "validation_command": "python tools/build_pedagogy_projections.py --check"} {"axis": "nahw", "blockers": [{"cause": "occurrence grounding for syntax units requires per-occurrence governor/dependency evidence from the merged Burst-A2 nahw plane (Sol-owned, merged to main after this branch's base); candidate lattices exist but occurrence selection without that plane would be surface-similarity inference, which is prohibited", "dimension": "occurrence_grounding", "state": "sol_integration_blocked"}], "capability_interface": "licensing_table", "contributing_lessons": ["L5.M6.02", "L5.M6.03"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "A licensing table keyed by connective that records, for each contrastive, concessive and causal connective, the complement shape it admits (accusative nominal plus predicate, أنّ-clause, genitive noun phrase, or bare clause) and the case or mood it forces on the immediately following element.", "machine_execution_appropriate": true, "machine_increments": [], "misconception_cluster_count": 0, "misconception_clusters": [], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": true, "operationalized_planes": [], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "sol_integration_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["candidate_presentation_template", "sol_integration_blocked"], "strongest_state": "candidate_presentation_template", "tutor_projection_appropriate": true, "unit_id": "cu-connective-complement-licensing", "validation_command": "python tools/build_pedagogy_projections.py --check"} {"axis": "nahw", "blockers": [{"cause": "occurrence grounding for syntax units requires per-occurrence governor/dependency evidence from the merged Burst-A2 nahw plane (Sol-owned, merged to main after this branch's base); candidate lattices exist but occurrence selection without that plane would be surface-similarity inference, which is prohibited", "dimension": "occurrence_grounding", "state": "sol_integration_blocked"}], "capability_interface": "licensing_table", "contributing_lessons": ["L4.M3.05"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "Table stating, for each clause configuration, whether a constituent may, must, or must not precede its default position, keyed on the category of the moved constituent, the definiteness of the topic, the type of the predicate, and the presence of an interrogative, exclamatory, or detached-pronoun trigger, with a companion rule that the moved constituent retains its role case and may require a resumptive pronoun.", "machine_execution_appropriate": true, "machine_increments": [], "misconception_cluster_count": 0, "misconception_clusters": [], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": true, "operationalized_planes": [], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "sol_integration_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["candidate_presentation_template", "sol_integration_blocked"], "strongest_state": "candidate_presentation_template", "tutor_projection_appropriate": true, "unit_id": "cu-constituent-order-licensing", "validation_command": "python tools/build_pedagogy_projections.py --check"} -{"axis": "cross", "blockers": [], "capability_interface": "discriminator_table", "closure_dimensions": {"consumer_bindings": {"binding_ids": ["l1l6-tranche-001b-foundational-script-runtime"], "lessons_bound": 1, "lessons_total": 1, "missing_lesson_ids": [], "satisfied": true}, "error_fixtures": {"missing_queue_row_ids": [], "posture": "fixture_only_not_behavioral_closure", "satisfaction_basis": "all_expected_error_rows_traced", "satisfied": true, "satisfied_vacuously": false, "total": 1, "traced": 1}, "machine_execution": {"disposition": "pack_backed", "increment_ids": ["inc-definite-article-assimilation"], "missing_increment_ids": [], "satisfied": true}, "occurrence_grounding": {"disposition": "not_applicable", "satisfied": true}, "runtime_misconceptions": {"covered": 4, "missing_ids": [], "satisfaction_basis": "all_required_misconceptions_covered", "satisfied": true, "satisfied_vacuously": false, "total": 4}}, "contributing_lessons": ["L1.M1.07"], "existing_fixtures": "increment fixtures (pos/adv/abst)", "fully_operationalized": true, "fully_operationalized_basis": "all_required_dimensions_satisfied:sha256:a883efc537303fbff011b3c1f87fdd16a41023b6d736fa0c61bde658d0f5a24e", "incomplete_closure_dimensions": [], "instructional_role": "a closed two-way classification of the letter inventory deciding whether the definite article's laam assimilates, together with the gemination it produces on the following consonant", "machine_execution_appropriate": true, "machine_increments": ["inc-definite-article-assimilation"], "misconception_cluster_count": 4, "misconception_clusters": ["mc-0003", "mc-0228", "mc-0477", "mc-0556"], "missing_fixtures": null, "occurrence_grounding_appropriate": false, "occurrence_grounding_parked": false, "operationalized_planes": ["sarf_analytical", "tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": ["inc-definite-article-assimilation"], "pvn_candidates": {"grounding_state": "not_applicable_with_reason", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-001a-foundational-orthography-analysis", "consumer_paths": ["tools/fusha_orthography.py", "tools/fusha_text_check.py", "tools/fusha_pattern_engine.py", "tools/curriculum_unit_consumer.py", "curriculum/l1l6/increments/inc-definite-article-assimilation", "curriculum/l1l6/increments/inc-nunation-support-orthography", "curriculum/l1l6/increments/inc-orthographic-connectivity-classes"], "consumer_plane": "sarf_analytical", "consumer_train": "tranche_001a", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_fusha_orthography.py"]}, {"binding_id": "l1l6-tranche-001b-foundational-script-runtime", "consumer_paths": ["curriculum/drills/keys/foundational-script-orthography.keys.jsonl", "curriculum/kc-catalog.json", "curriculum/drills/foundational-script-orthography.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_foundational_script_orthography_runtime.py"]}], "satisfied_vacuously_dimension_ids": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "review promotion bundle inc-definite-article-assimilation", "states": ["candidate_pack_harnessed", "promotion_bundle_prepared", "fixture_source_candidate", "candidate_presentation_template"], "strongest_state": "candidate_pack_harnessed", "tutor_projection_appropriate": true, "unit_id": "cu-definite-article-assimilation", "validation_command": "python tools/curriculum_unit_consumer.py --increment inc-definite-article-assimilation"} +{"axis": "cross", "blockers": [], "capability_interface": "discriminator_table", "closure_dimensions": {"behavioral_coverage": {"decided": 0, "missing_queue_row_ids": ["q-error-fixtures-0006"], "posture": "behavioral_verdict_required", "satisfaction_basis": "expected_error_rows_not_behaviorally_decided", "satisfied": false, "satisfied_vacuously": false, "total": 1}, "consumer_bindings": {"binding_ids": ["l1l6-tranche-001b-foundational-script-runtime"], "lessons_bound": 1, "lessons_total": 1, "missing_lesson_ids": [], "satisfied": true}, "error_fixtures": {"missing_queue_row_ids": [], "posture": "runner_loaded_with_explicit_behavioral_state", "satisfaction_basis": "all_expected_error_rows_traced", "satisfied": true, "satisfied_vacuously": false, "total": 1, "traced": 1}, "machine_execution": {"disposition": "pack_backed", "increment_ids": ["inc-definite-article-assimilation"], "missing_increment_ids": [], "satisfied": true}, "occurrence_grounding": {"disposition": "not_applicable", "satisfied": true}, "runtime_misconceptions": {"covered": 4, "missing_ids": [], "satisfaction_basis": "all_required_misconceptions_covered", "satisfied": true, "satisfied_vacuously": false, "total": 4}}, "contributing_lessons": ["L1.M1.07"], "existing_fixtures": "increment fixtures (pos/adv/abst)", "fully_operationalized": false, "fully_operationalized_basis": "incomplete_dimensions:behavioral_coverage", "incomplete_closure_dimensions": ["behavioral_coverage"], "instructional_role": "a closed two-way classification of the letter inventory deciding whether the definite article's laam assimilates, together with the gemination it produces on the following consonant", "machine_execution_appropriate": true, "machine_increments": ["inc-definite-article-assimilation"], "misconception_cluster_count": 4, "misconception_clusters": ["mc-0003", "mc-0228", "mc-0477", "mc-0556"], "missing_fixtures": null, "occurrence_grounding_appropriate": false, "occurrence_grounding_parked": false, "operationalized_planes": ["sarf_analytical", "tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": ["inc-definite-article-assimilation"], "pvn_candidates": {"grounding_state": "not_applicable_with_reason", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-001a-foundational-orthography-analysis", "consumer_paths": ["tools/fusha_orthography.py", "tools/fusha_text_check.py", "tools/fusha_pattern_engine.py", "tools/curriculum_unit_consumer.py", "curriculum/l1l6/increments/inc-definite-article-assimilation", "curriculum/l1l6/increments/inc-nunation-support-orthography", "curriculum/l1l6/increments/inc-orthographic-connectivity-classes"], "consumer_plane": "sarf_analytical", "consumer_train": "tranche_001a", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_fusha_orthography.py"]}, {"binding_id": "l1l6-tranche-001b-foundational-script-runtime", "consumer_paths": ["curriculum/drills/keys/foundational-script-orthography.keys.jsonl", "curriculum/kc-catalog.json", "curriculum/drills/foundational-script-orthography.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_foundational_script_orthography_runtime.py"]}], "satisfied_vacuously_dimension_ids": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "review promotion bundle inc-definite-article-assimilation", "states": ["candidate_pack_harnessed", "promotion_bundle_prepared", "fixture_source_candidate", "candidate_presentation_template"], "strongest_state": "candidate_pack_harnessed", "tutor_projection_appropriate": true, "unit_id": "cu-definite-article-assimilation", "validation_command": "python tools/curriculum_unit_consumer.py --increment inc-definite-article-assimilation"} {"axis": "cross", "blockers": [], "capability_interface": "licensing_table", "contributing_lessons": ["L1.M3.06"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "Licensing table mapping each source of definiteness (article, proper name, closed definite classes, annexation to a definite) to the surface evidence that establishes it and to the surface evidence that would otherwise be misleading, so that a definiteness verdict is issued by source rather than by marker.", "machine_execution_appropriate": true, "machine_increments": [], "misconception_cluster_count": 0, "misconception_clusters": [], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": false, "operationalized_planes": [], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "not_applicable_with_reason", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["candidate_presentation_template"], "strongest_state": "candidate_presentation_template", "tutor_projection_appropriate": true, "unit_id": "cu-definiteness-sources", "validation_command": "python tools/build_pedagogy_projections.py --check"} {"axis": "nahw", "blockers": [{"cause": "occurrence grounding for syntax units requires per-occurrence governor/dependency evidence from the merged Burst-A2 nahw plane (Sol-owned, merged to main after this branch's base); candidate lattices exist but occurrence selection without that plane would be surface-similarity inference, which is prohibited", "dimension": "occurrence_grounding", "state": "sol_integration_blocked"}], "capability_interface": "licensing_table", "contributing_lessons": ["L1.M5.03"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "A licensing table keyed on demonstrative plus following nominal that returns the phrase reading when the nominal is definite and the predication reading when it is indefinite, together with the agreement conditions (gender, number, rationality) that must hold for each.", "machine_execution_appropriate": true, "machine_increments": [], "misconception_cluster_count": 0, "misconception_clusters": [], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": true, "operationalized_planes": [], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "sol_integration_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["candidate_presentation_template", "sol_integration_blocked"], "strongest_state": "candidate_presentation_template", "tutor_projection_appropriate": true, "unit_id": "cu-demonstrative-definiteness-licensing", "validation_command": "python tools/build_pedagogy_projections.py --check"} {"axis": "sarf", "blockers": [{"cause": "no curated standard exemplar yet resolves for this sarf unit; extension path: widen CANDIDATE_HEADWORDS with independently selected citation forms and re-run (identity matching only)", "dimension": "occurrence_grounding", "state": "evidence_blocked"}], "capability_interface": "licensing_table", "contributing_lessons": ["L3.M1.07", "L3.M1.09"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "A per-root and per-semantic-field admissibility gate answering whether a given root may realize a given augmented verb pattern at all: the first-radical gap set that blocks the ن-prefix pattern, and the closed semantic fields that alone license the final-gemination pattern.", "machine_execution_appropriate": true, "machine_increments": [], "misconception_cluster_count": 0, "misconception_clusters": [], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": true, "operationalized_planes": [], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "authority_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["candidate_presentation_template", "evidence_blocked"], "strongest_state": "candidate_presentation_template", "tutor_projection_appropriate": true, "unit_id": "cu-derived-form-root-licensing", "validation_command": "python tools/build_pedagogy_projections.py --check"} @@ -45,7 +45,7 @@ {"axis": "cross", "blockers": [], "capability_interface": "discriminator_table", "contributing_lessons": ["L6.M5.08"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "Holds a closed list of invariant multi-word documentary formulas and marks them as non-compositional units, so that a parser or glosser treats them whole rather than deriving a misleading word-by-word reading.", "machine_execution_appropriate": true, "machine_increments": [], "misconception_cluster_count": 0, "misconception_clusters": [], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": false, "operationalized_planes": [], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "not_applicable_with_reason", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["candidate_presentation_template"], "strongest_state": "candidate_presentation_template", "tutor_projection_appropriate": true, "unit_id": "cu-frozen-formula-units", "validation_command": "python tools/build_pedagogy_projections.py --check"} {"axis": "cross", "blockers": [], "capability_interface": "licensing_table", "contributing_lessons": ["L4.M1.03"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "enumerate the licensed jussive realisations of a geminate stem and mark which surface strings are mood forms and which are indicatives, so that a reader or grader accepts every licensed shape and rejects only the unlicensed one", "machine_execution_appropriate": true, "machine_increments": [], "misconception_cluster_count": 0, "misconception_clusters": [], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": true, "operationalized_planes": [], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "exact_vn_candidates", "n": 0, "occurrence_links": false, "v": 2}, "real_consumer_bindings": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["candidate_occurrence_witnesses", "candidate_presentation_template"], "strongest_state": "candidate_occurrence_witnesses", "tutor_projection_appropriate": true, "unit_id": "cu-geminate-jussive-variants", "validation_command": "python tools/build_pedagogy_projections.py --check"} {"axis": "sarf", "blockers": [{"cause": "no curated standard exemplar yet resolves for this sarf unit; extension path: widen CANDIDATE_HEADWORDS with independently selected citation forms and re-run (identity matching only)", "dimension": "occurrence_grounding", "state": "evidence_blocked"}], "capability_interface": "template_classification", "contributing_lessons": ["L5.M4.02"], "existing_fixtures": "increment fixtures (pos/adv/abst)", "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "A table stating, per environment, whether consonant merger is required, blocked, or optional: identical consonants with the first vowelless, consonant-initial person suffixes, reflexive-augment assimilation, emphatic conditioning, and cross-boundary contexts.", "machine_execution_appropriate": true, "machine_increments": ["inc-gemination-licensing"], "misconception_cluster_count": 0, "misconception_clusters": [], "missing_fixtures": null, "occurrence_grounding_appropriate": true, "operationalized_planes": ["sarf_analytical"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": ["inc-gemination-licensing"], "pvn_candidates": {"grounding_state": "authority_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-002a-template-classification-analysis", "consumer_paths": ["tools/curriculum_unit_consumer.py", "tools/run_sarf_evals.py", "curriculum/l1l6/increments/inc-diminutive-template-family", "curriculum/l1l6/increments/inc-five-verb-inflection-class", "curriculum/l1l6/increments/inc-gemination-licensing", "curriculum/l1l6/increments/inc-initial-hamza-class", "curriculum/l1l6/increments/inc-lexical-feminine-registry", "curriculum/l1l6/increments/inc-nongoverning-preverbal-inventory", "curriculum/l1l6/increments/inc-nun-raf-vs-nun-niswa", "curriculum/l1l6/increments/inc-quadriliteral-templates", "curriculum/l1l6/increments/inc-suffix-abstract-noun", "curriculum/l1l6/increments/inc-voice-melody-templates"], "consumer_plane": "sarf_analytical", "consumer_train": "tranche_002a", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_002_template_classification.py", "tools/test_run_sarf_evals.py"]}], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "review promotion bundle inc-gemination-licensing", "states": ["candidate_pack_harnessed", "promotion_bundle_prepared", "candidate_presentation_template", "evidence_blocked"], "strongest_state": "candidate_pack_harnessed", "tutor_projection_appropriate": true, "unit_id": "cu-gemination-licensing", "validation_command": "python tools/curriculum_unit_consumer.py --increment inc-gemination-licensing"} -{"axis": "cross", "blockers": [], "capability_interface": "instructional_only", "closure_dimensions": {"consumer_bindings": {"binding_ids": ["l1l6-tranche-001b-foundational-script-runtime"], "lessons_bound": 1, "lessons_total": 1, "missing_lesson_ids": [], "satisfied": true}, "error_fixtures": {"missing_queue_row_ids": [], "posture": "fixture_only_not_behavioral_closure", "satisfaction_basis": "all_expected_error_rows_traced", "satisfied": true, "satisfied_vacuously": false, "total": 1, "traced": 1}, "machine_execution": {"disposition": "instructional_only", "increment_ids": [], "satisfied": true}, "occurrence_grounding": {"disposition": "not_applicable", "satisfied": true}, "runtime_misconceptions": {"covered": 4, "missing_ids": [], "satisfaction_basis": "all_required_misconceptions_covered", "satisfied": true, "satisfied_vacuously": false, "total": 4}}, "contributing_lessons": ["L1.M1.01"], "existing_fixtures": null, "fully_operationalized": true, "fully_operationalized_basis": "all_required_dimensions_satisfied:sha256:5f3adf883de45a12493d7c98acf6e906882e3c2786bf5d8e7ae441e9fc34fb78", "incomplete_closure_dimensions": [], "instructional_role": "the closed letter inventory together with skeleton families, dot signatures, and the resulting set of confusable letter pairs", "machine_execution_appropriate": false, "machine_increments": [], "misconception_cluster_count": 4, "misconception_clusters": ["mc-0180", "mc-0253", "mc-0587", "mc-0757"], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": false, "occurrence_grounding_parked": false, "operationalized_planes": ["sarf_analytical", "tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "not_applicable_with_reason", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-001a-foundational-orthography-analysis", "consumer_paths": ["tools/fusha_orthography.py", "tools/fusha_text_check.py", "tools/fusha_pattern_engine.py", "tools/curriculum_unit_consumer.py", "curriculum/l1l6/increments/inc-definite-article-assimilation", "curriculum/l1l6/increments/inc-nunation-support-orthography", "curriculum/l1l6/increments/inc-orthographic-connectivity-classes"], "consumer_plane": "sarf_analytical", "consumer_train": "tranche_001a", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_fusha_orthography.py"]}, {"binding_id": "l1l6-tranche-001b-foundational-script-runtime", "consumer_paths": ["curriculum/drills/keys/foundational-script-orthography.keys.jsonl", "curriculum/kc-catalog.json", "curriculum/drills/foundational-script-orthography.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_foundational_script_orthography_runtime.py"]}], "satisfied_vacuously_dimension_ids": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["candidate_remediation_material", "candidate_presentation_template", "instructional_only_candidate_presentation"], "strongest_state": "candidate_remediation_material", "tutor_projection_appropriate": true, "unit_id": "cu-grapheme-inventory-and-confusables", "validation_command": "python tools/build_pedagogy_projections.py --check"} +{"axis": "cross", "blockers": [], "capability_interface": "instructional_only", "closure_dimensions": {"behavioral_coverage": {"decided": 0, "missing_queue_row_ids": ["q-error-fixtures-0000"], "posture": "behavioral_verdict_required", "satisfaction_basis": "expected_error_rows_not_behaviorally_decided", "satisfied": false, "satisfied_vacuously": false, "total": 1}, "consumer_bindings": {"binding_ids": ["l1l6-tranche-001b-foundational-script-runtime"], "lessons_bound": 1, "lessons_total": 1, "missing_lesson_ids": [], "satisfied": true}, "error_fixtures": {"missing_queue_row_ids": [], "posture": "runner_loaded_with_explicit_behavioral_state", "satisfaction_basis": "all_expected_error_rows_traced", "satisfied": true, "satisfied_vacuously": false, "total": 1, "traced": 1}, "machine_execution": {"disposition": "instructional_only", "increment_ids": [], "satisfied": true}, "occurrence_grounding": {"disposition": "not_applicable", "satisfied": true}, "runtime_misconceptions": {"covered": 4, "missing_ids": [], "satisfaction_basis": "all_required_misconceptions_covered", "satisfied": true, "satisfied_vacuously": false, "total": 4}}, "contributing_lessons": ["L1.M1.01"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "incomplete_dimensions:behavioral_coverage", "incomplete_closure_dimensions": ["behavioral_coverage"], "instructional_role": "the closed letter inventory together with skeleton families, dot signatures, and the resulting set of confusable letter pairs", "machine_execution_appropriate": false, "machine_increments": [], "misconception_cluster_count": 4, "misconception_clusters": ["mc-0180", "mc-0253", "mc-0587", "mc-0757"], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": false, "occurrence_grounding_parked": false, "operationalized_planes": ["sarf_analytical", "tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "not_applicable_with_reason", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-001a-foundational-orthography-analysis", "consumer_paths": ["tools/fusha_orthography.py", "tools/fusha_text_check.py", "tools/fusha_pattern_engine.py", "tools/curriculum_unit_consumer.py", "curriculum/l1l6/increments/inc-definite-article-assimilation", "curriculum/l1l6/increments/inc-nunation-support-orthography", "curriculum/l1l6/increments/inc-orthographic-connectivity-classes"], "consumer_plane": "sarf_analytical", "consumer_train": "tranche_001a", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_fusha_orthography.py"]}, {"binding_id": "l1l6-tranche-001b-foundational-script-runtime", "consumer_paths": ["curriculum/drills/keys/foundational-script-orthography.keys.jsonl", "curriculum/kc-catalog.json", "curriculum/drills/foundational-script-orthography.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_foundational_script_orthography_runtime.py"]}], "satisfied_vacuously_dimension_ids": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["candidate_remediation_material", "candidate_presentation_template", "instructional_only_candidate_presentation"], "strongest_state": "candidate_remediation_material", "tutor_projection_appropriate": true, "unit_id": "cu-grapheme-inventory-and-confusables", "validation_command": "python tools/build_pedagogy_projections.py --check"} {"axis": "nahw", "blockers": [{"cause": "occurrence grounding for syntax units requires per-occurrence governor/dependency evidence from the merged Burst-A2 nahw plane (Sol-owned, merged to main after this branch's base); candidate lattices exist but occurrence selection without that plane would be surface-similarity inference, which is prohibited", "dimension": "occurrence_grounding", "state": "sol_integration_blocked"}], "capability_interface": "licensing_table", "contributing_lessons": ["L4.M5.03"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "A licensing table for the accusative state role keyed on three independent conditions — definiteness of the state-holder, presence or absence of the connective by realisation type, and presence of a coreferent linking pronoun — together with the exclusion tests against coordination, attribution, and adverbial complementation.", "machine_execution_appropriate": true, "machine_increments": [], "misconception_cluster_count": 0, "misconception_clusters": [], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": true, "operationalized_planes": [], "pending_consumer_bindings": [{"binding_id": "l1l6-train-b-hal-pending", "consumer_plane": "nahw_analytical", "consumer_train": "train_b", "contribution_status": "pending_authoring", "proposed_destination_paths": ["nahw/references/relation-scope-candidate-units.md"]}], "pending_consumer_planes": ["nahw_analytical"], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "sol_integration_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["candidate_presentation_template", "sol_integration_blocked"], "strongest_state": "candidate_presentation_template", "tutor_projection_appropriate": true, "unit_id": "cu-hal-licensing-conditions", "validation_command": "python tools/build_pedagogy_projections.py --check"} {"axis": "sarf", "blockers": [], "capability_interface": "licensing_table", "contributing_lessons": ["L4.M1.04"], "existing_fixtures": "increment fixtures (pos/adv/abst)", "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "given the vowel environment and the position of a hamza, list the licensed written carriers for it, so that variant spellings of one token are recognised as the same word rather than as different entries", "machine_execution_appropriate": true, "machine_increments": ["inc-hamza-carrier-licensing"], "misconception_cluster_count": 0, "misconception_clusters": [], "missing_fixtures": null, "occurrence_grounding_appropriate": true, "operationalized_planes": [], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": ["inc-hamza-carrier-licensing"], "pvn_candidates": {"grounding_state": "exact_vn_candidates", "n": 1, "occurrence_links": false, "v": 1}, "real_consumer_bindings": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "review promotion bundle inc-hamza-carrier-licensing", "states": ["candidate_pack_harnessed", "candidate_occurrence_witnesses", "promotion_bundle_prepared", "candidate_presentation_template"], "strongest_state": "candidate_pack_harnessed", "tutor_projection_appropriate": true, "unit_id": "cu-hamza-carrier-licensing", "validation_command": "python tools/curriculum_unit_consumer.py --increment inc-hamza-carrier-licensing"} {"axis": "cross", "blockers": [], "capability_interface": "discriminator_table", "contributing_lessons": ["L1.M1.09"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "a deterministic selection of the written seat for the glottal stop from position plus the ranked vowels of its environment, with the seatless and combined-grapheme cases", "machine_execution_appropriate": true, "machine_increments": [], "misconception_cluster_count": 5, "misconception_clusters": ["mc-0143", "mc-0297", "mc-0536", "mc-0761", "mc-0905"], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": false, "operationalized_planes": [], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "not_applicable_with_reason", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["fixture_source_candidate", "candidate_presentation_template"], "strongest_state": "fixture_source_candidate", "tutor_projection_appropriate": true, "unit_id": "cu-hamza-seat-selection", "validation_command": "python tools/build_pedagogy_projections.py --check"} @@ -94,9 +94,9 @@ {"axis": "nahw", "blockers": [{"cause": "occurrence grounding for syntax units requires per-occurrence governor/dependency evidence from the merged Burst-A2 nahw plane (Sol-owned, merged to main after this branch's base); candidate lattices exist but occurrence selection without that plane would be surface-similarity inference, which is prohibited", "dimension": "occurrence_grounding", "state": "sol_integration_blocked"}], "capability_interface": "discriminator_table", "contributing_lessons": ["L2.M1.01"], "existing_fixtures": "increment fixtures (pos/adv/abst)", "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "Closed inventory of pre-verbal tokens that precede an imperfect without licensing any mood change, so that adjacency alone can never be promoted into a government claim.", "machine_execution_appropriate": true, "machine_increments": ["inc-nongoverning-preverbal-inventory"], "misconception_cluster_count": 0, "misconception_clusters": [], "missing_fixtures": null, "occurrence_grounding_appropriate": true, "operationalized_planes": ["sarf_analytical"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": ["inc-nongoverning-preverbal-inventory"], "pvn_candidates": {"grounding_state": "sol_integration_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-002a-template-classification-analysis", "consumer_paths": ["tools/curriculum_unit_consumer.py", "tools/run_sarf_evals.py", "curriculum/l1l6/increments/inc-diminutive-template-family", "curriculum/l1l6/increments/inc-five-verb-inflection-class", "curriculum/l1l6/increments/inc-gemination-licensing", "curriculum/l1l6/increments/inc-initial-hamza-class", "curriculum/l1l6/increments/inc-lexical-feminine-registry", "curriculum/l1l6/increments/inc-nongoverning-preverbal-inventory", "curriculum/l1l6/increments/inc-nun-raf-vs-nun-niswa", "curriculum/l1l6/increments/inc-quadriliteral-templates", "curriculum/l1l6/increments/inc-suffix-abstract-noun", "curriculum/l1l6/increments/inc-voice-melody-templates"], "consumer_plane": "sarf_analytical", "consumer_train": "tranche_002a", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_002_template_classification.py", "tools/test_run_sarf_evals.py"]}], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "review promotion bundle inc-nongoverning-preverbal-inventory", "states": ["candidate_pack_harnessed", "promotion_bundle_prepared", "candidate_presentation_template", "sol_integration_blocked"], "strongest_state": "candidate_pack_harnessed", "tutor_projection_appropriate": true, "unit_id": "cu-nongoverning-preverbal-inventory", "validation_command": "python tools/curriculum_unit_consumer.py --increment inc-nongoverning-preverbal-inventory"} {"axis": "cross", "blockers": [], "capability_interface": "licensing_table", "contributing_lessons": ["L3.M4.07"], "existing_fixtures": "increment fixtures (pos/adv/abst)", "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "Licensing table keyed on numeral value and on the gender of the counted noun's singular, fixing the numeral form, the number and case of the counted noun, and the genitive exponent used.", "machine_execution_appropriate": true, "machine_increments": ["inc-numeral-polarity-licensing"], "misconception_cluster_count": 0, "misconception_clusters": [], "missing_fixtures": null, "occurrence_grounding_appropriate": true, "operationalized_planes": [], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": ["inc-numeral-polarity-licensing"], "pvn_candidates": {"grounding_state": "exact_vn_candidates", "n": 1, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "review promotion bundle inc-numeral-polarity-licensing", "states": ["candidate_pack_harnessed", "candidate_occurrence_witnesses", "promotion_bundle_prepared", "candidate_presentation_template"], "strongest_state": "candidate_pack_harnessed", "tutor_projection_appropriate": true, "unit_id": "cu-numeral-polarity-licensing", "validation_command": "python tools/curriculum_unit_consumer.py --increment inc-numeral-polarity-licensing"} {"axis": "sarf", "blockers": [{"cause": "no curated standard exemplar yet resolves for this sarf unit; extension path: widen CANDIDATE_HEADWORDS with independently selected citation forms and re-run (identity matching only)", "dimension": "occurrence_grounding", "state": "evidence_blocked"}], "capability_interface": "discriminator_table", "contributing_lessons": ["L3.M5.05"], "existing_fixtures": "increment fixtures (pos/adv/abst)", "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "given an imperfect verb ending in nun, decide whether that nun is the indicative mood exponent, and therefore deletable under a governor, or the feminine-plural agreement marker, which never alternates", "machine_execution_appropriate": true, "machine_increments": ["inc-nun-raf-vs-nun-niswa"], "misconception_cluster_count": 0, "misconception_clusters": [], "missing_fixtures": null, "occurrence_grounding_appropriate": true, "operationalized_planes": ["sarf_analytical"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": ["inc-nun-raf-vs-nun-niswa"], "pvn_candidates": {"grounding_state": "authority_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-002a-template-classification-analysis", "consumer_paths": ["tools/curriculum_unit_consumer.py", "tools/run_sarf_evals.py", "curriculum/l1l6/increments/inc-diminutive-template-family", "curriculum/l1l6/increments/inc-five-verb-inflection-class", "curriculum/l1l6/increments/inc-gemination-licensing", "curriculum/l1l6/increments/inc-initial-hamza-class", "curriculum/l1l6/increments/inc-lexical-feminine-registry", "curriculum/l1l6/increments/inc-nongoverning-preverbal-inventory", "curriculum/l1l6/increments/inc-nun-raf-vs-nun-niswa", "curriculum/l1l6/increments/inc-quadriliteral-templates", "curriculum/l1l6/increments/inc-suffix-abstract-noun", "curriculum/l1l6/increments/inc-voice-melody-templates"], "consumer_plane": "sarf_analytical", "consumer_train": "tranche_002a", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_002_template_classification.py", "tools/test_run_sarf_evals.py"]}], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "review promotion bundle inc-nun-raf-vs-nun-niswa", "states": ["candidate_pack_harnessed", "promotion_bundle_prepared", "candidate_presentation_template", "evidence_blocked"], "strongest_state": "candidate_pack_harnessed", "tutor_projection_appropriate": true, "unit_id": "cu-nun-raf-vs-nun-niswa", "validation_command": "python tools/curriculum_unit_consumer.py --increment inc-nun-raf-vs-nun-niswa"} -{"axis": "cross", "blockers": [], "capability_interface": "licensing_table", "closure_dimensions": {"consumer_bindings": {"binding_ids": ["l1l6-tranche-001b-foundational-script-runtime"], "lessons_bound": 1, "lessons_total": 1, "missing_lesson_ids": [], "satisfied": true}, "error_fixtures": {"missing_queue_row_ids": [], "posture": "fixture_only_not_behavioral_closure", "satisfaction_basis": "all_expected_error_rows_traced", "satisfied": true, "satisfied_vacuously": false, "total": 1, "traced": 1}, "machine_execution": {"disposition": "pack_backed", "increment_ids": ["inc-nunation-support-orthography"], "missing_increment_ids": [], "satisfied": true}, "occurrence_grounding": {"disposition": "not_applicable", "satisfied": true}, "runtime_misconceptions": {"covered": 0, "missing_ids": [], "satisfaction_basis": "vacuous_no_required_misconceptions", "satisfied": true, "satisfied_vacuously": true, "total": 0}}, "contributing_lessons": ["L1.M1.06"], "existing_fixtures": "increment fixtures (pos/adv/abst)", "fully_operationalized": true, "fully_operationalized_basis": "all_required_dimensions_satisfied:sha256:cc1e10e081d84755c8313ec06ce65e909d29630b07868323ece7196b5cbaa2be", "incomplete_closure_dimensions": [], "instructional_role": "which word-final graphemes license and which block the written supporting alif of the a-form of nunation, plus the ban on co-occurrence of nunation with the definite article", "machine_execution_appropriate": true, "machine_increments": ["inc-nunation-support-orthography"], "misconception_cluster_count": 0, "misconception_clusters": [], "missing_fixtures": null, "occurrence_grounding_appropriate": false, "occurrence_grounding_parked": false, "operationalized_planes": ["sarf_analytical", "tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": ["inc-nunation-support-orthography"], "pvn_candidates": {"grounding_state": "not_applicable_with_reason", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-001a-foundational-orthography-analysis", "consumer_paths": ["tools/fusha_orthography.py", "tools/fusha_text_check.py", "tools/fusha_pattern_engine.py", "tools/curriculum_unit_consumer.py", "curriculum/l1l6/increments/inc-definite-article-assimilation", "curriculum/l1l6/increments/inc-nunation-support-orthography", "curriculum/l1l6/increments/inc-orthographic-connectivity-classes"], "consumer_plane": "sarf_analytical", "consumer_train": "tranche_001a", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_fusha_orthography.py"]}, {"binding_id": "l1l6-tranche-001b-foundational-script-runtime", "consumer_paths": ["curriculum/drills/keys/foundational-script-orthography.keys.jsonl", "curriculum/kc-catalog.json", "curriculum/drills/foundational-script-orthography.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_foundational_script_orthography_runtime.py"]}], "satisfied_vacuously_dimension_ids": ["runtime_misconceptions"], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "review promotion bundle inc-nunation-support-orthography", "states": ["candidate_pack_harnessed", "promotion_bundle_prepared", "candidate_presentation_template"], "strongest_state": "candidate_pack_harnessed", "tutor_projection_appropriate": true, "unit_id": "cu-nunation-support-orthography", "validation_command": "python tools/curriculum_unit_consumer.py --increment inc-nunation-support-orthography"} +{"axis": "cross", "blockers": [], "capability_interface": "licensing_table", "closure_dimensions": {"behavioral_coverage": {"decided": 0, "missing_queue_row_ids": ["q-error-fixtures-0005"], "posture": "behavioral_verdict_required", "satisfaction_basis": "expected_error_rows_not_behaviorally_decided", "satisfied": false, "satisfied_vacuously": false, "total": 1}, "consumer_bindings": {"binding_ids": ["l1l6-tranche-001b-foundational-script-runtime"], "lessons_bound": 1, "lessons_total": 1, "missing_lesson_ids": [], "satisfied": true}, "error_fixtures": {"missing_queue_row_ids": [], "posture": "runner_loaded_with_explicit_behavioral_state", "satisfaction_basis": "all_expected_error_rows_traced", "satisfied": true, "satisfied_vacuously": false, "total": 1, "traced": 1}, "machine_execution": {"disposition": "pack_backed", "increment_ids": ["inc-nunation-support-orthography"], "missing_increment_ids": [], "satisfied": true}, "occurrence_grounding": {"disposition": "not_applicable", "satisfied": true}, "runtime_misconceptions": {"covered": 0, "missing_ids": [], "satisfaction_basis": "vacuous_no_required_misconceptions", "satisfied": true, "satisfied_vacuously": true, "total": 0}}, "contributing_lessons": ["L1.M1.06"], "existing_fixtures": "increment fixtures (pos/adv/abst)", "fully_operationalized": false, "fully_operationalized_basis": "incomplete_dimensions:behavioral_coverage", "incomplete_closure_dimensions": ["behavioral_coverage"], "instructional_role": "which word-final graphemes license and which block the written supporting alif of the a-form of nunation, plus the ban on co-occurrence of nunation with the definite article", "machine_execution_appropriate": true, "machine_increments": ["inc-nunation-support-orthography"], "misconception_cluster_count": 0, "misconception_clusters": [], "missing_fixtures": null, "occurrence_grounding_appropriate": false, "occurrence_grounding_parked": false, "operationalized_planes": ["sarf_analytical", "tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": ["inc-nunation-support-orthography"], "pvn_candidates": {"grounding_state": "not_applicable_with_reason", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-001a-foundational-orthography-analysis", "consumer_paths": ["tools/fusha_orthography.py", "tools/fusha_text_check.py", "tools/fusha_pattern_engine.py", "tools/curriculum_unit_consumer.py", "curriculum/l1l6/increments/inc-definite-article-assimilation", "curriculum/l1l6/increments/inc-nunation-support-orthography", "curriculum/l1l6/increments/inc-orthographic-connectivity-classes"], "consumer_plane": "sarf_analytical", "consumer_train": "tranche_001a", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_fusha_orthography.py"]}, {"binding_id": "l1l6-tranche-001b-foundational-script-runtime", "consumer_paths": ["curriculum/drills/keys/foundational-script-orthography.keys.jsonl", "curriculum/kc-catalog.json", "curriculum/drills/foundational-script-orthography.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_foundational_script_orthography_runtime.py"]}], "satisfied_vacuously_dimension_ids": ["runtime_misconceptions"], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "review promotion bundle inc-nunation-support-orthography", "states": ["candidate_pack_harnessed", "promotion_bundle_prepared", "candidate_presentation_template"], "strongest_state": "candidate_pack_harnessed", "tutor_projection_appropriate": true, "unit_id": "cu-nunation-support-orthography", "validation_command": "python tools/curriculum_unit_consumer.py --increment inc-nunation-support-orthography"} {"axis": "nahw", "blockers": [{"cause": "occurrence grounding for syntax units requires per-occurrence governor/dependency evidence from the merged Burst-A2 nahw plane (Sol-owned, merged to main after this branch's base); candidate lattices exist but occurrence selection without that plane would be surface-similarity inference, which is prohibited", "dimension": "occurrence_grounding", "state": "sol_integration_blocked"}], "capability_interface": "licensing_table", "contributing_lessons": ["L4.M3.02"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "Table pairing each oath particle with the class of element it may govern, the case it imposes, and the set of well-formed sworn-content patterns keyed on polarity and on the tense or clause type of the content, including the emphasis suffix requirement for affirmative future content and its exclusion under negation.", "machine_execution_appropriate": true, "machine_increments": [], "misconception_cluster_count": 0, "misconception_clusters": [], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": true, "operationalized_planes": [], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "sol_integration_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["candidate_presentation_template", "sol_integration_blocked"], "strongest_state": "candidate_presentation_template", "tutor_projection_appropriate": true, "unit_id": "cu-oath-frame-licensing", "validation_command": "python tools/build_pedagogy_projections.py --check"} -{"axis": "cross", "blockers": [], "capability_interface": "discriminator_table", "closure_dimensions": {"consumer_bindings": {"binding_ids": ["l1l6-tranche-001b-foundational-script-runtime"], "lessons_bound": 1, "lessons_total": 1, "missing_lesson_ids": [], "satisfied": true}, "error_fixtures": {"missing_queue_row_ids": [], "posture": "fixture_only_not_behavioral_closure", "satisfaction_basis": "all_expected_error_rows_traced", "satisfied": true, "satisfied_vacuously": false, "total": 1, "traced": 1}, "machine_execution": {"disposition": "pack_backed", "increment_ids": ["inc-orthographic-connectivity-classes"], "missing_increment_ids": [], "satisfied": true}, "occurrence_grounding": {"disposition": "not_applicable", "satisfied": true}, "runtime_misconceptions": {"covered": 4, "missing_ids": [], "satisfaction_basis": "all_required_misconceptions_covered", "satisfied": true, "satisfied_vacuously": false, "total": 4}}, "contributing_lessons": ["L1.M1.02"], "existing_fixtures": "increment fixtures (pos/adv/abst)", "fully_operationalized": true, "fully_operationalized_basis": "all_required_dimensions_satisfied:sha256:e8cc2c3c8d911a925c71b7c10e35c19b2d4d955283e72e3525a0515c464d8cd7", "incomplete_closure_dimensions": [], "instructional_role": "a closed two-way classification of letters by whether they attach leftward, plus the derived segmentation of a word into connected runs", "machine_execution_appropriate": true, "machine_increments": ["inc-orthographic-connectivity-classes"], "misconception_cluster_count": 4, "misconception_clusters": ["mc-0099", "mc-0439", "mc-0606", "mc-0618"], "missing_fixtures": null, "occurrence_grounding_appropriate": false, "occurrence_grounding_parked": false, "operationalized_planes": ["sarf_analytical", "tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": ["inc-orthographic-connectivity-classes"], "pvn_candidates": {"grounding_state": "not_applicable_with_reason", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-001a-foundational-orthography-analysis", "consumer_paths": ["tools/fusha_orthography.py", "tools/fusha_text_check.py", "tools/fusha_pattern_engine.py", "tools/curriculum_unit_consumer.py", "curriculum/l1l6/increments/inc-definite-article-assimilation", "curriculum/l1l6/increments/inc-nunation-support-orthography", "curriculum/l1l6/increments/inc-orthographic-connectivity-classes"], "consumer_plane": "sarf_analytical", "consumer_train": "tranche_001a", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_fusha_orthography.py"]}, {"binding_id": "l1l6-tranche-001b-foundational-script-runtime", "consumer_paths": ["curriculum/drills/keys/foundational-script-orthography.keys.jsonl", "curriculum/kc-catalog.json", "curriculum/drills/foundational-script-orthography.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_foundational_script_orthography_runtime.py"]}], "satisfied_vacuously_dimension_ids": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "review promotion bundle inc-orthographic-connectivity-classes", "states": ["candidate_pack_harnessed", "promotion_bundle_prepared", "fixture_source_candidate", "candidate_presentation_template"], "strongest_state": "candidate_pack_harnessed", "tutor_projection_appropriate": true, "unit_id": "cu-orthographic-connectivity-classes", "validation_command": "python tools/curriculum_unit_consumer.py --increment inc-orthographic-connectivity-classes"} +{"axis": "cross", "blockers": [], "capability_interface": "discriminator_table", "closure_dimensions": {"behavioral_coverage": {"decided": 0, "missing_queue_row_ids": ["q-error-fixtures-0001"], "posture": "behavioral_verdict_required", "satisfaction_basis": "expected_error_rows_not_behaviorally_decided", "satisfied": false, "satisfied_vacuously": false, "total": 1}, "consumer_bindings": {"binding_ids": ["l1l6-tranche-001b-foundational-script-runtime"], "lessons_bound": 1, "lessons_total": 1, "missing_lesson_ids": [], "satisfied": true}, "error_fixtures": {"missing_queue_row_ids": [], "posture": "runner_loaded_with_explicit_behavioral_state", "satisfaction_basis": "all_expected_error_rows_traced", "satisfied": true, "satisfied_vacuously": false, "total": 1, "traced": 1}, "machine_execution": {"disposition": "pack_backed", "increment_ids": ["inc-orthographic-connectivity-classes"], "missing_increment_ids": [], "satisfied": true}, "occurrence_grounding": {"disposition": "not_applicable", "satisfied": true}, "runtime_misconceptions": {"covered": 4, "missing_ids": [], "satisfaction_basis": "all_required_misconceptions_covered", "satisfied": true, "satisfied_vacuously": false, "total": 4}}, "contributing_lessons": ["L1.M1.02"], "existing_fixtures": "increment fixtures (pos/adv/abst)", "fully_operationalized": false, "fully_operationalized_basis": "incomplete_dimensions:behavioral_coverage", "incomplete_closure_dimensions": ["behavioral_coverage"], "instructional_role": "a closed two-way classification of letters by whether they attach leftward, plus the derived segmentation of a word into connected runs", "machine_execution_appropriate": true, "machine_increments": ["inc-orthographic-connectivity-classes"], "misconception_cluster_count": 4, "misconception_clusters": ["mc-0099", "mc-0439", "mc-0606", "mc-0618"], "missing_fixtures": null, "occurrence_grounding_appropriate": false, "occurrence_grounding_parked": false, "operationalized_planes": ["sarf_analytical", "tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": ["inc-orthographic-connectivity-classes"], "pvn_candidates": {"grounding_state": "not_applicable_with_reason", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-001a-foundational-orthography-analysis", "consumer_paths": ["tools/fusha_orthography.py", "tools/fusha_text_check.py", "tools/fusha_pattern_engine.py", "tools/curriculum_unit_consumer.py", "curriculum/l1l6/increments/inc-definite-article-assimilation", "curriculum/l1l6/increments/inc-nunation-support-orthography", "curriculum/l1l6/increments/inc-orthographic-connectivity-classes"], "consumer_plane": "sarf_analytical", "consumer_train": "tranche_001a", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_fusha_orthography.py"]}, {"binding_id": "l1l6-tranche-001b-foundational-script-runtime", "consumer_paths": ["curriculum/drills/keys/foundational-script-orthography.keys.jsonl", "curriculum/kc-catalog.json", "curriculum/drills/foundational-script-orthography.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_foundational_script_orthography_runtime.py"]}], "satisfied_vacuously_dimension_ids": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "review promotion bundle inc-orthographic-connectivity-classes", "states": ["candidate_pack_harnessed", "promotion_bundle_prepared", "fixture_source_candidate", "candidate_presentation_template"], "strongest_state": "candidate_pack_harnessed", "tutor_projection_appropriate": true, "unit_id": "cu-orthographic-connectivity-classes", "validation_command": "python tools/curriculum_unit_consumer.py --increment inc-orthographic-connectivity-classes"} {"axis": "sarf", "blockers": [{"cause": "no curated standard exemplar yet resolves for this sarf unit; extension path: widen CANDIDATE_HEADWORDS with independently selected citation forms and re-run (identity matching only)", "dimension": "occurrence_grounding", "state": "evidence_blocked"}], "capability_interface": "pattern_consistency", "contributing_lessons": ["L6.M4.03"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "A lexeme-keyed register of which inflectional cells exist and which are lexically blocked, so that generation, drill selection, and form validation consult an explicit block list instead of completing a paradigm by template analogy.", "machine_execution_appropriate": true, "machine_increments": [], "misconception_cluster_count": 0, "misconception_clusters": [], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": true, "operationalized_planes": [], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "authority_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["candidate_presentation_template", "evidence_blocked"], "strongest_state": "candidate_presentation_template", "tutor_projection_appropriate": true, "unit_id": "cu-paradigm-defectivity-block-lists", "validation_command": "python tools/build_pedagogy_projections.py --check"} {"axis": "nahw", "blockers": [{"cause": "occurrence grounding for syntax units requires per-occurrence governor/dependency evidence from the merged Burst-A2 nahw plane (Sol-owned, merged to main after this branch's base); candidate lattices exist but occurrence selection without that plane would be surface-similarity inference, which is prohibited", "dimension": "occurrence_grounding", "state": "sol_integration_blocked"}], "capability_interface": "discriminator_table", "contributing_lessons": ["L5.M1.05"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "A discriminator that decides whether a mid-clause span is a parenthetical insert or a genuine predicate, keyed on the removability test, the position between subject and predicate, and the invocation-formula content typical of such spans.", "machine_execution_appropriate": true, "machine_increments": [], "misconception_cluster_count": 0, "misconception_clusters": [], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": true, "operationalized_planes": [], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "sol_integration_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["candidate_presentation_template", "sol_integration_blocked"], "strongest_state": "candidate_presentation_template", "tutor_projection_appropriate": true, "unit_id": "cu-parenthetical-span-diagnosis", "validation_command": "python tools/build_pedagogy_projections.py --check"} {"axis": "sarf", "blockers": [{"cause": "no curated standard exemplar yet resolves for this sarf unit; extension path: widen CANDIDATE_HEADWORDS with independently selected citation forms and re-run (identity matching only)", "dimension": "occurrence_grounding", "state": "evidence_blocked"}], "capability_interface": "template_classification", "contributing_lessons": ["L6.M3.01", "L6.M5.08"], "existing_fixtures": "increment fixtures (pos/adv/abst)", "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "A per-stem-class table of passive vocalization for perfect and imperfect, covering sound, middle-weak, final-weak and geminate stems and augmented stems, with an explicit abstention when the surface is unvocalized.", "machine_execution_appropriate": true, "machine_increments": ["inc-voice-melody-templates"], "misconception_cluster_count": 0, "misconception_clusters": [], "missing_fixtures": null, "occurrence_grounding_appropriate": true, "operationalized_planes": ["sarf_analytical"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": ["inc-voice-melody-templates"], "pvn_candidates": {"grounding_state": "authority_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-002a-template-classification-analysis", "consumer_paths": ["tools/curriculum_unit_consumer.py", "tools/run_sarf_evals.py", "curriculum/l1l6/increments/inc-diminutive-template-family", "curriculum/l1l6/increments/inc-five-verb-inflection-class", "curriculum/l1l6/increments/inc-gemination-licensing", "curriculum/l1l6/increments/inc-initial-hamza-class", "curriculum/l1l6/increments/inc-lexical-feminine-registry", "curriculum/l1l6/increments/inc-nongoverning-preverbal-inventory", "curriculum/l1l6/increments/inc-nun-raf-vs-nun-niswa", "curriculum/l1l6/increments/inc-quadriliteral-templates", "curriculum/l1l6/increments/inc-suffix-abstract-noun", "curriculum/l1l6/increments/inc-voice-melody-templates"], "consumer_plane": "sarf_analytical", "consumer_train": "tranche_002a", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_002_template_classification.py", "tools/test_run_sarf_evals.py"]}], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "review promotion bundle inc-voice-melody-templates", "states": ["candidate_pack_harnessed", "promotion_bundle_prepared", "candidate_presentation_template", "evidence_blocked"], "strongest_state": "candidate_pack_harnessed", "tutor_projection_appropriate": true, "unit_id": "cu-passive-voice-vocalization", "validation_command": "python tools/curriculum_unit_consumer.py --increment inc-voice-melody-templates"} @@ -124,7 +124,7 @@ {"axis": "nahw", "blockers": [{"cause": "occurrence grounding for syntax units requires per-occurrence governor/dependency evidence from the merged Burst-A2 nahw plane (Sol-owned, merged to main after this branch's base); candidate lattices exist but occurrence selection without that plane would be surface-similarity inference, which is prohibited", "dimension": "occurrence_grounding", "state": "sol_integration_blocked"}], "capability_interface": "discriminator_table", "contributing_lessons": ["L6.M6.01"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "a closed comparison of the syntactic carriers of restriction - argument fronting, the compound restrictive particle, and negation plus exception - each paired with the emphasis it contributes and the structural signature that identifies it", "machine_execution_appropriate": true, "machine_increments": [], "misconception_cluster_count": 0, "misconception_clusters": [], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": true, "operationalized_planes": [], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "sol_integration_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["candidate_presentation_template", "sol_integration_blocked"], "strongest_state": "candidate_presentation_template", "tutor_projection_appropriate": true, "unit_id": "cu-restriction-carriers", "validation_command": "python tools/build_pedagogy_projections.py --check"} {"axis": "nahw", "blockers": [{"cause": "occurrence grounding for syntax units requires per-occurrence governor/dependency evidence from the merged Burst-A2 nahw plane (Sol-owned, merged to main after this branch's base); candidate lattices exist but occurrence selection without that plane would be surface-similarity inference, which is prohibited", "dimension": "occurrence_grounding", "state": "sol_integration_blocked"}], "capability_interface": "instructional_only", "contributing_lessons": ["L5.M1.08"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "The production-direction method for restriction: transform a general proposition into a restricted one, select the device by register, place the target in the focused slot, and state the implicit negation before accepting the result. Retained as a drill and drafting rubric, not as a projection capability.", "machine_execution_appropriate": false, "machine_increments": [], "misconception_cluster_count": 4, "misconception_clusters": ["mc-0025", "mc-0139", "mc-0403", "mc-0480"], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": true, "operationalized_planes": [], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "sol_integration_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["candidate_remediation_material", "candidate_presentation_template", "instructional_only_candidate_presentation", "sol_integration_blocked"], "strongest_state": "candidate_remediation_material", "tutor_projection_appropriate": true, "unit_id": "cu-restriction-composition-method", "validation_command": "python tools/build_pedagogy_projections.py --check"} {"axis": "cross", "blockers": [], "capability_interface": "discriminator_table", "contributing_lessons": ["L6.M6.05"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "a marker-to-move table for classical commentary prose - lemma marker, gloss markers, justification markers, and layer-attribution formulas - allowing a reader or an extractor to segment a commentary into quoted base text, interpretation, and evidence", "machine_execution_appropriate": true, "machine_increments": [], "misconception_cluster_count": 0, "misconception_clusters": [], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": false, "operationalized_planes": [], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "not_applicable_with_reason", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["candidate_presentation_template"], "strongest_state": "candidate_presentation_template", "tutor_projection_appropriate": true, "unit_id": "cu-sharh-block-markers", "validation_command": "python tools/build_pedagogy_projections.py --check"} -{"axis": "cross", "blockers": [], "capability_interface": "instructional_only", "closure_dimensions": {"consumer_bindings": {"binding_ids": ["l1l6-tranche-001b-foundational-script-runtime"], "lessons_bound": 1, "lessons_total": 1, "missing_lesson_ids": [], "satisfied": true}, "error_fixtures": {"missing_queue_row_ids": [], "posture": "fixture_only_not_behavioral_closure", "satisfaction_basis": "all_expected_error_rows_traced", "satisfied": true, "satisfied_vacuously": false, "total": 1, "traced": 1}, "machine_execution": {"disposition": "instructional_only", "increment_ids": [], "satisfied": true}, "occurrence_grounding": {"disposition": "not_applicable", "satisfied": true}, "runtime_misconceptions": {"covered": 4, "missing_ids": [], "satisfaction_basis": "all_required_misconceptions_covered", "satisfied": true, "satisfied_vacuously": false, "total": 4}}, "contributing_lessons": ["L1.M1.03"], "existing_fixtures": null, "fully_operationalized": true, "fully_operationalized_basis": "all_required_dimensions_satisfied:sha256:5f3adf883de45a12493d7c98acf6e906882e3c2786bf5d8e7ae441e9fc34fb78", "incomplete_closure_dimensions": [], "instructional_role": "the three short-vowel marks with their placement rules, plus the fully/partially/un-vocalized state of a token and what each state licenses", "machine_execution_appropriate": false, "machine_increments": [], "misconception_cluster_count": 4, "misconception_clusters": ["mc-0233", "mc-0236", "mc-0328", "mc-0558"], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": false, "occurrence_grounding_parked": false, "operationalized_planes": ["sarf_analytical", "tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "not_applicable_with_reason", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-001a-foundational-orthography-analysis", "consumer_paths": ["tools/fusha_orthography.py", "tools/fusha_text_check.py", "tools/fusha_pattern_engine.py", "tools/curriculum_unit_consumer.py", "curriculum/l1l6/increments/inc-definite-article-assimilation", "curriculum/l1l6/increments/inc-nunation-support-orthography", "curriculum/l1l6/increments/inc-orthographic-connectivity-classes"], "consumer_plane": "sarf_analytical", "consumer_train": "tranche_001a", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_fusha_orthography.py"]}, {"binding_id": "l1l6-tranche-001b-foundational-script-runtime", "consumer_paths": ["curriculum/drills/keys/foundational-script-orthography.keys.jsonl", "curriculum/kc-catalog.json", "curriculum/drills/foundational-script-orthography.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_foundational_script_orthography_runtime.py"]}], "satisfied_vacuously_dimension_ids": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["candidate_remediation_material", "candidate_presentation_template", "instructional_only_candidate_presentation"], "strongest_state": "candidate_remediation_material", "tutor_projection_appropriate": true, "unit_id": "cu-short-vowel-diacritics-and-vocalization-state", "validation_command": "python tools/build_pedagogy_projections.py --check"} +{"axis": "cross", "blockers": [], "capability_interface": "instructional_only", "closure_dimensions": {"behavioral_coverage": {"decided": 0, "missing_queue_row_ids": ["q-error-fixtures-0002"], "posture": "behavioral_verdict_required", "satisfaction_basis": "expected_error_rows_not_behaviorally_decided", "satisfied": false, "satisfied_vacuously": false, "total": 1}, "consumer_bindings": {"binding_ids": ["l1l6-tranche-001b-foundational-script-runtime"], "lessons_bound": 1, "lessons_total": 1, "missing_lesson_ids": [], "satisfied": true}, "error_fixtures": {"missing_queue_row_ids": [], "posture": "runner_loaded_with_explicit_behavioral_state", "satisfaction_basis": "all_expected_error_rows_traced", "satisfied": true, "satisfied_vacuously": false, "total": 1, "traced": 1}, "machine_execution": {"disposition": "instructional_only", "increment_ids": [], "satisfied": true}, "occurrence_grounding": {"disposition": "not_applicable", "satisfied": true}, "runtime_misconceptions": {"covered": 4, "missing_ids": [], "satisfaction_basis": "all_required_misconceptions_covered", "satisfied": true, "satisfied_vacuously": false, "total": 4}}, "contributing_lessons": ["L1.M1.03"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "incomplete_dimensions:behavioral_coverage", "incomplete_closure_dimensions": ["behavioral_coverage"], "instructional_role": "the three short-vowel marks with their placement rules, plus the fully/partially/un-vocalized state of a token and what each state licenses", "machine_execution_appropriate": false, "machine_increments": [], "misconception_cluster_count": 4, "misconception_clusters": ["mc-0233", "mc-0236", "mc-0328", "mc-0558"], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": false, "occurrence_grounding_parked": false, "operationalized_planes": ["sarf_analytical", "tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "not_applicable_with_reason", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-001a-foundational-orthography-analysis", "consumer_paths": ["tools/fusha_orthography.py", "tools/fusha_text_check.py", "tools/fusha_pattern_engine.py", "tools/curriculum_unit_consumer.py", "curriculum/l1l6/increments/inc-definite-article-assimilation", "curriculum/l1l6/increments/inc-nunation-support-orthography", "curriculum/l1l6/increments/inc-orthographic-connectivity-classes"], "consumer_plane": "sarf_analytical", "consumer_train": "tranche_001a", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_fusha_orthography.py"]}, {"binding_id": "l1l6-tranche-001b-foundational-script-runtime", "consumer_paths": ["curriculum/drills/keys/foundational-script-orthography.keys.jsonl", "curriculum/kc-catalog.json", "curriculum/drills/foundational-script-orthography.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_foundational_script_orthography_runtime.py"]}], "satisfied_vacuously_dimension_ids": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["candidate_remediation_material", "candidate_presentation_template", "instructional_only_candidate_presentation"], "strongest_state": "candidate_remediation_material", "tutor_projection_appropriate": true, "unit_id": "cu-short-vowel-diacritics-and-vocalization-state", "validation_command": "python tools/build_pedagogy_projections.py --check"} {"axis": "sarf", "blockers": [{"cause": "no curated exemplar resolves by exact citation-form identity in the entry store (tried: جَاهِلِيَّة); extension path: widen the exemplar list with store-attested citation forms — identity matching only, never similarity", "dimension": "occurrence_grounding", "state": "evidence_blocked"}], "capability_interface": "discriminator_table", "contributing_lessons": ["L6.M5.04"], "existing_fixtures": "increment fixtures (pos/adv/abst)", "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "Classifies suffix-built abstract nouns: admissible base categories, obligatory feminine ending, and separation from the plain relational adjective sharing the same suffix minus that ending.", "machine_execution_appropriate": true, "machine_increments": ["inc-suffix-abstract-noun"], "misconception_cluster_count": 0, "misconception_clusters": [], "missing_fixtures": null, "occurrence_grounding_appropriate": true, "operationalized_planes": ["sarf_analytical"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": ["inc-suffix-abstract-noun"], "pvn_candidates": {"grounding_state": "authority_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-002a-template-classification-analysis", "consumer_paths": ["tools/curriculum_unit_consumer.py", "tools/run_sarf_evals.py", "curriculum/l1l6/increments/inc-diminutive-template-family", "curriculum/l1l6/increments/inc-five-verb-inflection-class", "curriculum/l1l6/increments/inc-gemination-licensing", "curriculum/l1l6/increments/inc-initial-hamza-class", "curriculum/l1l6/increments/inc-lexical-feminine-registry", "curriculum/l1l6/increments/inc-nongoverning-preverbal-inventory", "curriculum/l1l6/increments/inc-nun-raf-vs-nun-niswa", "curriculum/l1l6/increments/inc-quadriliteral-templates", "curriculum/l1l6/increments/inc-suffix-abstract-noun", "curriculum/l1l6/increments/inc-voice-melody-templates"], "consumer_plane": "sarf_analytical", "consumer_train": "tranche_002a", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_002_template_classification.py", "tools/test_run_sarf_evals.py"]}], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "review promotion bundle inc-suffix-abstract-noun", "states": ["candidate_pack_harnessed", "promotion_bundle_prepared", "candidate_presentation_template", "evidence_blocked"], "strongest_state": "candidate_pack_harnessed", "tutor_projection_appropriate": true, "unit_id": "cu-suffix-abstract-noun", "validation_command": "python tools/curriculum_unit_consumer.py --increment inc-suffix-abstract-noun"} {"axis": "cross", "blockers": [], "capability_interface": "licensing_table", "contributing_lessons": ["L6.M3.04"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "A licensing table over verbs stating whether either exclamatory template may be built directly, keyed to root letter count, frozen status, derived-adjective pattern and gradability, with the periphrastic repair recorded as the licensed alternative and an abstention where gradability is undetermined.", "machine_execution_appropriate": true, "machine_increments": [], "misconception_cluster_count": 0, "misconception_clusters": [], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": false, "operationalized_planes": [], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "not_applicable_with_reason", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["candidate_presentation_template"], "strongest_state": "candidate_presentation_template", "tutor_projection_appropriate": true, "unit_id": "cu-taajjub-licensing", "validation_command": "python tools/build_pedagogy_projections.py --check"} {"axis": "nahw", "blockers": [{"cause": "occurrence grounding for syntax units requires per-occurrence governor/dependency evidence from the merged Burst-A2 nahw plane (Sol-owned, merged to main after this branch's base); candidate lattices exist but occurrence selection without that plane would be surface-similarity inference, which is prohibited", "dimension": "occurrence_grounding", "state": "sol_integration_blocked"}], "capability_interface": "discriminator_table", "contributing_lessons": ["L5.M3.03"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "A discriminator deciding, for a particle standing between a mental-state verb and a following clause, whether it blocks the verb's case assignment or instead packages the clause as the verb's complement.", "machine_execution_appropriate": true, "machine_increments": [], "misconception_cluster_count": 0, "misconception_clusters": [], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": true, "operationalized_planes": [], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "sol_integration_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["candidate_presentation_template", "sol_integration_blocked"], "strongest_state": "candidate_presentation_template", "tutor_projection_appropriate": true, "unit_id": "cu-taliq-suspending-particles", "validation_command": "python tools/build_pedagogy_projections.py --check"} @@ -143,7 +143,7 @@ {"axis": "nahw", "blockers": [{"cause": "occurrence grounding for syntax units requires per-occurrence governor/dependency evidence from the merged Burst-A2 nahw plane (Sol-owned, merged to main after this branch's base); candidate lattices exist but occurrence selection without that plane would be surface-similarity inference, which is prohibited", "dimension": "occurrence_grounding", "state": "sol_integration_blocked"}], "capability_interface": "discriminator_table", "contributing_lessons": ["L4.M5.04"], "existing_fixtures": "increment fixtures (pos/adv/abst)", "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "A discriminator table for the senses of the connective waw — coordination, accompaniment, state, oath, and parenthetical insertion — keyed on the case of the following nominal, the presence of a verbal governor, the definiteness and role saturation of the preceding nominal, and the presence of a linking pronoun.", "machine_execution_appropriate": true, "machine_increments": ["inc-waw-function-discriminator"], "misconception_cluster_count": 0, "misconception_clusters": [], "missing_fixtures": null, "occurrence_grounding_appropriate": true, "operationalized_planes": ["tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": ["inc-waw-function-discriminator"], "pvn_candidates": {"grounding_state": "sol_integration_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-train-c-waw-runtime", "consumer_paths": ["curriculum/drills/keys/followers-coordination-apposition.keys.jsonl", "curriculum/kc-catalog.json", "curriculum/drills/followers-coordination-apposition.md"], "consumer_plane": "tutor_runtime", "consumer_train": "train_c", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_followers_coordination_apposition_batch.py"]}], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "review promotion bundle inc-waw-function-discriminator", "states": ["candidate_pack_harnessed", "promotion_bundle_prepared", "candidate_presentation_template", "sol_integration_blocked"], "strongest_state": "candidate_pack_harnessed", "tutor_projection_appropriate": true, "unit_id": "cu-waw-function-discriminator", "validation_command": "python tools/curriculum_unit_consumer.py --increment inc-waw-function-discriminator"} {"axis": "sarf", "blockers": [], "capability_interface": "pattern_consistency", "contributing_lessons": ["L4.M1.05"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "check that a surface form produced by a root carrying more than one weak radical is consistent with the ordered composition of the applicable rules, rather than with either rule applied alone", "machine_execution_appropriate": true, "machine_increments": [], "misconception_cluster_count": 0, "misconception_clusters": [], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": true, "operationalized_planes": [], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "exact_vn_candidates", "n": 0, "occurrence_links": false, "v": 1}, "real_consumer_bindings": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["candidate_occurrence_witnesses", "candidate_presentation_template"], "strongest_state": "candidate_occurrence_witnesses", "tutor_projection_appropriate": true, "unit_id": "cu-weak-rule-composition", "validation_command": "python tools/build_pedagogy_projections.py --check"} {"axis": "nahw", "blockers": [{"cause": "occurrence grounding for syntax units requires per-occurrence governor/dependency evidence from the merged Burst-A2 nahw plane (Sol-owned, merged to main after this branch's base); candidate lattices exist but occurrence selection without that plane would be surface-similarity inference, which is prohibited", "dimension": "occurrence_grounding", "state": "sol_integration_blocked"}], "capability_interface": "licensing_table", "contributing_lessons": ["L2.M4.06"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "Per-item table for adverbials of time and place recording, for each member of the closed inventory, whether it is declined or built, whether it obligatorily heads an annexation, what happens when its dependent is omitted, and whether it may itself be governed by a preposition — the facts that decide when an accusative exponent is actually expected and when the case is positional only.", "machine_execution_appropriate": true, "machine_increments": [], "misconception_cluster_count": 0, "misconception_clusters": [], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": true, "operationalized_planes": [], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "sol_integration_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["candidate_presentation_template", "sol_integration_blocked"], "strongest_state": "candidate_presentation_template", "tutor_projection_appropriate": true, "unit_id": "cu-zarf-lexeme-licensing", "validation_command": "python tools/build_pedagogy_projections.py --check"} -{"axis": "nahw", "blockers": [{"cause": "occurrence grounding for syntax units requires per-occurrence governor/dependency evidence from the merged Burst-A2 nahw plane (Sol-owned, merged to main after this branch's base); candidate lattices exist but occurrence selection without that plane would be surface-similarity inference, which is prohibited", "dimension": "occurrence_grounding", "state": "sol_integration_blocked"}], "capability_interface": "executable", "closure_dimensions": {"consumer_bindings": {"binding_ids": ["l1l6-tranche-001b-derivation-template-runtime", "l1l6-tranche-001b-foundational-script-runtime", "l1l6-tranche-001b-ma-context-runtime", "l1l6-tranche-001b-weak-root-voice-runtime"], "lessons_bound": 20, "lessons_total": 75, "missing_lesson_ids": ["L1.M2.01", "L1.M2.09", "L1.M2.10", "L1.M3.01", "L1.M3.02", "L1.M3.03", "L1.M3.04", "L1.M3.05", "L1.M4.02", "L1.M4.03", "L1.M4.05", "L1.M5.01", "L1.M5.03", "L1.M5.06", "L2.M1.01", "L2.M1.03", "L2.M1.05", "L2.M1.08", "L2.M2.01", "L2.M2.06", "L2.M3.03", "L2.M3.04", "L2.M3.05", "L2.M4.05", "L2.M4.06", "L2.M5.01", "L3.M3.03", "L3.M5.01", "L3.M5.02", "L3.M5.04", "L3.M5.05", "L4.M2.01", "L4.M2.02", "L4.M2.05", "L4.M2.06", "L4.M2.07", "L4.M3.03", "L4.M3.05", "L4.M4.01", "L4.M4.02", "L4.M4.03", "L4.M4.07", "L5.M1.03", "L5.M1.07", "L5.M3.04", "L5.M4.07", "L5.M5.02", "L5.M5.06", "L6.M1.06", "L6.M2.01", "L6.M2.02", "L6.M3.02", "L6.M3.03", "L6.M3.06", "L6.M6.03"], "satisfied": false}, "error_fixtures": {"missing_queue_row_ids": [], "posture": "fixture_only_not_behavioral_closure", "satisfaction_basis": "all_expected_error_rows_traced", "satisfied": true, "satisfied_vacuously": false, "total": 63, "traced": 63}, "machine_execution": {"disposition": "pack_backed", "increment_ids": ["inc-negation"], "missing_increment_ids": [], "satisfied": true}, "occurrence_grounding": {"blockers": [{"cause": "occurrence grounding for syntax units requires per-occurrence governor/dependency evidence from the merged Burst-A2 nahw plane (Sol-owned, merged to main after this branch's base); candidate lattices exist but occurrence selection without that plane would be surface-similarity inference, which is prohibited", "dimension": "occurrence_grounding", "state": "sol_integration_blocked"}], "disposition": "parked", "satisfied": true}, "runtime_misconceptions": {"covered": 92, "missing_ids": ["mc-0001", "mc-0005", "mc-0007", "mc-0008", "mc-0010", "mc-0014", "mc-0020", "mc-0029", "mc-0038", "mc-0040", "mc-0045", "mc-0048", "mc-0056", "mc-0060", "mc-0063", "mc-0064", "mc-0065", "mc-0070", "mc-0071", "mc-0097", "mc-0098", "mc-0104", "mc-0109", "mc-0112", "mc-0115", "mc-0124", "mc-0126", "mc-0132", "mc-0140", "mc-0149", "mc-0156", "mc-0164", "mc-0171", "mc-0184", "mc-0196", "mc-0199", "mc-0202", "mc-0206", "mc-0215", "mc-0217", "mc-0241", "mc-0247", "mc-0249", "mc-0259", "mc-0263", "mc-0266", "mc-0269", "mc-0271", "mc-0272", "mc-0273", "mc-0276", "mc-0277", "mc-0279", "mc-0280", "mc-0283", "mc-0288", "mc-0289", "mc-0290", "mc-0291", "mc-0295", "mc-0296", "mc-0298", "mc-0299", "mc-0313", "mc-0315", "mc-0322", "mc-0337", "mc-0338", "mc-0343", "mc-0344", "mc-0352", "mc-0357", "mc-0358", "mc-0359", "mc-0361", "mc-0362", "mc-0366", "mc-0368", "mc-0372", "mc-0373", "mc-0376", "mc-0378", "mc-0379", "mc-0382", "mc-0385", "mc-0386", "mc-0389", "mc-0399", "mc-0400", "mc-0404", "mc-0406", "mc-0414", "mc-0425", "mc-0430", "mc-0431", "mc-0433", "mc-0441", "mc-0444", "mc-0445", "mc-0449", "mc-0451", "mc-0457", "mc-0458", "mc-0459", "mc-0464", "mc-0471", "mc-0472", "mc-0473", "mc-0478", "mc-0483", "mc-0484", "mc-0488", "mc-0489", "mc-0493", "mc-0498", "mc-0501", "mc-0512", "mc-0514", "mc-0515", "mc-0518", "mc-0519", "mc-0521", "mc-0524", "mc-0526", "mc-0529", "mc-0530", "mc-0533", "mc-0543", "mc-0544", "mc-0545", "mc-0553", "mc-0563", "mc-0566", "mc-0568", "mc-0576", "mc-0577", "mc-0578", "mc-0584", "mc-0588", "mc-0594", "mc-0600", "mc-0601", "mc-0615", "mc-0625", "mc-0630", "mc-0637", "mc-0641", "mc-0652", "mc-0662", "mc-0663", "mc-0664", "mc-0665", "mc-0667", "mc-0672", "mc-0688", "mc-0690", "mc-0691", "mc-0698", "mc-0700", "mc-0707", "mc-0708", "mc-0710", "mc-0716", "mc-0723", "mc-0734", "mc-0739", "mc-0745", "mc-0749", "mc-0752", "mc-0756", "mc-0767", "mc-0772", "mc-0788", "mc-0789", "mc-0790", "mc-0796", "mc-0798", "mc-0799", "mc-0801", "mc-0802", "mc-0813", "mc-0815", "mc-0817", "mc-0820", "mc-0824", "mc-0830", "mc-0832", "mc-0837", "mc-0838", "mc-0839", "mc-0840", "mc-0844", "mc-0849", "mc-0853", "mc-0854", "mc-0855", "mc-0860", "mc-0865", "mc-0873", "mc-0884", "mc-0889", "mc-0894"], "satisfaction_basis": "required_misconceptions_missing", "satisfied": false, "satisfied_vacuously": false, "total": 294}}, "contributing_lessons": ["L1.M1.06", "L1.M2.01", "L1.M2.09", "L1.M2.10", "L1.M3.01", "L1.M3.02", "L1.M3.03", "L1.M3.04", "L1.M3.05", "L1.M4.02", "L1.M4.03", "L1.M4.05", "L1.M5.01", "L1.M5.03", "L1.M5.04", "L1.M5.05", "L1.M5.06", "L1.M5.07", "L2.M1.01", "L2.M1.02", "L2.M1.03", "L2.M1.04", "L2.M1.05", "L2.M1.08", "L2.M2.01", "L2.M2.06", "L2.M3.03", "L2.M3.04", "L2.M3.05", "L2.M4.05", "L2.M4.06", "L2.M5.01", "L2.M5.02", "L2.M5.03", "L3.M3.03", "L3.M4.04", "L3.M4.08", "L3.M5.01", "L3.M5.02", "L3.M5.04", "L3.M5.05", "L4.M1.02", "L4.M1.06", "L4.M1.07", "L4.M2.01", "L4.M2.02", "L4.M2.04", "L4.M2.05", "L4.M2.06", "L4.M2.07", "L4.M3.03", "L4.M3.05", "L4.M3.07", "L4.M4.01", "L4.M4.02", "L4.M4.03", "L4.M4.04", "L4.M4.07", "L4.M5.10", "L5.M1.03", "L5.M1.06", "L5.M1.07", "L5.M3.04", "L5.M4.07", "L5.M5.02", "L5.M5.06", "L6.M1.06", "L6.M2.01", "L6.M2.02", "L6.M3.02", "L6.M3.03", "L6.M3.06", "L6.M4.06", "L6.M6.03", "L6.M6.04"], "existing_fixtures": "increment fixtures (pos/adv/abst)", "fully_operationalized": false, "fully_operationalized_basis": "incomplete_dimensions:runtime_misconceptions,consumer_bindings", "incomplete_closure_dimensions": ["runtime_misconceptions", "consumer_bindings"], "instructional_role": "case and mood: the i'rab system", "machine_execution_appropriate": true, "machine_increments": ["inc-negation"], "misconception_cluster_count": 294, "misconception_clusters": ["mc-0001", "mc-0005", "mc-0006", "mc-0007", "mc-0008", "mc-0010", "mc-0014", "mc-0018", "mc-0020", "mc-0022", "mc-0029", "mc-0031", "mc-0036", "mc-0038", "mc-0040", "mc-0043", "mc-0045", "mc-0048", "mc-0049", "mc-0052"], "missing_fixtures": null, "occurrence_grounding_appropriate": true, "occurrence_grounding_parked": false, "operationalized_planes": ["tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": ["inc-negation"], "pvn_candidates": {"grounding_state": "sol_integration_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-001b-derivation-template-runtime", "consumer_paths": ["curriculum/drills/keys/tranche-001-derivation-template-runtime.keys.jsonl", "curriculum/kc-catalog.d/tranche-001-derivation-template.jsonl", "curriculum/drills/tranche-001-derivation-template-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_001_derivation_template_runtime.py"]}, {"binding_id": "l1l6-tranche-001b-foundational-script-runtime", "consumer_paths": ["curriculum/drills/keys/foundational-script-orthography.keys.jsonl", "curriculum/kc-catalog.json", "curriculum/drills/foundational-script-orthography.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_foundational_script_orthography_runtime.py"]}, {"binding_id": "l1l6-tranche-001b-ma-context-runtime", "consumer_paths": ["curriculum/drills/keys/tranche-001-ma-context-runtime.keys.jsonl", "curriculum/kc-catalog.d/tranche-001-ma-context.jsonl", "curriculum/drills/tranche-001-ma-context-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_001_ma_context_runtime.py"]}, {"binding_id": "l1l6-tranche-001b-weak-root-voice-runtime", "consumer_paths": ["curriculum/drills/keys/weak-root-voice-runtime.keys.jsonl", "curriculum/kc-catalog.json", "curriculum/drills/weak-root-voice-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_weak_root_voice_runtime.py"]}], "satisfied_vacuously_dimension_ids": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "review promotion bundle inc-negation", "states": ["candidate_pack_harnessed", "promotion_bundle_prepared", "fixture_source_candidate", "candidate_presentation_template", "sol_integration_blocked"], "strongest_state": "candidate_pack_harnessed", "tutor_projection_appropriate": true, "unit_id": "u-n01", "validation_command": "python tools/curriculum_unit_consumer.py --increment inc-negation"} +{"axis": "nahw", "blockers": [{"cause": "occurrence grounding for syntax units requires per-occurrence governor/dependency evidence from the merged Burst-A2 nahw plane (Sol-owned, merged to main after this branch's base); candidate lattices exist but occurrence selection without that plane would be surface-similarity inference, which is prohibited", "dimension": "occurrence_grounding", "state": "sol_integration_blocked"}], "capability_interface": "executable", "closure_dimensions": {"behavioral_coverage": {"decided": 0, "missing_queue_row_ids": ["q-error-fixtures-0005", "q-error-fixtures-0015", "q-error-fixtures-0017", "q-error-fixtures-0019", "q-error-fixtures-0020", "q-error-fixtures-0021", "q-error-fixtures-0022", "q-error-fixtures-0023", "q-error-fixtures-0024", "q-error-fixtures-0025", "q-error-fixtures-0026", "q-error-fixtures-0027", "q-error-fixtures-0028", "q-error-fixtures-0031", "q-error-fixtures-0032", "q-error-fixtures-0037", "q-error-fixtures-0040", "q-error-fixtures-0041", "q-error-fixtures-0042", "q-error-fixtures-0048", "q-error-fixtures-0049", "q-error-fixtures-0050", "q-error-fixtures-0051", "q-error-fixtures-0071", "q-error-fixtures-0080", "q-error-fixtures-0084", "q-error-fixtures-0085", "q-error-fixtures-0086", "q-error-fixtures-0088", "q-error-fixtures-0089", "q-error-fixtures-0092", "q-error-fixtures-0096", "q-error-fixtures-0097", "q-error-fixtures-0098", "q-error-fixtures-0099", "q-error-fixtures-0101", "q-error-fixtures-0102", "q-error-fixtures-0103", "q-error-fixtures-0104", "q-error-fixtures-0107", "q-error-fixtures-0109", "q-error-fixtures-0111", "q-error-fixtures-0114", "q-error-fixtures-0115", "q-error-fixtures-0116", "q-error-fixtures-0117", "q-error-fixtures-0127", "q-error-fixtures-0130", "q-error-fixtures-0133", "q-error-fixtures-0134", "q-error-fixtures-0145", "q-error-fixtures-0156", "q-error-fixtures-0158", "q-error-fixtures-0162", "q-error-fixtures-0173", "q-error-fixtures-0174", "q-error-fixtures-0175", "q-error-fixtures-0180", "q-error-fixtures-0181", "q-error-fixtures-0184", "q-error-fixtures-0192", "q-error-fixtures-0203", "q-error-fixtures-0204"], "posture": "behavioral_verdict_required", "satisfaction_basis": "expected_error_rows_not_behaviorally_decided", "satisfied": false, "satisfied_vacuously": false, "total": 63}, "consumer_bindings": {"binding_ids": ["l1l6-tranche-001b-derivation-template-runtime", "l1l6-tranche-001b-foundational-script-runtime", "l1l6-tranche-001b-ma-context-runtime", "l1l6-tranche-001b-weak-root-voice-runtime"], "lessons_bound": 20, "lessons_total": 75, "missing_lesson_ids": ["L1.M2.01", "L1.M2.09", "L1.M2.10", "L1.M3.01", "L1.M3.02", "L1.M3.03", "L1.M3.04", "L1.M3.05", "L1.M4.02", "L1.M4.03", "L1.M4.05", "L1.M5.01", "L1.M5.03", "L1.M5.06", "L2.M1.01", "L2.M1.03", "L2.M1.05", "L2.M1.08", "L2.M2.01", "L2.M2.06", "L2.M3.03", "L2.M3.04", "L2.M3.05", "L2.M4.05", "L2.M4.06", "L2.M5.01", "L3.M3.03", "L3.M5.01", "L3.M5.02", "L3.M5.04", "L3.M5.05", "L4.M2.01", "L4.M2.02", "L4.M2.05", "L4.M2.06", "L4.M2.07", "L4.M3.03", "L4.M3.05", "L4.M4.01", "L4.M4.02", "L4.M4.03", "L4.M4.07", "L5.M1.03", "L5.M1.07", "L5.M3.04", "L5.M4.07", "L5.M5.02", "L5.M5.06", "L6.M1.06", "L6.M2.01", "L6.M2.02", "L6.M3.02", "L6.M3.03", "L6.M3.06", "L6.M6.03"], "satisfied": false}, "error_fixtures": {"missing_queue_row_ids": [], "posture": "runner_loaded_with_explicit_behavioral_state", "satisfaction_basis": "all_expected_error_rows_traced", "satisfied": true, "satisfied_vacuously": false, "total": 63, "traced": 63}, "machine_execution": {"disposition": "pack_backed", "increment_ids": ["inc-negation"], "missing_increment_ids": [], "satisfied": true}, "occurrence_grounding": {"blockers": [{"cause": "occurrence grounding for syntax units requires per-occurrence governor/dependency evidence from the merged Burst-A2 nahw plane (Sol-owned, merged to main after this branch's base); candidate lattices exist but occurrence selection without that plane would be surface-similarity inference, which is prohibited", "dimension": "occurrence_grounding", "state": "sol_integration_blocked"}], "disposition": "parked", "satisfied": true}, "runtime_misconceptions": {"covered": 92, "missing_ids": ["mc-0001", "mc-0005", "mc-0007", "mc-0008", "mc-0010", "mc-0014", "mc-0020", "mc-0029", "mc-0038", "mc-0040", "mc-0045", "mc-0048", "mc-0056", "mc-0060", "mc-0063", "mc-0064", "mc-0065", "mc-0070", "mc-0071", "mc-0097", "mc-0098", "mc-0104", "mc-0109", "mc-0112", "mc-0115", "mc-0124", "mc-0126", "mc-0132", "mc-0140", "mc-0149", "mc-0156", "mc-0164", "mc-0171", "mc-0184", "mc-0196", "mc-0199", "mc-0202", "mc-0206", "mc-0215", "mc-0217", "mc-0241", "mc-0247", "mc-0249", "mc-0259", "mc-0263", "mc-0266", "mc-0269", "mc-0271", "mc-0272", "mc-0273", "mc-0276", "mc-0277", "mc-0279", "mc-0280", "mc-0283", "mc-0288", "mc-0289", "mc-0290", "mc-0291", "mc-0295", "mc-0296", "mc-0298", "mc-0299", "mc-0313", "mc-0315", "mc-0322", "mc-0337", "mc-0338", "mc-0343", "mc-0344", "mc-0352", "mc-0357", "mc-0358", "mc-0359", "mc-0361", "mc-0362", "mc-0366", "mc-0368", "mc-0372", "mc-0373", "mc-0376", "mc-0378", "mc-0379", "mc-0382", "mc-0385", "mc-0386", "mc-0389", "mc-0399", "mc-0400", "mc-0404", "mc-0406", "mc-0414", "mc-0425", "mc-0430", "mc-0431", "mc-0433", "mc-0441", "mc-0444", "mc-0445", "mc-0449", "mc-0451", "mc-0457", "mc-0458", "mc-0459", "mc-0464", "mc-0471", "mc-0472", "mc-0473", "mc-0478", "mc-0483", "mc-0484", "mc-0488", "mc-0489", "mc-0493", "mc-0498", "mc-0501", "mc-0512", "mc-0514", "mc-0515", "mc-0518", "mc-0519", "mc-0521", "mc-0524", "mc-0526", "mc-0529", "mc-0530", "mc-0533", "mc-0543", "mc-0544", "mc-0545", "mc-0553", "mc-0563", "mc-0566", "mc-0568", "mc-0576", "mc-0577", "mc-0578", "mc-0584", "mc-0588", "mc-0594", "mc-0600", "mc-0601", "mc-0615", "mc-0625", "mc-0630", "mc-0637", "mc-0641", "mc-0652", "mc-0662", "mc-0663", "mc-0664", "mc-0665", "mc-0667", "mc-0672", "mc-0688", "mc-0690", "mc-0691", "mc-0698", "mc-0700", "mc-0707", "mc-0708", "mc-0710", "mc-0716", "mc-0723", "mc-0734", "mc-0739", "mc-0745", "mc-0749", "mc-0752", "mc-0756", "mc-0767", "mc-0772", "mc-0788", "mc-0789", "mc-0790", "mc-0796", "mc-0798", "mc-0799", "mc-0801", "mc-0802", "mc-0813", "mc-0815", "mc-0817", "mc-0820", "mc-0824", "mc-0830", "mc-0832", "mc-0837", "mc-0838", "mc-0839", "mc-0840", "mc-0844", "mc-0849", "mc-0853", "mc-0854", "mc-0855", "mc-0860", "mc-0865", "mc-0873", "mc-0884", "mc-0889", "mc-0894"], "satisfaction_basis": "required_misconceptions_missing", "satisfied": false, "satisfied_vacuously": false, "total": 294}}, "contributing_lessons": ["L1.M1.06", "L1.M2.01", "L1.M2.09", "L1.M2.10", "L1.M3.01", "L1.M3.02", "L1.M3.03", "L1.M3.04", "L1.M3.05", "L1.M4.02", "L1.M4.03", "L1.M4.05", "L1.M5.01", "L1.M5.03", "L1.M5.04", "L1.M5.05", "L1.M5.06", "L1.M5.07", "L2.M1.01", "L2.M1.02", "L2.M1.03", "L2.M1.04", "L2.M1.05", "L2.M1.08", "L2.M2.01", "L2.M2.06", "L2.M3.03", "L2.M3.04", "L2.M3.05", "L2.M4.05", "L2.M4.06", "L2.M5.01", "L2.M5.02", "L2.M5.03", "L3.M3.03", "L3.M4.04", "L3.M4.08", "L3.M5.01", "L3.M5.02", "L3.M5.04", "L3.M5.05", "L4.M1.02", "L4.M1.06", "L4.M1.07", "L4.M2.01", "L4.M2.02", "L4.M2.04", "L4.M2.05", "L4.M2.06", "L4.M2.07", "L4.M3.03", "L4.M3.05", "L4.M3.07", "L4.M4.01", "L4.M4.02", "L4.M4.03", "L4.M4.04", "L4.M4.07", "L4.M5.10", "L5.M1.03", "L5.M1.06", "L5.M1.07", "L5.M3.04", "L5.M4.07", "L5.M5.02", "L5.M5.06", "L6.M1.06", "L6.M2.01", "L6.M2.02", "L6.M3.02", "L6.M3.03", "L6.M3.06", "L6.M4.06", "L6.M6.03", "L6.M6.04"], "existing_fixtures": "increment fixtures (pos/adv/abst)", "fully_operationalized": false, "fully_operationalized_basis": "incomplete_dimensions:runtime_misconceptions,behavioral_coverage,consumer_bindings", "incomplete_closure_dimensions": ["runtime_misconceptions", "behavioral_coverage", "consumer_bindings"], "instructional_role": "case and mood: the i'rab system", "machine_execution_appropriate": true, "machine_increments": ["inc-negation"], "misconception_cluster_count": 294, "misconception_clusters": ["mc-0001", "mc-0005", "mc-0006", "mc-0007", "mc-0008", "mc-0010", "mc-0014", "mc-0018", "mc-0020", "mc-0022", "mc-0029", "mc-0031", "mc-0036", "mc-0038", "mc-0040", "mc-0043", "mc-0045", "mc-0048", "mc-0049", "mc-0052"], "missing_fixtures": null, "occurrence_grounding_appropriate": true, "occurrence_grounding_parked": false, "operationalized_planes": ["tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": ["inc-negation"], "pvn_candidates": {"grounding_state": "sol_integration_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-001b-derivation-template-runtime", "consumer_paths": ["curriculum/drills/keys/tranche-001-derivation-template-runtime.keys.jsonl", "curriculum/kc-catalog.d/tranche-001-derivation-template.jsonl", "curriculum/drills/tranche-001-derivation-template-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_001_derivation_template_runtime.py"]}, {"binding_id": "l1l6-tranche-001b-foundational-script-runtime", "consumer_paths": ["curriculum/drills/keys/foundational-script-orthography.keys.jsonl", "curriculum/kc-catalog.json", "curriculum/drills/foundational-script-orthography.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_foundational_script_orthography_runtime.py"]}, {"binding_id": "l1l6-tranche-001b-ma-context-runtime", "consumer_paths": ["curriculum/drills/keys/tranche-001-ma-context-runtime.keys.jsonl", "curriculum/kc-catalog.d/tranche-001-ma-context.jsonl", "curriculum/drills/tranche-001-ma-context-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_001_ma_context_runtime.py"]}, {"binding_id": "l1l6-tranche-001b-weak-root-voice-runtime", "consumer_paths": ["curriculum/drills/keys/weak-root-voice-runtime.keys.jsonl", "curriculum/kc-catalog.json", "curriculum/drills/weak-root-voice-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_weak_root_voice_runtime.py"]}], "satisfied_vacuously_dimension_ids": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "review promotion bundle inc-negation", "states": ["candidate_pack_harnessed", "promotion_bundle_prepared", "fixture_source_candidate", "candidate_presentation_template", "sol_integration_blocked"], "strongest_state": "candidate_pack_harnessed", "tutor_projection_appropriate": true, "unit_id": "u-n01", "validation_command": "python tools/curriculum_unit_consumer.py --increment inc-negation"} {"axis": "nahw", "blockers": [{"cause": "occurrence grounding for syntax units requires per-occurrence governor/dependency evidence from the merged Burst-A2 nahw plane (Sol-owned, merged to main after this branch's base); candidate lattices exist but occurrence selection without that plane would be surface-similarity inference, which is prohibited", "dimension": "occurrence_grounding", "state": "sol_integration_blocked"}], "capability_interface": "executable", "contributing_lessons": ["L1.M5.06", "L2.M2.01", "L2.M2.02", "L2.M2.03", "L2.M2.04", "L2.M2.05", "L2.M2.06", "L2.M5.01", "L2.M5.02", "L4.M3.04", "L4.M3.08", "L4.M3.09", "L4.M5.01", "L5.M1.03", "L5.M1.06", "L5.M2.01", "L5.M5.01", "L5.M5.02", "L5.M6.02", "L5.M6.03", "L6.M1.06", "L6.M3.02", "L6.M3.05", "L6.M3.08", "L6.M4.01", "L6.M4.03", "L6.M4.05", "L6.M4.06", "L6.M6.02", "L6.M6.03"], "existing_fixtures": "increment fixtures (pos/adv/abst)", "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "kana/inna families and the nawasikh", "machine_execution_appropriate": true, "machine_increments": ["inc-nawasikh"], "misconception_cluster_count": 128, "misconception_clusters": ["mc-0001", "mc-0006", "mc-0018", "mc-0020", "mc-0028", "mc-0032", "mc-0033", "mc-0041", "mc-0043", "mc-0047", "mc-0049", "mc-0052", "mc-0054", "mc-0064", "mc-0096", "mc-0114", "mc-0125", "mc-0126", "mc-0130", "mc-0144"], "missing_fixtures": null, "occurrence_grounding_appropriate": true, "operationalized_planes": ["tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": ["inc-nawasikh"], "pvn_candidates": {"grounding_state": "sol_integration_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-001b-ma-context-runtime", "consumer_paths": ["curriculum/drills/keys/tranche-001-ma-context-runtime.keys.jsonl", "curriculum/kc-catalog.d/tranche-001-ma-context.jsonl", "curriculum/drills/tranche-001-ma-context-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_001_ma_context_runtime.py"]}], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "review promotion bundle inc-nawasikh", "states": ["candidate_pack_harnessed", "promotion_bundle_prepared", "fixture_source_candidate", "candidate_presentation_template", "sol_integration_blocked"], "strongest_state": "candidate_pack_harnessed", "tutor_projection_appropriate": true, "unit_id": "u-n02", "validation_command": "python tools/curriculum_unit_consumer.py --increment inc-nawasikh"} {"axis": "nahw", "blockers": [{"cause": "occurrence grounding for syntax units requires per-occurrence governor/dependency evidence from the merged Burst-A2 nahw plane (Sol-owned, merged to main after this branch's base); candidate lattices exist but occurrence selection without that plane would be surface-similarity inference, which is prohibited", "dimension": "occurrence_grounding", "state": "sol_integration_blocked"}], "capability_interface": "instructional_only", "contributing_lessons": ["L1.M3.04", "L1.M3.05", "L1.M4.03", "L1.M4.04", "L1.M5.02", "L1.M5.04", "L1.M5.06", "L1.M5.07", "L2.M1.02", "L2.M1.03", "L2.M1.04", "L2.M2.03", "L2.M2.05", "L2.M2.06", "L2.M4.05", "L3.M1.07", "L3.M2.03", "L3.M2.06", "L3.M3.04", "L3.M4.01", "L3.M4.02", "L3.M4.03", "L3.M4.07", "L3.M5.02", "L3.M5.03", "L3.M5.06", "L4.M1.07", "L4.M2.07", "L4.M3.02", "L4.M3.03", "L4.M3.04", "L4.M3.07", "L4.M4.02", "L5.M1.06", "L5.M1.07", "L5.M2.01", "L5.M3.01", "L5.M3.02", "L5.M3.03", "L5.M3.04", "L5.M3.08", "L5.M5.01", "L5.M5.04", "L5.M6.02", "L5.M6.03", "L6.M2.04", "L6.M2.05", "L6.M3.01", "L6.M3.02", "L6.M3.04", "L6.M3.06", "L6.M3.07", "L6.M4.02", "L6.M5.08", "L6.M6.01", "L6.M6.02", "L6.M6.04"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "governance ('amal) and dependency structure", "machine_execution_appropriate": false, "machine_increments": [], "misconception_cluster_count": 232, "misconception_clusters": ["mc-0005", "mc-0009", "mc-0011", "mc-0014", "mc-0018", "mc-0021", "mc-0024", "mc-0026", "mc-0028", "mc-0032", "mc-0033", "mc-0035", "mc-0038", "mc-0041", "mc-0043", "mc-0044", "mc-0045", "mc-0048", "mc-0049", "mc-0054"], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": true, "operationalized_planes": ["tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "sol_integration_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-001b-derivation-template-runtime", "consumer_paths": ["curriculum/drills/keys/tranche-001-derivation-template-runtime.keys.jsonl", "curriculum/kc-catalog.d/tranche-001-derivation-template.jsonl", "curriculum/drills/tranche-001-derivation-template-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_001_derivation_template_runtime.py"]}, {"binding_id": "l1l6-tranche-001b-ma-context-runtime", "consumer_paths": ["curriculum/drills/keys/tranche-001-ma-context-runtime.keys.jsonl", "curriculum/kc-catalog.d/tranche-001-ma-context.jsonl", "curriculum/drills/tranche-001-ma-context-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_001_ma_context_runtime.py"]}], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["fixture_source_candidate", "candidate_remediation_material", "candidate_presentation_template", "instructional_only_candidate_presentation", "sol_integration_blocked"], "strongest_state": "fixture_source_candidate", "tutor_projection_appropriate": true, "unit_id": "u-n03", "validation_command": "python tools/build_pedagogy_projections.py --check"} {"axis": "nahw", "blockers": [{"cause": "occurrence grounding for syntax units requires per-occurrence governor/dependency evidence from the merged Burst-A2 nahw plane (Sol-owned, merged to main after this branch's base); candidate lattices exist but occurrence selection without that plane would be surface-similarity inference, which is prohibited", "dimension": "occurrence_grounding", "state": "sol_integration_blocked"}], "capability_interface": "instructional_only", "contributing_lessons": ["L1.M3.05", "L1.M4.03", "L1.M4.04", "L2.M2.05", "L2.M4.06", "L3.M2.01", "L3.M2.02", "L3.M2.03", "L3.M2.04", "L3.M2.05", "L3.M2.06", "L3.M5.06", "L4.M4.07", "L4.M5.03", "L4.M5.04", "L4.M5.07", "L4.M5.08", "L4.M5.10", "L5.M1.07", "L5.M3.06", "L5.M3.07", "L5.M3.08", "L5.M5.03", "L5.M5.07", "L6.M2.05", "L6.M3.04", "L6.M4.04", "L6.M6.04", "L6.M6.05"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "the mansubat (accusative complements)", "machine_execution_appropriate": false, "machine_increments": [], "misconception_cluster_count": 115, "misconception_clusters": ["mc-0015", "mc-0032", "mc-0045", "mc-0048", "mc-0057", "mc-0062", "mc-0067", "mc-0075", "mc-0079", "mc-0081", "mc-0102", "mc-0110", "mc-0120", "mc-0121", "mc-0127", "mc-0128", "mc-0133", "mc-0134", "mc-0137", "mc-0160"], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": true, "operationalized_planes": ["tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "sol_integration_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-001b-derivation-template-runtime", "consumer_paths": ["curriculum/drills/keys/tranche-001-derivation-template-runtime.keys.jsonl", "curriculum/kc-catalog.d/tranche-001-derivation-template.jsonl", "curriculum/drills/tranche-001-derivation-template-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_001_derivation_template_runtime.py"]}, {"binding_id": "l1l6-tranche-001b-ma-context-runtime", "consumer_paths": ["curriculum/drills/keys/tranche-001-ma-context-runtime.keys.jsonl", "curriculum/kc-catalog.d/tranche-001-ma-context.jsonl", "curriculum/drills/tranche-001-ma-context-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_001_ma_context_runtime.py"]}], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["fixture_source_candidate", "candidate_remediation_material", "candidate_presentation_template", "instructional_only_candidate_presentation", "sol_integration_blocked"], "strongest_state": "fixture_source_candidate", "tutor_projection_appropriate": true, "unit_id": "u-n04", "validation_command": "python tools/build_pedagogy_projections.py --check"} @@ -155,12 +155,12 @@ {"axis": "nahw", "blockers": [{"cause": "occurrence grounding for syntax units requires per-occurrence governor/dependency evidence from the merged Burst-A2 nahw plane (Sol-owned, merged to main after this branch's base); candidate lattices exist but occurrence selection without that plane would be surface-similarity inference, which is prohibited", "dimension": "occurrence_grounding", "state": "sol_integration_blocked"}], "capability_interface": "instructional_only", "contributing_lessons": ["L1.M4.05", "L1.M5.03", "L1.M5.04", "L1.M5.05", "L2.M2.06", "L2.M3.07", "L3.M2.01", "L3.M2.04", "L3.M2.05", "L3.M4.01", "L3.M4.02", "L3.M4.03", "L4.M1.07", "L4.M2.01", "L4.M2.02", "L4.M2.05", "L4.M2.06", "L4.M3.05", "L4.M3.09", "L4.M5.03", "L4.M5.04", "L5.M1.05", "L5.M2.05", "L5.M2.06", "L5.M3.01", "L5.M3.02", "L5.M3.05", "L5.M5.03", "L5.M5.05", "L5.M5.07", "L5.M6.01", "L5.M6.04", "L6.M1.06", "L6.M2.04", "L6.M3.02", "L6.M3.03", "L6.M3.05"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "attachment, scope and referent resolution", "machine_execution_appropriate": false, "machine_increments": [], "misconception_cluster_count": 157, "misconception_clusters": ["mc-0018", "mc-0022", "mc-0040", "mc-0042", "mc-0043", "mc-0056", "mc-0057", "mc-0070", "mc-0075", "mc-0079", "mc-0083", "mc-0086", "mc-0097", "mc-0098", "mc-0102", "mc-0108", "mc-0110", "mc-0116", "mc-0120", "mc-0126"], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": true, "operationalized_planes": ["tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "sol_integration_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-001b-ma-context-runtime", "consumer_paths": ["curriculum/drills/keys/tranche-001-ma-context-runtime.keys.jsonl", "curriculum/kc-catalog.d/tranche-001-ma-context.jsonl", "curriculum/drills/tranche-001-ma-context-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_001_ma_context_runtime.py"]}], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["fixture_source_candidate", "candidate_remediation_material", "candidate_presentation_template", "instructional_only_candidate_presentation", "sol_integration_blocked"], "strongest_state": "fixture_source_candidate", "tutor_projection_appropriate": true, "unit_id": "u-n10", "validation_command": "python tools/build_pedagogy_projections.py --check"} {"axis": "nahw", "blockers": [{"cause": "occurrence grounding for syntax units requires per-occurrence governor/dependency evidence from the merged Burst-A2 nahw plane (Sol-owned, merged to main after this branch's base); candidate lattices exist but occurrence selection without that plane would be surface-similarity inference, which is prohibited", "dimension": "occurrence_grounding", "state": "sol_integration_blocked"}], "capability_interface": "instructional_only", "contributing_lessons": ["L2.M1.06", "L3.M2.06", "L4.M2.04", "L4.M2.06", "L4.M3.05", "L4.M4.05", "L4.M5.04", "L5.M1.07", "L5.M2.05", "L5.M3.02", "L5.M5.04", "L5.M5.07", "L6.M2.05", "L6.M3.06", "L6.M4.01", "L6.M4.02", "L6.M4.04", "L6.M4.05", "L6.M6.01", "L6.M6.02", "L6.M6.05"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "multiple valid and school-dependent analyses", "machine_execution_appropriate": false, "machine_increments": [], "misconception_cluster_count": 85, "misconception_clusters": ["mc-0002", "mc-0033", "mc-0041", "mc-0048", "mc-0059", "mc-0062", "mc-0067", "mc-0070", "mc-0075", "mc-0079", "mc-0083", "mc-0084", "mc-0115", "mc-0127", "mc-0130", "mc-0132", "mc-0135", "mc-0137", "mc-0174", "mc-0177"], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": true, "operationalized_planes": ["tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "sol_integration_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-001b-ma-context-runtime", "consumer_paths": ["curriculum/drills/keys/tranche-001-ma-context-runtime.keys.jsonl", "curriculum/kc-catalog.d/tranche-001-ma-context.jsonl", "curriculum/drills/tranche-001-ma-context-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_001_ma_context_runtime.py"]}], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["fixture_source_candidate", "candidate_remediation_material", "candidate_presentation_template", "instructional_only_candidate_presentation", "sol_integration_blocked"], "strongest_state": "fixture_source_candidate", "tutor_projection_appropriate": true, "unit_id": "u-n11", "validation_command": "python tools/build_pedagogy_projections.py --check"} {"axis": "nahw", "blockers": [{"cause": "occurrence grounding for syntax units requires per-occurrence governor/dependency evidence from the merged Burst-A2 nahw plane (Sol-owned, merged to main after this branch's base); candidate lattices exist but occurrence selection without that plane would be surface-similarity inference, which is prohibited", "dimension": "occurrence_grounding", "state": "sol_integration_blocked"}], "capability_interface": "pedagogical_projection", "contributing_lessons": ["L3.M4.04", "L3.M4.05", "L4.M2.03", "L4.M3.06", "L4.M4.06", "L4.M5.02", "L4.M5.06", "L5.M1.05", "L5.M2.05", "L5.M2.06", "L5.M3.05", "L5.M6.02", "L5.M6.03", "L5.M6.04", "L6.M3.05", "L6.M3.08", "L6.M5.07", "L6.M5.08"], "existing_fixtures": "increment fixtures (pos/adv/abst)", "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "discourse cohesion and sentence-level interpretation", "machine_execution_appropriate": true, "machine_increments": ["inc-pedagogy"], "misconception_cluster_count": 80, "misconception_clusters": ["mc-0009", "mc-0042", "mc-0068", "mc-0083", "mc-0088", "mc-0089", "mc-0090", "mc-0096", "mc-0107", "mc-0113", "mc-0116", "mc-0138", "mc-0154", "mc-0167", "mc-0172", "mc-0174", "mc-0181", "mc-0187", "mc-0194", "mc-0239"], "missing_fixtures": null, "occurrence_grounding_appropriate": true, "operationalized_planes": ["tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": ["inc-pedagogy"], "pvn_candidates": {"grounding_state": "sol_integration_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-001b-ma-context-runtime", "consumer_paths": ["curriculum/drills/keys/tranche-001-ma-context-runtime.keys.jsonl", "curriculum/kc-catalog.d/tranche-001-ma-context.jsonl", "curriculum/drills/tranche-001-ma-context-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_001_ma_context_runtime.py"]}], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "review promotion bundle inc-pedagogy", "states": ["candidate_pack_harnessed", "promotion_bundle_prepared", "fixture_source_candidate", "candidate_presentation_template", "sol_integration_blocked"], "strongest_state": "candidate_pack_harnessed", "tutor_projection_appropriate": true, "unit_id": "u-n12", "validation_command": "python tools/curriculum_unit_consumer.py --increment inc-pedagogy"} -{"axis": "sarf", "blockers": [{"cause": "no curated standard exemplar yet resolves for this sarf unit; extension path: widen CANDIDATE_HEADWORDS with independently selected citation forms and re-run (identity matching only)", "dimension": "occurrence_grounding", "state": "evidence_blocked"}], "capability_interface": "executable", "closure_dimensions": {"consumer_bindings": {"binding_ids": ["l1l6-tranche-001b-foundational-script-runtime", "l1l6-tranche-001b-weak-root-voice-runtime"], "lessons_bound": 3, "lessons_total": 21, "missing_lesson_ids": ["L1.M1.08", "L1.M2.03", "L1.M2.08", "L2.M1.06", "L2.M1.07", "L2.M3.01", "L2.M3.06", "L2.M4.04", "L3.M1.01", "L3.M1.04", "L3.M1.07", "L3.M1.08", "L3.M1.09", "L5.M4.04", "L5.M4.05", "L5.M4.06", "L6.M5.01", "L6.M5.05"], "satisfied": false}, "error_fixtures": {"missing_queue_row_ids": [], "posture": "fixture_only_not_behavioral_closure", "satisfaction_basis": "all_expected_error_rows_traced", "satisfied": true, "satisfied_vacuously": false, "total": 21, "traced": 21}, "machine_execution": {"disposition": "pack_backed", "increment_ids": ["inc-ownership"], "missing_increment_ids": [], "satisfied": true}, "occurrence_grounding": {"blockers": [{"cause": "no curated standard exemplar yet resolves for this sarf unit; extension path: widen CANDIDATE_HEADWORDS with independently selected citation forms and re-run (identity matching only)", "dimension": "occurrence_grounding", "state": "evidence_blocked"}], "disposition": "parked", "satisfied": true}, "runtime_misconceptions": {"covered": 16, "missing_ids": ["mc-0012", "mc-0013", "mc-0016", "mc-0023", "mc-0030", "mc-0037", "mc-0055", "mc-0073", "mc-0117", "mc-0122", "mc-0147", "mc-0157", "mc-0158", "mc-0175", "mc-0182", "mc-0185", "mc-0204", "mc-0205", "mc-0208", "mc-0209", "mc-0210", "mc-0212", "mc-0218", "mc-0219", "mc-0220", "mc-0221", "mc-0222", "mc-0237", "mc-0274", "mc-0292", "mc-0294", "mc-0300", "mc-0302", "mc-0304", "mc-0318", "mc-0321", "mc-0360", "mc-0364", "mc-0419", "mc-0492", "mc-0497", "mc-0539", "mc-0541", "mc-0550", "mc-0551", "mc-0555", "mc-0581", "mc-0599", "mc-0609", "mc-0655", "mc-0658", "mc-0666", "mc-0680", "mc-0699", "mc-0719", "mc-0721", "mc-0773", "mc-0782", "mc-0803", "mc-0842", "mc-0848", "mc-0876", "mc-0878", "mc-0885", "mc-0886", "mc-0900", "mc-0902", "mc-0903"], "satisfaction_basis": "required_misconceptions_missing", "satisfied": false, "satisfied_vacuously": false, "total": 84}}, "contributing_lessons": ["L1.M1.05", "L1.M1.08", "L1.M2.03", "L1.M2.08", "L2.M1.06", "L2.M1.07", "L2.M3.01", "L2.M3.06", "L2.M4.04", "L3.M1.01", "L3.M1.04", "L3.M1.07", "L3.M1.08", "L3.M1.09", "L4.M1.01", "L4.M1.04", "L5.M4.04", "L5.M4.05", "L5.M4.06", "L6.M5.01", "L6.M5.05"], "existing_fixtures": "increment fixtures (pos/adv/abst)", "fully_operationalized": false, "fully_operationalized_basis": "incomplete_dimensions:runtime_misconceptions,consumer_bindings", "incomplete_closure_dimensions": ["runtime_misconceptions", "consumer_bindings"], "instructional_role": "root / pattern / affix letter ownership", "machine_execution_appropriate": true, "machine_increments": ["inc-ownership"], "misconception_cluster_count": 84, "misconception_clusters": ["mc-0012", "mc-0013", "mc-0016", "mc-0023", "mc-0030", "mc-0037", "mc-0055", "mc-0061", "mc-0073", "mc-0074", "mc-0117", "mc-0119", "mc-0122", "mc-0129", "mc-0145", "mc-0147", "mc-0157", "mc-0158", "mc-0175", "mc-0182"], "missing_fixtures": null, "occurrence_grounding_appropriate": true, "occurrence_grounding_parked": false, "operationalized_planes": ["tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": ["inc-ownership"], "pvn_candidates": {"grounding_state": "authority_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-001b-foundational-script-runtime", "consumer_paths": ["curriculum/drills/keys/foundational-script-orthography.keys.jsonl", "curriculum/kc-catalog.json", "curriculum/drills/foundational-script-orthography.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_foundational_script_orthography_runtime.py"]}, {"binding_id": "l1l6-tranche-001b-weak-root-voice-runtime", "consumer_paths": ["curriculum/drills/keys/weak-root-voice-runtime.keys.jsonl", "curriculum/kc-catalog.json", "curriculum/drills/weak-root-voice-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_weak_root_voice_runtime.py"]}], "satisfied_vacuously_dimension_ids": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "review promotion bundle inc-ownership", "states": ["candidate_pack_harnessed", "promotion_bundle_prepared", "fixture_source_candidate", "candidate_presentation_template", "evidence_blocked"], "strongest_state": "candidate_pack_harnessed", "tutor_projection_appropriate": true, "unit_id": "u-s01", "validation_command": "python tools/curriculum_unit_consumer.py --increment inc-ownership"} +{"axis": "sarf", "blockers": [{"cause": "no curated standard exemplar yet resolves for this sarf unit; extension path: widen CANDIDATE_HEADWORDS with independently selected citation forms and re-run (identity matching only)", "dimension": "occurrence_grounding", "state": "evidence_blocked"}], "capability_interface": "executable", "closure_dimensions": {"behavioral_coverage": {"decided": 0, "missing_queue_row_ids": ["q-error-fixtures-0004", "q-error-fixtures-0007", "q-error-fixtures-0011", "q-error-fixtures-0014", "q-error-fixtures-0029", "q-error-fixtures-0030", "q-error-fixtures-0038", "q-error-fixtures-0043", "q-error-fixtures-0047", "q-error-fixtures-0054", "q-error-fixtures-0057", "q-error-fixtures-0060", "q-error-fixtures-0061", "q-error-fixtures-0062", "q-error-fixtures-0091", "q-error-fixtures-0094", "q-error-fixtures-0153", "q-error-fixtures-0154", "q-error-fixtures-0155", "q-error-fixtures-0193", "q-error-fixtures-0197"], "posture": "behavioral_verdict_required", "satisfaction_basis": "expected_error_rows_not_behaviorally_decided", "satisfied": false, "satisfied_vacuously": false, "total": 21}, "consumer_bindings": {"binding_ids": ["l1l6-tranche-001b-foundational-script-runtime", "l1l6-tranche-001b-weak-root-voice-runtime"], "lessons_bound": 3, "lessons_total": 21, "missing_lesson_ids": ["L1.M1.08", "L1.M2.03", "L1.M2.08", "L2.M1.06", "L2.M1.07", "L2.M3.01", "L2.M3.06", "L2.M4.04", "L3.M1.01", "L3.M1.04", "L3.M1.07", "L3.M1.08", "L3.M1.09", "L5.M4.04", "L5.M4.05", "L5.M4.06", "L6.M5.01", "L6.M5.05"], "satisfied": false}, "error_fixtures": {"missing_queue_row_ids": [], "posture": "runner_loaded_with_explicit_behavioral_state", "satisfaction_basis": "all_expected_error_rows_traced", "satisfied": true, "satisfied_vacuously": false, "total": 21, "traced": 21}, "machine_execution": {"disposition": "pack_backed", "increment_ids": ["inc-ownership"], "missing_increment_ids": [], "satisfied": true}, "occurrence_grounding": {"blockers": [{"cause": "no curated standard exemplar yet resolves for this sarf unit; extension path: widen CANDIDATE_HEADWORDS with independently selected citation forms and re-run (identity matching only)", "dimension": "occurrence_grounding", "state": "evidence_blocked"}], "disposition": "parked", "satisfied": true}, "runtime_misconceptions": {"covered": 16, "missing_ids": ["mc-0012", "mc-0013", "mc-0016", "mc-0023", "mc-0030", "mc-0037", "mc-0055", "mc-0073", "mc-0117", "mc-0122", "mc-0147", "mc-0157", "mc-0158", "mc-0175", "mc-0182", "mc-0185", "mc-0204", "mc-0205", "mc-0208", "mc-0209", "mc-0210", "mc-0212", "mc-0218", "mc-0219", "mc-0220", "mc-0221", "mc-0222", "mc-0237", "mc-0274", "mc-0292", "mc-0294", "mc-0300", "mc-0302", "mc-0304", "mc-0318", "mc-0321", "mc-0360", "mc-0364", "mc-0419", "mc-0492", "mc-0497", "mc-0539", "mc-0541", "mc-0550", "mc-0551", "mc-0555", "mc-0581", "mc-0599", "mc-0609", "mc-0655", "mc-0658", "mc-0666", "mc-0680", "mc-0699", "mc-0719", "mc-0721", "mc-0773", "mc-0782", "mc-0803", "mc-0842", "mc-0848", "mc-0876", "mc-0878", "mc-0885", "mc-0886", "mc-0900", "mc-0902", "mc-0903"], "satisfaction_basis": "required_misconceptions_missing", "satisfied": false, "satisfied_vacuously": false, "total": 84}}, "contributing_lessons": ["L1.M1.05", "L1.M1.08", "L1.M2.03", "L1.M2.08", "L2.M1.06", "L2.M1.07", "L2.M3.01", "L2.M3.06", "L2.M4.04", "L3.M1.01", "L3.M1.04", "L3.M1.07", "L3.M1.08", "L3.M1.09", "L4.M1.01", "L4.M1.04", "L5.M4.04", "L5.M4.05", "L5.M4.06", "L6.M5.01", "L6.M5.05"], "existing_fixtures": "increment fixtures (pos/adv/abst)", "fully_operationalized": false, "fully_operationalized_basis": "incomplete_dimensions:runtime_misconceptions,behavioral_coverage,consumer_bindings", "incomplete_closure_dimensions": ["runtime_misconceptions", "behavioral_coverage", "consumer_bindings"], "instructional_role": "root / pattern / affix letter ownership", "machine_execution_appropriate": true, "machine_increments": ["inc-ownership"], "misconception_cluster_count": 84, "misconception_clusters": ["mc-0012", "mc-0013", "mc-0016", "mc-0023", "mc-0030", "mc-0037", "mc-0055", "mc-0061", "mc-0073", "mc-0074", "mc-0117", "mc-0119", "mc-0122", "mc-0129", "mc-0145", "mc-0147", "mc-0157", "mc-0158", "mc-0175", "mc-0182"], "missing_fixtures": null, "occurrence_grounding_appropriate": true, "occurrence_grounding_parked": false, "operationalized_planes": ["tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": ["inc-ownership"], "pvn_candidates": {"grounding_state": "authority_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-001b-foundational-script-runtime", "consumer_paths": ["curriculum/drills/keys/foundational-script-orthography.keys.jsonl", "curriculum/kc-catalog.json", "curriculum/drills/foundational-script-orthography.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_foundational_script_orthography_runtime.py"]}, {"binding_id": "l1l6-tranche-001b-weak-root-voice-runtime", "consumer_paths": ["curriculum/drills/keys/weak-root-voice-runtime.keys.jsonl", "curriculum/kc-catalog.json", "curriculum/drills/weak-root-voice-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_weak_root_voice_runtime.py"]}], "satisfied_vacuously_dimension_ids": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "review promotion bundle inc-ownership", "states": ["candidate_pack_harnessed", "promotion_bundle_prepared", "fixture_source_candidate", "candidate_presentation_template", "evidence_blocked"], "strongest_state": "candidate_pack_harnessed", "tutor_projection_appropriate": true, "unit_id": "u-s01", "validation_command": "python tools/curriculum_unit_consumer.py --increment inc-ownership"} {"axis": "sarf", "blockers": [], "capability_interface": "instructional_only", "contributing_lessons": ["L1.M4.04", "L2.M1.06", "L2.M1.07", "L3.M1.01", "L3.M1.02", "L3.M1.03", "L3.M1.04", "L3.M1.05", "L3.M1.06", "L3.M1.07", "L3.M1.08", "L3.M1.09", "L3.M2.02", "L3.M4.08", "L4.M1.01", "L4.M1.06", "L5.M3.08", "L5.M4.01", "L5.M4.02", "L5.M4.04", "L5.M4.05", "L6.M3.01", "L6.M5.08"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "derived verb forms I-X (measure system)", "machine_execution_appropriate": false, "machine_increments": [], "misconception_cluster_count": 91, "misconception_clusters": ["mc-0009", "mc-0031", "mc-0035", "mc-0039", "mc-0053", "mc-0055", "mc-0061", "mc-0069", "mc-0081", "mc-0094", "mc-0117", "mc-0119", "mc-0122", "mc-0129", "mc-0142", "mc-0147", "mc-0158", "mc-0162", "mc-0182", "mc-0185"], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": true, "operationalized_planes": ["tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "exact_vn_candidates", "n": 0, "occurrence_links": false, "v": 1}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-001b-derivation-template-runtime", "consumer_paths": ["curriculum/drills/keys/tranche-001-derivation-template-runtime.keys.jsonl", "curriculum/kc-catalog.d/tranche-001-derivation-template.jsonl", "curriculum/drills/tranche-001-derivation-template-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_001_derivation_template_runtime.py"]}, {"binding_id": "l1l6-tranche-001b-ma-context-runtime", "consumer_paths": ["curriculum/drills/keys/tranche-001-ma-context-runtime.keys.jsonl", "curriculum/kc-catalog.d/tranche-001-ma-context.jsonl", "curriculum/drills/tranche-001-ma-context-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_001_ma_context_runtime.py"]}], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["candidate_occurrence_witnesses", "fixture_source_candidate", "candidate_remediation_material", "candidate_presentation_template", "instructional_only_candidate_presentation"], "strongest_state": "candidate_occurrence_witnesses", "tutor_projection_appropriate": true, "unit_id": "u-s02", "validation_command": "python tools/build_pedagogy_projections.py --check"} {"axis": "sarf", "blockers": [{"cause": "no curated exemplar resolves by exact citation-form identity in the entry store (tried: كَاتِب / مَكْتُوب / عَالِم); extension path: widen the exemplar list with store-attested citation forms — identity matching only, never similarity", "dimension": "occurrence_grounding", "state": "evidence_blocked"}], "capability_interface": "executable", "contributing_lessons": ["L1.M2.08", "L2.M4.01", "L2.M4.02", "L3.M2.04", "L3.M3.01", "L3.M3.02", "L3.M3.07", "L3.M4.02", "L3.M4.08", "L4.M4.04", "L4.M5.09", "L5.M4.04", "L5.M4.06", "L6.M3.07", "L6.M5.04", "L6.M6.04"], "existing_fixtures": "increment fixtures (pos/adv/abst)", "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "active and passive participles", "machine_execution_appropriate": true, "machine_increments": ["inc-derivatives"], "misconception_cluster_count": 67, "misconception_clusters": ["mc-0004", "mc-0013", "mc-0027", "mc-0034", "mc-0046", "mc-0061", "mc-0074", "mc-0085", "mc-0087", "mc-0093", "mc-0102", "mc-0105", "mc-0108", "mc-0110", "mc-0118", "mc-0141", "mc-0142", "mc-0152", "mc-0163", "mc-0182"], "missing_fixtures": null, "occurrence_grounding_appropriate": true, "operationalized_planes": ["tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": ["inc-derivatives"], "pvn_candidates": {"grounding_state": "authority_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-001b-derivation-template-runtime", "consumer_paths": ["curriculum/drills/keys/tranche-001-derivation-template-runtime.keys.jsonl", "curriculum/kc-catalog.d/tranche-001-derivation-template.jsonl", "curriculum/drills/tranche-001-derivation-template-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_001_derivation_template_runtime.py"]}, {"binding_id": "l1l6-tranche-001b-ma-context-runtime", "consumer_paths": ["curriculum/drills/keys/tranche-001-ma-context-runtime.keys.jsonl", "curriculum/kc-catalog.d/tranche-001-ma-context.jsonl", "curriculum/drills/tranche-001-ma-context-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_001_ma_context_runtime.py"]}], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "review promotion bundle inc-derivatives", "states": ["candidate_pack_harnessed", "promotion_bundle_prepared", "fixture_source_candidate", "candidate_presentation_template", "evidence_blocked"], "strongest_state": "candidate_pack_harnessed", "tutor_projection_appropriate": true, "unit_id": "u-s03", "validation_command": "python tools/curriculum_unit_consumer.py --increment inc-derivatives"} {"axis": "sarf", "blockers": [{"cause": "no curated exemplar resolves by exact citation-form identity in the entry store (tried: تَعْلِيم / إِحْسَان / قِتَال); extension path: widen the exemplar list with store-attested citation forms — identity matching only, never similarity", "dimension": "occurrence_grounding", "state": "evidence_blocked"}], "capability_interface": "executable", "contributing_lessons": ["L3.M1.02", "L3.M1.03", "L3.M1.04", "L3.M1.05", "L3.M1.06", "L3.M1.08", "L3.M1.09", "L3.M2.02", "L3.M2.03", "L3.M3.05", "L3.M3.06", "L4.M3.08", "L5.M4.01", "L5.M4.04", "L5.M4.05", "L5.M4.06", "L6.M3.07", "L6.M5.04", "L6.M5.05", "L6.M5.08"], "existing_fixtures": "increment fixtures (pos/adv/abst)", "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "masdar (verbal noun) families", "machine_execution_appropriate": true, "machine_increments": ["inc-derivatives"], "misconception_cluster_count": 83, "misconception_clusters": ["mc-0009", "mc-0013", "mc-0019", "mc-0030", "mc-0053", "mc-0061", "mc-0069", "mc-0073", "mc-0078", "mc-0094", "mc-0105", "mc-0117", "mc-0141", "mc-0144", "mc-0158", "mc-0162", "mc-0175", "mc-0182", "mc-0185", "mc-0190"], "missing_fixtures": null, "occurrence_grounding_appropriate": true, "operationalized_planes": ["tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": ["inc-derivatives"], "pvn_candidates": {"grounding_state": "authority_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-001b-derivation-template-runtime", "consumer_paths": ["curriculum/drills/keys/tranche-001-derivation-template-runtime.keys.jsonl", "curriculum/kc-catalog.d/tranche-001-derivation-template.jsonl", "curriculum/drills/tranche-001-derivation-template-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_001_derivation_template_runtime.py"]}], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "review promotion bundle inc-derivatives", "states": ["candidate_pack_harnessed", "promotion_bundle_prepared", "fixture_source_candidate", "candidate_presentation_template", "evidence_blocked"], "strongest_state": "candidate_pack_harnessed", "tutor_projection_appropriate": true, "unit_id": "u-s04", "validation_command": "python tools/curriculum_unit_consumer.py --increment inc-derivatives"} {"axis": "sarf", "blockers": [{"cause": "no curated exemplar resolves by exact citation-form identity in the entry store (tried: مِيزَان / مِفْتَاح); extension path: widen the exemplar list with store-attested citation forms — identity matching only, never similarity", "dimension": "occurrence_grounding", "state": "evidence_blocked"}], "capability_interface": "executable", "contributing_lessons": ["L1.M2.03", "L1.M2.08", "L3.M3.07", "L3.M3.08", "L3.M4.08", "L6.M5.04"], "existing_fixtures": "increment fixtures (pos/adv/abst)", "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "nouns of place, time and instrument", "machine_execution_appropriate": true, "machine_increments": ["inc-derivatives"], "misconception_cluster_count": 23, "misconception_clusters": ["mc-0016", "mc-0074", "mc-0077", "mc-0087", "mc-0105", "mc-0141", "mc-0142", "mc-0192", "mc-0209", "mc-0210", "mc-0224", "mc-0237", "mc-0246", "mc-0304", "mc-0305", "mc-0310", "mc-0463", "mc-0469", "mc-0476", "mc-0604"], "missing_fixtures": null, "occurrence_grounding_appropriate": true, "operationalized_planes": ["tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": ["inc-derivatives"], "pvn_candidates": {"grounding_state": "authority_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-001b-ma-context-runtime", "consumer_paths": ["curriculum/drills/keys/tranche-001-ma-context-runtime.keys.jsonl", "curriculum/kc-catalog.d/tranche-001-ma-context.jsonl", "curriculum/drills/tranche-001-ma-context-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_001_ma_context_runtime.py"]}], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "review promotion bundle inc-derivatives", "states": ["candidate_pack_harnessed", "promotion_bundle_prepared", "fixture_source_candidate", "candidate_presentation_template", "evidence_blocked"], "strongest_state": "candidate_pack_harnessed", "tutor_projection_appropriate": true, "unit_id": "u-s05", "validation_command": "python tools/curriculum_unit_consumer.py --increment inc-derivatives"} -{"axis": "sarf", "blockers": [], "capability_interface": "instructional_only", "closure_dimensions": {"consumer_bindings": {"binding_ids": ["l1l6-tranche-001b-derivation-template-runtime", "l1l6-tranche-001b-foundational-script-runtime", "l1l6-tranche-001b-ma-context-runtime", "l1l6-tranche-001b-weak-root-voice-runtime"], "lessons_bound": 14, "lessons_total": 33, "missing_lesson_ids": ["L1.M2.10", "L2.M1.05", "L2.M1.06", "L2.M1.08", "L2.M2.01", "L2.M2.02", "L2.M3.04", "L2.M4.01", "L3.M3.06", "L3.M5.01", "L4.M3.04", "L4.M4.03", "L5.M4.02", "L5.M4.05", "L5.M4.07", "L5.M5.06", "L6.M2.03", "L6.M5.01", "L6.M5.02"], "satisfied": false}, "error_fixtures": {"missing_queue_row_ids": [], "posture": "fixture_only_not_behavioral_closure", "satisfaction_basis": "all_expected_error_rows_traced", "satisfied": true, "satisfied_vacuously": false, "total": 31, "traced": 31}, "machine_execution": {"disposition": "instructional_only", "increment_ids": [], "satisfied": true}, "occurrence_grounding": {"blockers": [], "disposition": "committed_candidate_witness", "satisfied": true}, "runtime_misconceptions": {"covered": 65, "missing_ids": ["mc-0029", "mc-0037", "mc-0039", "mc-0080", "mc-0112", "mc-0117", "mc-0124", "mc-0140", "mc-0156", "mc-0162", "mc-0188", "mc-0200", "mc-0215", "mc-0218", "mc-0219", "mc-0221", "mc-0244", "mc-0245", "mc-0249", "mc-0259", "mc-0263", "mc-0272", "mc-0274", "mc-0279", "mc-0290", "mc-0316", "mc-0330", "mc-0331", "mc-0334", "mc-0352", "mc-0357", "mc-0358", "mc-0359", "mc-0364", "mc-0366", "mc-0386", "mc-0419", "mc-0449", "mc-0499", "mc-0500", "mc-0541", "mc-0575", "mc-0578", "mc-0581", "mc-0600", "mc-0603", "mc-0609", "mc-0612", "mc-0613", "mc-0622", "mc-0637", "mc-0652", "mc-0662", "mc-0676", "mc-0689", "mc-0700", "mc-0702", "mc-0710", "mc-0712", "mc-0743", "mc-0773", "mc-0775", "mc-0782", "mc-0790", "mc-0795", "mc-0812", "mc-0837", "mc-0838", "mc-0849", "mc-0854", "mc-0855", "mc-0872", "mc-0873", "mc-0888", "mc-0889", "mc-0890"], "satisfaction_basis": "required_misconceptions_missing", "satisfied": false, "satisfied_vacuously": false, "total": 141}}, "contributing_lessons": ["L1.M1.04", "L1.M1.05", "L1.M2.10", "L2.M1.04", "L2.M1.05", "L2.M1.06", "L2.M1.08", "L2.M2.01", "L2.M2.02", "L2.M3.04", "L2.M4.01", "L2.M4.02", "L2.M5.03", "L3.M3.06", "L3.M5.01", "L4.M1.01", "L4.M1.02", "L4.M1.03", "L4.M1.04", "L4.M1.05", "L4.M3.04", "L4.M4.03", "L4.M4.04", "L5.M4.01", "L5.M4.02", "L5.M4.05", "L5.M4.07", "L5.M5.06", "L6.M2.03", "L6.M3.01", "L6.M3.07", "L6.M5.01", "L6.M5.02"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "incomplete_dimensions:runtime_misconceptions,consumer_bindings", "incomplete_closure_dimensions": ["runtime_misconceptions", "consumer_bindings"], "instructional_role": "weak, hamzated and doubled verb classes", "machine_execution_appropriate": false, "machine_increments": [], "misconception_cluster_count": 141, "misconception_clusters": ["mc-0029", "mc-0034", "mc-0035", "mc-0036", "mc-0037", "mc-0039", "mc-0046", "mc-0076", "mc-0080", "mc-0085", "mc-0094", "mc-0100", "mc-0112", "mc-0114", "mc-0117", "mc-0118", "mc-0119", "mc-0124", "mc-0129", "mc-0140"], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": true, "occurrence_grounding_parked": false, "operationalized_planes": ["tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "exact_vn_candidates", "n": 0, "occurrence_links": false, "v": 3}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-001b-derivation-template-runtime", "consumer_paths": ["curriculum/drills/keys/tranche-001-derivation-template-runtime.keys.jsonl", "curriculum/kc-catalog.d/tranche-001-derivation-template.jsonl", "curriculum/drills/tranche-001-derivation-template-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_001_derivation_template_runtime.py"]}, {"binding_id": "l1l6-tranche-001b-foundational-script-runtime", "consumer_paths": ["curriculum/drills/keys/foundational-script-orthography.keys.jsonl", "curriculum/kc-catalog.json", "curriculum/drills/foundational-script-orthography.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_foundational_script_orthography_runtime.py"]}, {"binding_id": "l1l6-tranche-001b-ma-context-runtime", "consumer_paths": ["curriculum/drills/keys/tranche-001-ma-context-runtime.keys.jsonl", "curriculum/kc-catalog.d/tranche-001-ma-context.jsonl", "curriculum/drills/tranche-001-ma-context-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_001_ma_context_runtime.py"]}, {"binding_id": "l1l6-tranche-001b-weak-root-voice-runtime", "consumer_paths": ["curriculum/drills/keys/weak-root-voice-runtime.keys.jsonl", "curriculum/kc-catalog.json", "curriculum/drills/weak-root-voice-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_weak_root_voice_runtime.py"]}], "satisfied_vacuously_dimension_ids": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["candidate_occurrence_witnesses", "fixture_source_candidate", "candidate_remediation_material", "candidate_presentation_template", "instructional_only_candidate_presentation"], "strongest_state": "candidate_occurrence_witnesses", "tutor_projection_appropriate": true, "unit_id": "u-s06", "validation_command": "python tools/build_pedagogy_projections.py --check"} +{"axis": "sarf", "blockers": [], "capability_interface": "instructional_only", "closure_dimensions": {"behavioral_coverage": {"decided": 0, "missing_queue_row_ids": ["q-error-fixtures-0003", "q-error-fixtures-0004", "q-error-fixtures-0027", "q-error-fixtures-0028", "q-error-fixtures-0029", "q-error-fixtures-0031", "q-error-fixtures-0032", "q-error-fixtures-0033", "q-error-fixtures-0041", "q-error-fixtures-0045", "q-error-fixtures-0051", "q-error-fixtures-0074", "q-error-fixtures-0085", "q-error-fixtures-0091", "q-error-fixtures-0092", "q-error-fixtures-0093", "q-error-fixtures-0094", "q-error-fixtures-0095", "q-error-fixtures-0108", "q-error-fixtures-0116", "q-error-fixtures-0117", "q-error-fixtures-0150", "q-error-fixtures-0151", "q-error-fixtures-0154", "q-error-fixtures-0156", "q-error-fixtures-0162", "q-error-fixtures-0176", "q-error-fixtures-0179", "q-error-fixtures-0185", "q-error-fixtures-0193", "q-error-fixtures-0194"], "posture": "behavioral_verdict_required", "satisfaction_basis": "expected_error_rows_not_behaviorally_decided", "satisfied": false, "satisfied_vacuously": false, "total": 31}, "consumer_bindings": {"binding_ids": ["l1l6-tranche-001b-derivation-template-runtime", "l1l6-tranche-001b-foundational-script-runtime", "l1l6-tranche-001b-ma-context-runtime", "l1l6-tranche-001b-weak-root-voice-runtime"], "lessons_bound": 14, "lessons_total": 33, "missing_lesson_ids": ["L1.M2.10", "L2.M1.05", "L2.M1.06", "L2.M1.08", "L2.M2.01", "L2.M2.02", "L2.M3.04", "L2.M4.01", "L3.M3.06", "L3.M5.01", "L4.M3.04", "L4.M4.03", "L5.M4.02", "L5.M4.05", "L5.M4.07", "L5.M5.06", "L6.M2.03", "L6.M5.01", "L6.M5.02"], "satisfied": false}, "error_fixtures": {"missing_queue_row_ids": [], "posture": "runner_loaded_with_explicit_behavioral_state", "satisfaction_basis": "all_expected_error_rows_traced", "satisfied": true, "satisfied_vacuously": false, "total": 31, "traced": 31}, "machine_execution": {"disposition": "instructional_only", "increment_ids": [], "satisfied": true}, "occurrence_grounding": {"blockers": [], "disposition": "committed_candidate_witness", "satisfied": true}, "runtime_misconceptions": {"covered": 65, "missing_ids": ["mc-0029", "mc-0037", "mc-0039", "mc-0080", "mc-0112", "mc-0117", "mc-0124", "mc-0140", "mc-0156", "mc-0162", "mc-0188", "mc-0200", "mc-0215", "mc-0218", "mc-0219", "mc-0221", "mc-0244", "mc-0245", "mc-0249", "mc-0259", "mc-0263", "mc-0272", "mc-0274", "mc-0279", "mc-0290", "mc-0316", "mc-0330", "mc-0331", "mc-0334", "mc-0352", "mc-0357", "mc-0358", "mc-0359", "mc-0364", "mc-0366", "mc-0386", "mc-0419", "mc-0449", "mc-0499", "mc-0500", "mc-0541", "mc-0575", "mc-0578", "mc-0581", "mc-0600", "mc-0603", "mc-0609", "mc-0612", "mc-0613", "mc-0622", "mc-0637", "mc-0652", "mc-0662", "mc-0676", "mc-0689", "mc-0700", "mc-0702", "mc-0710", "mc-0712", "mc-0743", "mc-0773", "mc-0775", "mc-0782", "mc-0790", "mc-0795", "mc-0812", "mc-0837", "mc-0838", "mc-0849", "mc-0854", "mc-0855", "mc-0872", "mc-0873", "mc-0888", "mc-0889", "mc-0890"], "satisfaction_basis": "required_misconceptions_missing", "satisfied": false, "satisfied_vacuously": false, "total": 141}}, "contributing_lessons": ["L1.M1.04", "L1.M1.05", "L1.M2.10", "L2.M1.04", "L2.M1.05", "L2.M1.06", "L2.M1.08", "L2.M2.01", "L2.M2.02", "L2.M3.04", "L2.M4.01", "L2.M4.02", "L2.M5.03", "L3.M3.06", "L3.M5.01", "L4.M1.01", "L4.M1.02", "L4.M1.03", "L4.M1.04", "L4.M1.05", "L4.M3.04", "L4.M4.03", "L4.M4.04", "L5.M4.01", "L5.M4.02", "L5.M4.05", "L5.M4.07", "L5.M5.06", "L6.M2.03", "L6.M3.01", "L6.M3.07", "L6.M5.01", "L6.M5.02"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "incomplete_dimensions:runtime_misconceptions,behavioral_coverage,consumer_bindings", "incomplete_closure_dimensions": ["runtime_misconceptions", "behavioral_coverage", "consumer_bindings"], "instructional_role": "weak, hamzated and doubled verb classes", "machine_execution_appropriate": false, "machine_increments": [], "misconception_cluster_count": 141, "misconception_clusters": ["mc-0029", "mc-0034", "mc-0035", "mc-0036", "mc-0037", "mc-0039", "mc-0046", "mc-0076", "mc-0080", "mc-0085", "mc-0094", "mc-0100", "mc-0112", "mc-0114", "mc-0117", "mc-0118", "mc-0119", "mc-0124", "mc-0129", "mc-0140"], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": true, "occurrence_grounding_parked": false, "operationalized_planes": ["tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "exact_vn_candidates", "n": 0, "occurrence_links": false, "v": 3}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-001b-derivation-template-runtime", "consumer_paths": ["curriculum/drills/keys/tranche-001-derivation-template-runtime.keys.jsonl", "curriculum/kc-catalog.d/tranche-001-derivation-template.jsonl", "curriculum/drills/tranche-001-derivation-template-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_001_derivation_template_runtime.py"]}, {"binding_id": "l1l6-tranche-001b-foundational-script-runtime", "consumer_paths": ["curriculum/drills/keys/foundational-script-orthography.keys.jsonl", "curriculum/kc-catalog.json", "curriculum/drills/foundational-script-orthography.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_foundational_script_orthography_runtime.py"]}, {"binding_id": "l1l6-tranche-001b-ma-context-runtime", "consumer_paths": ["curriculum/drills/keys/tranche-001-ma-context-runtime.keys.jsonl", "curriculum/kc-catalog.d/tranche-001-ma-context.jsonl", "curriculum/drills/tranche-001-ma-context-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_001_ma_context_runtime.py"]}, {"binding_id": "l1l6-tranche-001b-weak-root-voice-runtime", "consumer_paths": ["curriculum/drills/keys/weak-root-voice-runtime.keys.jsonl", "curriculum/kc-catalog.json", "curriculum/drills/weak-root-voice-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_weak_root_voice_runtime.py"]}], "satisfied_vacuously_dimension_ids": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["candidate_occurrence_witnesses", "fixture_source_candidate", "candidate_remediation_material", "candidate_presentation_template", "instructional_only_candidate_presentation"], "strongest_state": "candidate_occurrence_witnesses", "tutor_projection_appropriate": true, "unit_id": "u-s06", "validation_command": "python tools/build_pedagogy_projections.py --check"} {"axis": "sarf", "blockers": [], "capability_interface": "instructional_only", "contributing_lessons": ["L2.M1.07", "L2.M1.08", "L2.M5.03", "L3.M1.08", "L4.M1.01", "L4.M1.02", "L4.M1.03", "L4.M1.04", "L4.M1.05", "L4.M1.06", "L4.M4.04", "L5.M4.01", "L5.M4.02", "L6.M2.01", "L6.M2.03", "L6.M3.01", "L6.M3.07", "L6.M5.01"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "i'lal and ibdal (phonological transformation rules)", "machine_execution_appropriate": false, "machine_increments": [], "misconception_cluster_count": 82, "misconception_clusters": ["mc-0031", "mc-0035", "mc-0037", "mc-0039", "mc-0055", "mc-0071", "mc-0076", "mc-0080", "mc-0085", "mc-0094", "mc-0119", "mc-0129", "mc-0145", "mc-0147", "mc-0152", "mc-0162", "mc-0173", "mc-0205", "mc-0215", "mc-0218"], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": false, "operationalized_planes": ["tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "not_applicable_with_reason", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-001b-derivation-template-runtime", "consumer_paths": ["curriculum/drills/keys/tranche-001-derivation-template-runtime.keys.jsonl", "curriculum/kc-catalog.d/tranche-001-derivation-template.jsonl", "curriculum/drills/tranche-001-derivation-template-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_001_derivation_template_runtime.py"]}, {"binding_id": "l1l6-tranche-001b-ma-context-runtime", "consumer_paths": ["curriculum/drills/keys/tranche-001-ma-context-runtime.keys.jsonl", "curriculum/kc-catalog.d/tranche-001-ma-context.jsonl", "curriculum/drills/tranche-001-ma-context-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_001_ma_context_runtime.py"]}], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["fixture_source_candidate", "candidate_presentation_template", "instructional_only_candidate_presentation"], "strongest_state": "fixture_source_candidate", "tutor_projection_appropriate": true, "unit_id": "u-s07", "validation_command": "python tools/build_pedagogy_projections.py --check"} {"axis": "sarf", "blockers": [{"cause": "no curated exemplar resolves by exact citation-form identity in the entry store (tried: رِجَال / كُتُب (skeleton-level matches exist in the store but identity requires the full citation form — og-1 forbids binding them) / مُسْلِمُونَ); extension path: widen the exemplar list with store-attested citation forms — identity matching only, never similarity", "dimension": "occurrence_grounding", "state": "evidence_blocked"}], "capability_interface": "instructional_only", "contributing_lessons": ["L1.M1.08", "L1.M3.02", "L1.M3.03", "L1.M3.05", "L1.M4.01", "L1.M4.02", "L1.M4.05", "L2.M3.01", "L2.M3.02", "L2.M3.03", "L2.M3.04", "L2.M3.05", "L2.M3.06", "L2.M3.07", "L2.M4.01", "L3.M2.04", "L3.M2.05", "L3.M3.03", "L3.M4.07", "L3.M5.05", "L4.M2.01", "L4.M2.07", "L4.M4.01", "L4.M4.07", "L4.M5.07", "L4.M5.08", "L4.M5.09", "L6.M2.02", "L6.M3.03", "L6.M5.02", "L6.M5.03", "L6.M5.06", "L6.M6.03"], "existing_fixtures": null, "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "number and gender morphology (duals, sound/broken plurals)", "machine_execution_appropriate": false, "machine_increments": [], "misconception_cluster_count": 137, "misconception_clusters": ["mc-0004", "mc-0007", "mc-0010", "mc-0012", "mc-0017", "mc-0022", "mc-0023", "mc-0024", "mc-0034", "mc-0036", "mc-0045", "mc-0046", "mc-0056", "mc-0063", "mc-0064", "mc-0102", "mc-0104", "mc-0110", "mc-0123", "mc-0136"], "missing_fixtures": "machine fixtures await pack authoring (exact plan: lift the unit's qualification tables into its declared capability schema)", "occurrence_grounding_appropriate": true, "operationalized_planes": [], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": [], "pvn_candidates": {"grounding_state": "authority_blocked", "n": 0, "occurrence_links": false, "v": 0}, "real_consumer_bindings": [], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "consume the unit's projection + fixture candidates; author its machine pack via the declared capability when prioritized", "states": ["fixture_source_candidate", "candidate_remediation_material", "candidate_presentation_template", "instructional_only_candidate_presentation", "evidence_blocked"], "strongest_state": "fixture_source_candidate", "tutor_projection_appropriate": true, "unit_id": "u-s08", "validation_command": "python tools/build_pedagogy_projections.py --check"} {"axis": "sarf", "blockers": [{"cause": "no curated standard exemplar yet resolves for this sarf unit; extension path: widen CANDIDATE_HEADWORDS with independently selected citation forms and re-run (identity matching only)", "dimension": "occurrence_grounding", "state": "evidence_blocked"}], "capability_interface": "executable", "contributing_lessons": ["L1.M3.06", "L1.M4.01", "L1.M4.02", "L1.M4.03", "L1.M5.01", "L1.M5.02", "L2.M1.07", "L2.M2.03", "L2.M2.04", "L3.M1.05", "L3.M2.01", "L3.M5.05", "L4.M1.02", "L4.M1.03", "L4.M2.02", "L4.M3.02", "L4.M3.07", "L4.M3.09", "L4.M4.03", "L4.M4.05", "L5.M1.03", "L5.M2.06", "L5.M3.05", "L5.M3.07", "L5.M4.07", "L5.M5.06", "L6.M3.02", "L6.M3.03", "L6.M3.05", "L6.M4.03", "L6.M6.03"], "existing_fixtures": "increment fixtures (pos/adv/abst)", "fully_operationalized": false, "fully_operationalized_basis": "not_yet_computed", "instructional_role": "clitic, pronoun and inflection layering", "machine_execution_appropriate": true, "machine_increments": ["inc-ownership"], "misconception_cluster_count": 125, "misconception_clusters": ["mc-0002", "mc-0017", "mc-0020", "mc-0022", "mc-0029", "mc-0042", "mc-0055", "mc-0064", "mc-0076", "mc-0098", "mc-0100", "mc-0106", "mc-0111", "mc-0112", "mc-0116", "mc-0124", "mc-0126", "mc-0133", "mc-0134", "mc-0146"], "missing_fixtures": null, "occurrence_grounding_appropriate": true, "operationalized_planes": ["tutor_runtime"], "pending_consumer_bindings": [], "pending_consumer_planes": [], "promotion_bundle": ["inc-ownership"], "pvn_candidates": {"grounding_state": "authority_blocked", "n": 0, "occurrence_links": true, "v": 0}, "real_consumer_bindings": [{"binding_id": "l1l6-tranche-001b-ma-context-runtime", "consumer_paths": ["curriculum/drills/keys/tranche-001-ma-context-runtime.keys.jsonl", "curriculum/kc-catalog.d/tranche-001-ma-context.jsonl", "curriculum/drills/tranche-001-ma-context-runtime.md", "tools/fusha_tutor_runtime.py"], "consumer_plane": "tutor_runtime", "consumer_train": "tranche_001b", "contribution_status": "operationalized_real_consumer", "test_paths": ["tools/test_tranche_001_ma_context_runtime.py"]}], "schema": "curriculum.l1l6_unit_disposition.v1", "sol_integration_action": "review promotion bundle inc-ownership", "states": ["candidate_pack_harnessed", "candidate_occurrence_witnesses", "promotion_bundle_prepared", "fixture_source_candidate", "candidate_presentation_template", "evidence_blocked"], "strongest_state": "candidate_pack_harnessed", "tutor_projection_appropriate": true, "unit_id": "u-s09", "validation_command": "python tools/curriculum_unit_consumer.py --increment inc-ownership"} diff --git a/curriculum/l1l6/canonical/unit-dispositions.meta.json b/curriculum/l1l6/canonical/unit-dispositions.meta.json index ad121ba..d0847f1 100644 --- a/curriculum/l1l6/canonical/unit-dispositions.meta.json +++ b/curriculum/l1l6/canonical/unit-dispositions.meta.json @@ -3,9 +3,9 @@ "explicit_runtime_unit_bindings": 30, "generator": "tools/build_unit_dispositions.py", "generic_unresolved_remainders": 0, - "lessons_fully_operationalized": 4, + "lessons_fully_operationalized": 0, "lessons_fully_operationalized_basis": "all_mapped_canonical_units_fully_operationalized", - "lessons_partially_operationalized": 49, + "lessons_partially_operationalized": 53, "new_real_consumer_unit_bindings": 48, "note": "candidate readiness states remain separate from exact plane-specific consumer bindings; no binding certifies a linguistic fact or marks a whole lesson operationalized", "pending_authoring_unit_bindings": 5, @@ -32,12 +32,10 @@ "fixture_source_candidate": 18 }, "strongest_sums_to_units": true, - "unit_ids_closed_with_vacuous_dimensions": [ - "cu-nunation-support-orthography" - ], + "unit_ids_closed_with_vacuous_dimensions": [], "units": 166, "units_closed_with_parked_occurrence_grounding": 0, - "units_closed_with_vacuous_dimensions": 1, - "units_fully_operationalized": 5, - "units_partially_operationalized": 3 + "units_closed_with_vacuous_dimensions": 0, + "units_fully_operationalized": 0, + "units_partially_operationalized": 8 } diff --git a/curriculum/l1l6/reports/absorption-ledger.jsonl b/curriculum/l1l6/reports/absorption-ledger.jsonl index 9d1deb9..826e07d 100644 --- a/curriculum/l1l6/reports/absorption-ledger.jsonl +++ b/curriculum/l1l6/reports/absorption-ledger.jsonl @@ -1,10 +1,10 @@ -{"absorption_state": "unitized", "blockers": ["quiz keys blocked on TP-CURR-QUIZ-KEY-REVIEW (certifier-class)"], "candidate_increments": [], "candidate_tutor_drill_destinations": ["candidate drill packets derived from learner-error material", "curriculum/tutor-runtime-routing.md (candidate method routing)"], "consumer_operationalization": {"fully_operationalized": true, "fully_operationalized_basis": "all_mapped_canonical_units_fully_operationalized", "operationalized_planes": ["sarf_analytical", "tutor_runtime"], "pending_binding_ids": [], "pending_planes": [], "real_binding_ids": ["l1l6-tranche-001a-foundational-orthography-analysis", "l1l6-tranche-001b-foundational-script-runtime"], "status": "fully_operationalized"}, "contrasts": 0, "custody_status": "private_source_custody_metadata_only", "exact_occurrences": [], "exercises": {"material_class": "questions_without_verified_answer_keys", "quiz_questions": 14}, "instructional_concepts": ["c-l1-m1-01-introduction-to-arabic-script", "c-l1-m1-01-letter-families-shape-groups", "c-l1-m1-01-group-1-alif-and-the-b-family", "c-l1-m1-01-group-2-the-j-m-family", "c-l1-m1-01-group-3-the-d-l-family", "c-l1-m1-01-group-4-the-r-family", "c-l1-m1-01-group-5-the-s-n-family", "c-l1-m1-01-group-6-the-d-family", "c-l1-m1-01-group-7-the-family", "c-l1-m1-01-group-8-the-ayn-family", "c-l1-m1-01-group-9-the-f-family", "c-l1-m1-01-group-10-k-f-and-l-m", "c-l1-m1-01-group-11-m-m-and-n-n", "c-l1-m1-01-group-12-h-w-w-and-y", "c-l1-m1-01-complete-alphabet-overview"], "learner_errors": 1, "lesson_id": "L1.M1.01", "level_id": "L1", "linguistic_claims": [], "module_id": "L1.M1", "morphology_topics": ["morphology_general", "script_phonology"], "nahw_destinations": [], "next_action": "map the unit to an executable skill surface (crosswalk rows)", "paradigms": 0, "pvn_opportunity": "family_links", "qualification": {"canonical_units": ["cu-grapheme-inventory-and-confusables"], "contribution_kind": "new_material", "inspected": true, "propositions": 6}, "runtime_tutor_evidence": {"binding_basis": "explicit consumer binding", "emittable_kc_ids": ["kc-grapheme-confusables"], "explicit_binding_ids": ["l1l6-tranche-001b-foundational-script-runtime"], "indirect_lesson_link": true, "lesson_contribution_operationalized": true, "mapped_unit_closure_basis": "all_mapped_canonical_units_fully_operationalized", "mapped_unit_closure_reached": true}, "sarf_destinations": ["docs/subsystems/sarf-executable-map.md"], "schema": "curriculum.l1l6_absorption_row.v1", "semantic_units_domain_associated": ["u-s07"], "semantic_units_explicit": [], "substantive_sections": {"concepts": 15, "learner_error_sections": 1, "quiz_questions": 14, "reading_passages": 0, "vocabulary_rows": 38}, "syntax_topics": [], "tutor_drill_destinations": ["ordinary tutor runtime via emittable KC drill-key rows"], "unresolved_qualification_work": ["no qualified claim cites this lesson yet"]} -{"absorption_state": "unitized", "blockers": ["quiz keys blocked on TP-CURR-QUIZ-KEY-REVIEW (certifier-class)"], "candidate_increments": [], "candidate_tutor_drill_destinations": ["candidate drill packets derived from learner-error material", "curriculum/tutor-runtime-routing.md (candidate method routing)"], "consumer_operationalization": {"fully_operationalized": true, "fully_operationalized_basis": "all_mapped_canonical_units_fully_operationalized", "operationalized_planes": ["sarf_analytical", "tutor_runtime"], "pending_binding_ids": [], "pending_planes": [], "real_binding_ids": ["l1l6-tranche-001a-foundational-orthography-analysis", "l1l6-tranche-001b-foundational-script-runtime"], "status": "fully_operationalized"}, "contrasts": 0, "custody_status": "private_source_custody_metadata_only", "exact_occurrences": [], "exercises": {"material_class": "questions_without_verified_answer_keys", "quiz_questions": 13}, "instructional_concepts": ["c-l1-m1-02-the-cursive-nature-of-arabic-script", "c-l1-m1-02-how-connection-works", "c-l1-m1-02-the-b-family-ب-ت-ث", "c-l1-m1-02-the-j-m-family-ج-ح-خ", "c-l1-m1-02-the-six-non-connecting-letters", "c-l1-m1-02-non-connecting-letters-in-words", "c-l1-m1-02-the-s-n-family-س-ش", "c-l1-m1-02-the-ayn-family-ع-غ", "c-l1-m1-02-recognizing-letters-across-forms"], "learner_errors": 1, "lesson_id": "L1.M1.02", "level_id": "L1", "linguistic_claims": [], "module_id": "L1.M1", "morphology_topics": ["morphology_general", "script_phonology"], "nahw_destinations": [], "next_action": "map the unit to an executable skill surface (crosswalk rows)", "paradigms": 0, "pvn_opportunity": "family_links", "qualification": {"canonical_units": ["cu-orthographic-connectivity-classes"], "contribution_kind": "new_material", "inspected": true, "propositions": 7}, "runtime_tutor_evidence": {"binding_basis": "explicit consumer binding", "emittable_kc_ids": ["kc-orthographic-connectivity"], "explicit_binding_ids": ["l1l6-tranche-001b-foundational-script-runtime"], "indirect_lesson_link": true, "lesson_contribution_operationalized": true, "mapped_unit_closure_basis": "all_mapped_canonical_units_fully_operationalized", "mapped_unit_closure_reached": true}, "sarf_destinations": ["docs/subsystems/sarf-executable-map.md"], "schema": "curriculum.l1l6_absorption_row.v1", "semantic_units_domain_associated": ["u-s07"], "semantic_units_explicit": [], "substantive_sections": {"concepts": 9, "learner_error_sections": 1, "quiz_questions": 13, "reading_passages": 0, "vocabulary_rows": 20}, "syntax_topics": [], "tutor_drill_destinations": ["ordinary tutor runtime via emittable KC drill-key rows"], "unresolved_qualification_work": ["no qualified claim cites this lesson yet"]} -{"absorption_state": "unitized", "blockers": ["quiz keys blocked on TP-CURR-QUIZ-KEY-REVIEW (certifier-class)"], "candidate_increments": [], "candidate_tutor_drill_destinations": ["candidate drill packets derived from learner-error material", "curriculum/tutor-runtime-routing.md (candidate method routing)"], "consumer_operationalization": {"fully_operationalized": true, "fully_operationalized_basis": "all_mapped_canonical_units_fully_operationalized", "operationalized_planes": ["sarf_analytical", "tutor_runtime"], "pending_binding_ids": [], "pending_planes": [], "real_binding_ids": ["l1l6-tranche-001a-foundational-orthography-analysis", "l1l6-tranche-001b-foundational-script-runtime"], "status": "fully_operationalized"}, "contrasts": 0, "custody_status": "private_source_custody_metadata_only", "exact_occurrences": [], "exercises": {"material_class": "questions_without_verified_answer_keys", "quiz_questions": 14}, "instructional_concepts": ["c-l1-m1-03-introduction-to-arabic-vowels", "c-l1-m1-03-fat-a-the-a-sound", "c-l1-m1-03-amma-the-u-sound", "c-l1-m1-03-kasra-the-i-sound", "c-l1-m1-03-summary-the-three-short-vowels", "c-l1-m1-03-practice-chart-common-consonants-with-all-three-vowels", "c-l1-m1-03-why-arabic-is-often-written-without-vowels", "c-l1-m1-03-reading-practice-simple-voweled-words"], "learner_errors": 1, "lesson_id": "L1.M1.03", "level_id": "L1", "linguistic_claims": [], "module_id": "L1.M1", "morphology_topics": ["script_phonology"], "nahw_destinations": [], "next_action": "map the unit to an executable skill surface (crosswalk rows)", "paradigms": 0, "pvn_opportunity": "no_corpus_bridge", "qualification": {"canonical_units": ["cu-short-vowel-diacritics-and-vocalization-state"], "contribution_kind": "new_material", "inspected": true, "propositions": 6}, "runtime_tutor_evidence": {"binding_basis": "explicit consumer binding", "emittable_kc_ids": ["kc-short-vowels-and-vocalization-state"], "explicit_binding_ids": ["l1l6-tranche-001b-foundational-script-runtime"], "indirect_lesson_link": true, "lesson_contribution_operationalized": true, "mapped_unit_closure_basis": "all_mapped_canonical_units_fully_operationalized", "mapped_unit_closure_reached": true}, "sarf_destinations": [], "schema": "curriculum.l1l6_absorption_row.v1", "semantic_units_domain_associated": [], "semantic_units_explicit": [], "substantive_sections": {"concepts": 8, "learner_error_sections": 1, "quiz_questions": 14, "reading_passages": 0, "vocabulary_rows": 34}, "syntax_topics": [], "tutor_drill_destinations": ["ordinary tutor runtime via emittable KC drill-key rows"], "unresolved_qualification_work": ["no qualified claim cites this lesson yet"]} +{"absorption_state": "unitized", "blockers": ["quiz keys blocked on TP-CURR-QUIZ-KEY-REVIEW (certifier-class)"], "candidate_increments": [], "candidate_tutor_drill_destinations": ["candidate drill packets derived from learner-error material", "curriculum/tutor-runtime-routing.md (candidate method routing)"], "consumer_operationalization": {"fully_operationalized": false, "fully_operationalized_basis": "mapped_units_incomplete", "operationalized_planes": ["sarf_analytical", "tutor_runtime"], "pending_binding_ids": [], "pending_planes": [], "real_binding_ids": ["l1l6-tranche-001a-foundational-orthography-analysis", "l1l6-tranche-001b-foundational-script-runtime"], "status": "partially_operationalized"}, "contrasts": 0, "custody_status": "private_source_custody_metadata_only", "exact_occurrences": [], "exercises": {"material_class": "questions_without_verified_answer_keys", "quiz_questions": 14}, "instructional_concepts": ["c-l1-m1-01-introduction-to-arabic-script", "c-l1-m1-01-letter-families-shape-groups", "c-l1-m1-01-group-1-alif-and-the-b-family", "c-l1-m1-01-group-2-the-j-m-family", "c-l1-m1-01-group-3-the-d-l-family", "c-l1-m1-01-group-4-the-r-family", "c-l1-m1-01-group-5-the-s-n-family", "c-l1-m1-01-group-6-the-d-family", "c-l1-m1-01-group-7-the-family", "c-l1-m1-01-group-8-the-ayn-family", "c-l1-m1-01-group-9-the-f-family", "c-l1-m1-01-group-10-k-f-and-l-m", "c-l1-m1-01-group-11-m-m-and-n-n", "c-l1-m1-01-group-12-h-w-w-and-y", "c-l1-m1-01-complete-alphabet-overview"], "learner_errors": 1, "lesson_id": "L1.M1.01", "level_id": "L1", "linguistic_claims": [], "module_id": "L1.M1", "morphology_topics": ["morphology_general", "script_phonology"], "nahw_destinations": [], "next_action": "map the unit to an executable skill surface (crosswalk rows)", "paradigms": 0, "pvn_opportunity": "family_links", "qualification": {"canonical_units": ["cu-grapheme-inventory-and-confusables"], "contribution_kind": "new_material", "inspected": true, "propositions": 6}, "runtime_tutor_evidence": {"binding_basis": "explicit consumer binding", "emittable_kc_ids": ["kc-grapheme-confusables"], "explicit_binding_ids": ["l1l6-tranche-001b-foundational-script-runtime"], "indirect_lesson_link": true, "lesson_contribution_operationalized": true, "mapped_unit_closure_basis": "mapped_units_incomplete", "mapped_unit_closure_reached": false}, "sarf_destinations": ["docs/subsystems/sarf-executable-map.md"], "schema": "curriculum.l1l6_absorption_row.v1", "semantic_units_domain_associated": ["u-s07"], "semantic_units_explicit": [], "substantive_sections": {"concepts": 15, "learner_error_sections": 1, "quiz_questions": 14, "reading_passages": 0, "vocabulary_rows": 38}, "syntax_topics": [], "tutor_drill_destinations": ["ordinary tutor runtime via emittable KC drill-key rows"], "unresolved_qualification_work": ["no qualified claim cites this lesson yet"]} +{"absorption_state": "unitized", "blockers": ["quiz keys blocked on TP-CURR-QUIZ-KEY-REVIEW (certifier-class)"], "candidate_increments": [], "candidate_tutor_drill_destinations": ["candidate drill packets derived from learner-error material", "curriculum/tutor-runtime-routing.md (candidate method routing)"], "consumer_operationalization": {"fully_operationalized": false, "fully_operationalized_basis": "mapped_units_incomplete", "operationalized_planes": ["sarf_analytical", "tutor_runtime"], "pending_binding_ids": [], "pending_planes": [], "real_binding_ids": ["l1l6-tranche-001a-foundational-orthography-analysis", "l1l6-tranche-001b-foundational-script-runtime"], "status": "partially_operationalized"}, "contrasts": 0, "custody_status": "private_source_custody_metadata_only", "exact_occurrences": [], "exercises": {"material_class": "questions_without_verified_answer_keys", "quiz_questions": 13}, "instructional_concepts": ["c-l1-m1-02-the-cursive-nature-of-arabic-script", "c-l1-m1-02-how-connection-works", "c-l1-m1-02-the-b-family-ب-ت-ث", "c-l1-m1-02-the-j-m-family-ج-ح-خ", "c-l1-m1-02-the-six-non-connecting-letters", "c-l1-m1-02-non-connecting-letters-in-words", "c-l1-m1-02-the-s-n-family-س-ش", "c-l1-m1-02-the-ayn-family-ع-غ", "c-l1-m1-02-recognizing-letters-across-forms"], "learner_errors": 1, "lesson_id": "L1.M1.02", "level_id": "L1", "linguistic_claims": [], "module_id": "L1.M1", "morphology_topics": ["morphology_general", "script_phonology"], "nahw_destinations": [], "next_action": "map the unit to an executable skill surface (crosswalk rows)", "paradigms": 0, "pvn_opportunity": "family_links", "qualification": {"canonical_units": ["cu-orthographic-connectivity-classes"], "contribution_kind": "new_material", "inspected": true, "propositions": 7}, "runtime_tutor_evidence": {"binding_basis": "explicit consumer binding", "emittable_kc_ids": ["kc-orthographic-connectivity"], "explicit_binding_ids": ["l1l6-tranche-001b-foundational-script-runtime"], "indirect_lesson_link": true, "lesson_contribution_operationalized": true, "mapped_unit_closure_basis": "mapped_units_incomplete", "mapped_unit_closure_reached": false}, "sarf_destinations": ["docs/subsystems/sarf-executable-map.md"], "schema": "curriculum.l1l6_absorption_row.v1", "semantic_units_domain_associated": ["u-s07"], "semantic_units_explicit": [], "substantive_sections": {"concepts": 9, "learner_error_sections": 1, "quiz_questions": 13, "reading_passages": 0, "vocabulary_rows": 20}, "syntax_topics": [], "tutor_drill_destinations": ["ordinary tutor runtime via emittable KC drill-key rows"], "unresolved_qualification_work": ["no qualified claim cites this lesson yet"]} +{"absorption_state": "unitized", "blockers": ["quiz keys blocked on TP-CURR-QUIZ-KEY-REVIEW (certifier-class)"], "candidate_increments": [], "candidate_tutor_drill_destinations": ["candidate drill packets derived from learner-error material", "curriculum/tutor-runtime-routing.md (candidate method routing)"], "consumer_operationalization": {"fully_operationalized": false, "fully_operationalized_basis": "mapped_units_incomplete", "operationalized_planes": ["sarf_analytical", "tutor_runtime"], "pending_binding_ids": [], "pending_planes": [], "real_binding_ids": ["l1l6-tranche-001a-foundational-orthography-analysis", "l1l6-tranche-001b-foundational-script-runtime"], "status": "partially_operationalized"}, "contrasts": 0, "custody_status": "private_source_custody_metadata_only", "exact_occurrences": [], "exercises": {"material_class": "questions_without_verified_answer_keys", "quiz_questions": 14}, "instructional_concepts": ["c-l1-m1-03-introduction-to-arabic-vowels", "c-l1-m1-03-fat-a-the-a-sound", "c-l1-m1-03-amma-the-u-sound", "c-l1-m1-03-kasra-the-i-sound", "c-l1-m1-03-summary-the-three-short-vowels", "c-l1-m1-03-practice-chart-common-consonants-with-all-three-vowels", "c-l1-m1-03-why-arabic-is-often-written-without-vowels", "c-l1-m1-03-reading-practice-simple-voweled-words"], "learner_errors": 1, "lesson_id": "L1.M1.03", "level_id": "L1", "linguistic_claims": [], "module_id": "L1.M1", "morphology_topics": ["script_phonology"], "nahw_destinations": [], "next_action": "map the unit to an executable skill surface (crosswalk rows)", "paradigms": 0, "pvn_opportunity": "no_corpus_bridge", "qualification": {"canonical_units": ["cu-short-vowel-diacritics-and-vocalization-state"], "contribution_kind": "new_material", "inspected": true, "propositions": 6}, "runtime_tutor_evidence": {"binding_basis": "explicit consumer binding", "emittable_kc_ids": ["kc-short-vowels-and-vocalization-state"], "explicit_binding_ids": ["l1l6-tranche-001b-foundational-script-runtime"], "indirect_lesson_link": true, "lesson_contribution_operationalized": true, "mapped_unit_closure_basis": "mapped_units_incomplete", "mapped_unit_closure_reached": false}, "sarf_destinations": [], "schema": "curriculum.l1l6_absorption_row.v1", "semantic_units_domain_associated": [], "semantic_units_explicit": [], "substantive_sections": {"concepts": 8, "learner_error_sections": 1, "quiz_questions": 14, "reading_passages": 0, "vocabulary_rows": 34}, "syntax_topics": [], "tutor_drill_destinations": ["ordinary tutor runtime via emittable KC drill-key rows"], "unresolved_qualification_work": ["no qualified claim cites this lesson yet"]} {"absorption_state": "skill_mapped", "blockers": ["quiz keys blocked on TP-CURR-QUIZ-KEY-REVIEW (certifier-class)"], "candidate_increments": [], "candidate_tutor_drill_destinations": ["candidate drill packets derived from learner-error material", "curriculum/tutor-runtime-routing.md (candidate method routing)"], "consumer_operationalization": {"fully_operationalized": false, "fully_operationalized_basis": "mapped_units_incomplete", "operationalized_planes": ["sarf_analytical", "tutor_runtime"], "pending_binding_ids": [], "pending_planes": [], "real_binding_ids": ["l1l6-tranche-001a-foundational-orthography-analysis", "l1l6-tranche-001b-foundational-script-runtime"], "status": "partially_operationalized"}, "contrasts": 0, "custody_status": "private_source_custody_metadata_only", "exact_occurrences": [], "exercises": {"material_class": "questions_without_verified_answer_keys", "quiz_questions": 14}, "instructional_concepts": ["c-l1-m1-04-the-suk-n-marking-vowellessness", "c-l1-m1-04-recognizing-the-suk-n", "c-l1-m1-04-the-shadda-marking-gemination", "c-l1-m1-04-how-to-pronounce-a-geminated-consonant", "c-l1-m1-04-shadda-combined-with-vowels", "c-l1-m1-04-suk-n-vs-shadda-visual-comparison", "c-l1-m1-04-common-words-with-suk-n", "c-l1-m1-04-common-words-with-shadda", "c-l1-m1-04-the-sun-letters-and-shadda-with-ال"], "learner_errors": 1, "lesson_id": "L1.M1.04", "level_id": "L1", "linguistic_claims": [], "module_id": "L1.M1", "morphology_topics": ["paradigms", "script_phonology"], "nahw_destinations": [], "next_action": "derive fixtures into the unit's increment (queue q-error-fixtures / q-paradigm-consumer)", "paradigms": 1, "pvn_opportunity": "family_links", "qualification": {"canonical_units": ["u-s06"], "contribution_kind": "expands_unit", "inspected": true, "propositions": 7}, "runtime_tutor_evidence": {"binding_basis": "explicit consumer binding", "emittable_kc_ids": ["kc-sukun-shadda-stack"], "explicit_binding_ids": ["l1l6-tranche-001b-foundational-script-runtime"], "indirect_lesson_link": true, "lesson_contribution_operationalized": true, "mapped_unit_closure_basis": "mapped_units_incomplete", "mapped_unit_closure_reached": false}, "sarf_destinations": ["sarf/procedures/weak-root.md", "sarf/rules/plural-gender-rules.json"], "schema": "curriculum.l1l6_absorption_row.v1", "semantic_units_domain_associated": ["u-s06", "u-s08"], "semantic_units_explicit": [], "substantive_sections": {"concepts": 9, "learner_error_sections": 1, "quiz_questions": 14, "reading_passages": 0, "vocabulary_rows": 31}, "syntax_topics": [], "tutor_drill_destinations": ["ordinary tutor runtime via emittable KC drill-key rows"], "unresolved_qualification_work": ["no qualified claim cites this lesson yet"]} {"absorption_state": "skill_mapped", "blockers": ["quiz keys blocked on TP-CURR-QUIZ-KEY-REVIEW (certifier-class)"], "candidate_increments": [], "candidate_tutor_drill_destinations": ["candidate drill packets derived from learner-error material", "curriculum/tutor-runtime-routing.md (candidate method routing)"], "consumer_operationalization": {"fully_operationalized": false, "fully_operationalized_basis": "mapped_units_incomplete", "operationalized_planes": ["sarf_analytical", "tutor_runtime"], "pending_binding_ids": [], "pending_planes": [], "real_binding_ids": ["l1l6-tranche-001a-foundational-orthography-analysis", "l1l6-tranche-001b-foundational-script-runtime"], "status": "partially_operationalized"}, "contrasts": 1, "custody_status": "private_source_custody_metadata_only", "exact_occurrences": [], "exercises": {"material_class": "questions_without_verified_answer_keys", "quiz_questions": 14}, "instructional_concepts": ["c-l1-m1-05-from-short-vowels-to-long-vowels", "c-l1-m1-05-long-fat-a-alif", "c-l1-m1-05-long-amma-w-w", "c-l1-m1-05-long-kasra-y", "c-l1-m1-05-the-complete-pattern-short-vs-long-vowels", "c-l1-m1-05-why-long-vowels-matter-minimal-pairs", "c-l1-m1-05-alif-maq-ra-the-special-ى", "c-l1-m1-05-recognizing-alif-maq-ra-vs-y"], "learner_errors": 1, "lesson_id": "L1.M1.05", "level_id": "L1", "linguistic_claims": [], "module_id": "L1.M1", "morphology_topics": ["morphology_general", "script_phonology"], "nahw_destinations": ["docs/blockers.yaml"], "next_action": "derive fixtures into the unit's increment (queue q-error-fixtures / q-paradigm-consumer)", "paradigms": 0, "pvn_opportunity": "family_links", "qualification": {"canonical_units": ["u-s01", "u-s06"], "contribution_kind": "expands_unit", "inspected": true, "propositions": 7}, "runtime_tutor_evidence": {"binding_basis": "explicit consumer binding", "emittable_kc_ids": ["kc-long-vowel-carrier-role"], "explicit_binding_ids": ["l1l6-tranche-001b-foundational-script-runtime"], "indirect_lesson_link": true, "lesson_contribution_operationalized": true, "mapped_unit_closure_basis": "mapped_units_incomplete", "mapped_unit_closure_reached": false}, "sarf_destinations": ["docs/subsystems/sarf-executable-map.md"], "schema": "curriculum.l1l6_absorption_row.v1", "semantic_units_domain_associated": ["u-n11", "u-s07"], "semantic_units_explicit": [], "substantive_sections": {"concepts": 8, "learner_error_sections": 1, "quiz_questions": 14, "reading_passages": 0, "vocabulary_rows": 11}, "syntax_topics": ["ambiguity"], "tutor_drill_destinations": ["ordinary tutor runtime via emittable KC drill-key rows"], "unresolved_qualification_work": ["no qualified claim cites this lesson yet"]} {"absorption_state": "skill_mapped", "blockers": ["quiz keys blocked on TP-CURR-QUIZ-KEY-REVIEW (certifier-class)"], "candidate_increments": [], "candidate_tutor_drill_destinations": ["candidate drill packets derived from learner-error material", "curriculum/tutor-runtime-routing.md (candidate method routing)"], "consumer_operationalization": {"fully_operationalized": false, "fully_operationalized_basis": "mapped_units_incomplete", "operationalized_planes": ["sarf_analytical", "tutor_runtime"], "pending_binding_ids": [], "pending_planes": [], "real_binding_ids": ["l1l6-tranche-001a-foundational-orthography-analysis", "l1l6-tranche-001b-foundational-script-runtime"], "status": "partially_operationalized"}, "contrasts": 0, "custody_status": "private_source_custody_metadata_only", "exact_occurrences": [], "exercises": {"material_class": "questions_without_verified_answer_keys", "quiz_questions": 14}, "instructional_concepts": ["c-l1-m1-06-what-is-tanw-n", "c-l1-m1-06-the-three-forms-of-tanw-n", "c-l1-m1-06-the-alif-seat-for-tanw-n-fat", "c-l1-m1-06-exceptions-when-tanw-n-fat-does-not-take-alif", "c-l1-m1-06-tanw-n-as-an-indefiniteness-marker"], "learner_errors": 1, "lesson_id": "L1.M1.06", "level_id": "L1", "linguistic_claims": [], "module_id": "L1.M1", "morphology_topics": ["morphology_general"], "nahw_destinations": ["nahw/procedures/conditionals.md", "nahw/procedures/relative-interrogative.md"], "next_action": "derive fixtures into the unit's increment (queue q-error-fixtures / q-paradigm-consumer)", "paradigms": 0, "pvn_opportunity": "entry_links", "qualification": {"canonical_units": ["cu-nunation-support-orthography", "u-n01"], "contribution_kind": "expands_unit", "inspected": true, "propositions": 7}, "runtime_tutor_evidence": {"binding_basis": "explicit consumer binding", "emittable_kc_ids": ["kc-nunation-written-realization"], "explicit_binding_ids": ["l1l6-tranche-001b-foundational-script-runtime"], "indirect_lesson_link": true, "lesson_contribution_operationalized": true, "mapped_unit_closure_basis": "mapped_units_incomplete", "mapped_unit_closure_reached": false}, "sarf_destinations": ["docs/subsystems/sarf-executable-map.md"], "schema": "curriculum.l1l6_absorption_row.v1", "semantic_units_domain_associated": ["u-n06", "u-n07", "u-s07"], "semantic_units_explicit": [], "substantive_sections": {"concepts": 5, "learner_error_sections": 1, "quiz_questions": 14, "reading_passages": 0, "vocabulary_rows": 7}, "syntax_topics": ["particles"], "tutor_drill_destinations": ["ordinary tutor runtime via emittable KC drill-key rows"], "unresolved_qualification_work": ["no qualified claim cites this lesson yet"]} -{"absorption_state": "unitized", "blockers": ["quiz keys blocked on TP-CURR-QUIZ-KEY-REVIEW (certifier-class)"], "candidate_increments": [], "candidate_tutor_drill_destinations": ["candidate drill packets derived from learner-error material", "curriculum/tutor-runtime-routing.md (candidate method routing)"], "consumer_operationalization": {"fully_operationalized": true, "fully_operationalized_basis": "all_mapped_canonical_units_fully_operationalized", "operationalized_planes": ["sarf_analytical", "tutor_runtime"], "pending_binding_ids": [], "pending_planes": [], "real_binding_ids": ["l1l6-tranche-001a-foundational-orthography-analysis", "l1l6-tranche-001b-foundational-script-runtime"], "status": "fully_operationalized"}, "contrasts": 0, "custody_status": "private_source_custody_metadata_only", "exact_occurrences": [], "exercises": {"material_class": "questions_without_verified_answer_keys", "quiz_questions": 14}, "instructional_concepts": ["c-l1-m1-07-the-definite-article-الـ", "c-l1-m1-07-the-pronunciation-mystery", "c-l1-m1-07-sun-letters", "c-l1-m1-07-moon-letters", "c-l1-m1-07-why-sun-and-moon"], "learner_errors": 1, "lesson_id": "L1.M1.07", "level_id": "L1", "linguistic_claims": [], "module_id": "L1.M1", "morphology_topics": ["clitics_affixes", "morphology_general", "script_phonology"], "nahw_destinations": [], "next_action": "map the unit to an executable skill surface (crosswalk rows)", "paradigms": 0, "pvn_opportunity": "entry_links", "qualification": {"canonical_units": ["cu-definite-article-assimilation"], "contribution_kind": "new_material", "inspected": true, "propositions": 7}, "runtime_tutor_evidence": {"binding_basis": "explicit consumer binding", "emittable_kc_ids": ["kc-clitic-segmentation", "kc-definite-article-assimilation"], "explicit_binding_ids": ["l1l6-tranche-001b-foundational-script-runtime"], "indirect_lesson_link": true, "lesson_contribution_operationalized": true, "mapped_unit_closure_basis": "all_mapped_canonical_units_fully_operationalized", "mapped_unit_closure_reached": true}, "sarf_destinations": ["docs/subsystems/sarf-executable-map.md", "tools/fusha_morphology_lattice.py"], "schema": "curriculum.l1l6_absorption_row.v1", "semantic_units_domain_associated": ["u-s07", "u-s09"], "semantic_units_explicit": [], "substantive_sections": {"concepts": 5, "learner_error_sections": 1, "quiz_questions": 14, "reading_passages": 0, "vocabulary_rows": 14}, "syntax_topics": [], "tutor_drill_destinations": ["ordinary tutor runtime via emittable KC drill-key rows"], "unresolved_qualification_work": ["no qualified claim cites this lesson yet"]} +{"absorption_state": "unitized", "blockers": ["quiz keys blocked on TP-CURR-QUIZ-KEY-REVIEW (certifier-class)"], "candidate_increments": [], "candidate_tutor_drill_destinations": ["candidate drill packets derived from learner-error material", "curriculum/tutor-runtime-routing.md (candidate method routing)"], "consumer_operationalization": {"fully_operationalized": false, "fully_operationalized_basis": "mapped_units_incomplete", "operationalized_planes": ["sarf_analytical", "tutor_runtime"], "pending_binding_ids": [], "pending_planes": [], "real_binding_ids": ["l1l6-tranche-001a-foundational-orthography-analysis", "l1l6-tranche-001b-foundational-script-runtime"], "status": "partially_operationalized"}, "contrasts": 0, "custody_status": "private_source_custody_metadata_only", "exact_occurrences": [], "exercises": {"material_class": "questions_without_verified_answer_keys", "quiz_questions": 14}, "instructional_concepts": ["c-l1-m1-07-the-definite-article-الـ", "c-l1-m1-07-the-pronunciation-mystery", "c-l1-m1-07-sun-letters", "c-l1-m1-07-moon-letters", "c-l1-m1-07-why-sun-and-moon"], "learner_errors": 1, "lesson_id": "L1.M1.07", "level_id": "L1", "linguistic_claims": [], "module_id": "L1.M1", "morphology_topics": ["clitics_affixes", "morphology_general", "script_phonology"], "nahw_destinations": [], "next_action": "map the unit to an executable skill surface (crosswalk rows)", "paradigms": 0, "pvn_opportunity": "entry_links", "qualification": {"canonical_units": ["cu-definite-article-assimilation"], "contribution_kind": "new_material", "inspected": true, "propositions": 7}, "runtime_tutor_evidence": {"binding_basis": "explicit consumer binding", "emittable_kc_ids": ["kc-clitic-segmentation", "kc-definite-article-assimilation"], "explicit_binding_ids": ["l1l6-tranche-001b-foundational-script-runtime"], "indirect_lesson_link": true, "lesson_contribution_operationalized": true, "mapped_unit_closure_basis": "mapped_units_incomplete", "mapped_unit_closure_reached": false}, "sarf_destinations": ["docs/subsystems/sarf-executable-map.md", "tools/fusha_morphology_lattice.py"], "schema": "curriculum.l1l6_absorption_row.v1", "semantic_units_domain_associated": ["u-s07", "u-s09"], "semantic_units_explicit": [], "substantive_sections": {"concepts": 5, "learner_error_sections": 1, "quiz_questions": 14, "reading_passages": 0, "vocabulary_rows": 14}, "syntax_topics": [], "tutor_drill_destinations": ["ordinary tutor runtime via emittable KC drill-key rows"], "unresolved_qualification_work": ["no qualified claim cites this lesson yet"]} {"absorption_state": "skill_mapped", "blockers": ["quiz keys blocked on TP-CURR-QUIZ-KEY-REVIEW (certifier-class)"], "candidate_increments": [], "candidate_tutor_drill_destinations": ["candidate drill packets derived from learner-error material", "curriculum/tutor-runtime-routing.md (candidate method routing)"], "consumer_operationalization": {"fully_operationalized": false, "fully_operationalized_basis": "mapped_units_incomplete", "operationalized_planes": [], "pending_binding_ids": [], "pending_planes": [], "real_binding_ids": [], "status": "not_operationalized"}, "contrasts": 0, "custody_status": "private_source_custody_metadata_only", "exact_occurrences": [], "exercises": {"material_class": "questions_without_verified_answer_keys", "quiz_questions": 14}, "instructional_concepts": ["c-l1-m1-08-two-letters-two-forms", "c-l1-m1-08-the-feminine-marker", "c-l1-m1-08-pronunciation-t-vs-h", "c-l1-m1-08-when-to-use-open-t", "c-l1-m1-08-exceptions-masculine-words-with-ة", "c-l1-m1-08-exceptions-feminine-words-with-ت"], "learner_errors": 1, "lesson_id": "L1.M1.08", "level_id": "L1", "linguistic_claims": [], "module_id": "L1.M1", "morphology_topics": ["morphology_general", "paradigms", "script_phonology"], "nahw_destinations": [], "next_action": "derive fixtures into the unit's increment (queue q-error-fixtures / q-paradigm-consumer)", "paradigms": 3, "pvn_opportunity": "family_links", "qualification": {"canonical_units": ["u-s01", "u-s08"], "contribution_kind": "expands_unit", "inspected": true, "propositions": 8}, "runtime_tutor_evidence": {"binding_basis": "KC curriculum_misconception_ids -> misconception manifestations", "emittable_kc_ids": ["kc-number-suffix-hidden"], "explicit_binding_ids": [], "indirect_lesson_link": true, "lesson_contribution_operationalized": false, "mapped_unit_closure_basis": "mapped_units_incomplete", "mapped_unit_closure_reached": false}, "sarf_destinations": ["docs/subsystems/sarf-executable-map.md", "sarf/procedures/weak-root.md", "sarf/rules/plural-gender-rules.json"], "schema": "curriculum.l1l6_absorption_row.v1", "semantic_units_domain_associated": ["u-s06", "u-s07", "u-s08"], "semantic_units_explicit": [], "substantive_sections": {"concepts": 6, "learner_error_sections": 1, "quiz_questions": 14, "reading_passages": 0, "vocabulary_rows": 26}, "syntax_topics": [], "tutor_drill_destinations": ["ordinary tutor runtime via emittable KC drill-key rows"], "unresolved_qualification_work": ["no qualified claim cites this lesson yet"]} {"absorption_state": "unitized", "blockers": ["quiz keys blocked on TP-CURR-QUIZ-KEY-REVIEW (certifier-class)"], "candidate_increments": [], "candidate_tutor_drill_destinations": ["candidate drill packets derived from learner-error material", "curriculum/tutor-runtime-routing.md (candidate method routing)"], "consumer_operationalization": {"fully_operationalized": false, "fully_operationalized_basis": "mapped_units_incomplete", "operationalized_planes": [], "pending_binding_ids": [], "pending_planes": [], "real_binding_ids": [], "status": "not_operationalized"}, "contrasts": 0, "custody_status": "private_source_custody_metadata_only", "exact_occurrences": [], "exercises": {"material_class": "questions_without_verified_answer_keys", "quiz_questions": 14}, "instructional_concepts": ["c-l1-m1-09-what-is-the-hamza", "c-l1-m1-09-the-vowel-strength-hierarchy", "c-l1-m1-09-hamza-at-the-beginning-of-a-word", "c-l1-m1-09-hamza-in-the-middle-of-a-word", "c-l1-m1-09-hamza-at-the-end-of-a-word", "c-l1-m1-09-special-cases-and-exceptions", "c-l1-m1-09-summary-chart-hamza-seat-selection"], "learner_errors": 1, "lesson_id": "L1.M1.09", "level_id": "L1", "linguistic_claims": [], "module_id": "L1.M1", "morphology_topics": ["morphology_general", "paradigms", "script_phonology"], "nahw_destinations": ["nahw/procedures/irab-case-mood.md"], "next_action": "map the unit to an executable skill surface (crosswalk rows)", "paradigms": 1, "pvn_opportunity": "entry_links", "qualification": {"canonical_units": ["cu-hamza-seat-selection"], "contribution_kind": "new_material", "inspected": true, "propositions": 9}, "runtime_tutor_evidence": {"binding_basis": null, "emittable_kc_ids": [], "explicit_binding_ids": [], "indirect_lesson_link": false, "lesson_contribution_operationalized": false, "mapped_unit_closure_basis": "mapped_units_incomplete", "mapped_unit_closure_reached": false}, "sarf_destinations": ["docs/subsystems/sarf-executable-map.md", "sarf/procedures/weak-root.md", "sarf/rules/plural-gender-rules.json"], "schema": "curriculum.l1l6_absorption_row.v1", "semantic_units_domain_associated": ["u-n01", "u-n09", "u-s06", "u-s07", "u-s08"], "semantic_units_explicit": [], "substantive_sections": {"concepts": 7, "learner_error_sections": 1, "quiz_questions": 14, "reading_passages": 0, "vocabulary_rows": 32}, "syntax_topics": ["case_mood"], "tutor_drill_destinations": [], "unresolved_qualification_work": ["no qualified claim cites this lesson yet"]} {"absorption_state": "unitized", "blockers": ["quiz keys blocked on TP-CURR-QUIZ-KEY-REVIEW (certifier-class)"], "candidate_increments": [], "candidate_tutor_drill_destinations": ["candidate drill packets derived from learner-error material", "curriculum/tutor-runtime-routing.md (candidate method routing)"], "consumer_operationalization": {"fully_operationalized": false, "fully_operationalized_basis": "mapped_units_incomplete", "operationalized_planes": [], "pending_binding_ids": [], "pending_planes": [], "real_binding_ids": [], "status": "not_operationalized"}, "contrasts": 1, "custody_status": "private_source_custody_metadata_only", "exact_occurrences": [], "exercises": {"material_class": "questions_without_verified_answer_keys", "quiz_questions": 14}, "instructional_concepts": ["c-l1-m1-10-review-the-complete-orthographic-system", "c-l1-m1-10-reading-drill-1-identifying-all-marks", "c-l1-m1-10-الْمَدْرَسَةُ", "c-l1-m1-10-untitled", "c-l1-m1-10-reading-drill-2-words-with-shadda", "c-l1-m1-10-reading-drill-3-long-vowels-vs-short-vowels", "c-l1-m1-10-reading-drill-4-tanw-n-endings", "c-l1-m1-10-reading-drill-5-hamza-in-context", "c-l1-m1-10-writing-practice-dictation-preparation", "c-l1-m1-10-comprehensive-reading-exercise"], "learner_errors": 1, "lesson_id": "L1.M1.10", "level_id": "L1", "linguistic_claims": [], "module_id": "L1.M1", "morphology_topics": ["morphology_general", "script_phonology"], "nahw_destinations": ["docs/blockers.yaml", "nahw/SKILL.md"], "next_action": "map the unit to an executable skill surface (crosswalk rows)", "paradigms": 0, "pvn_opportunity": "family_links", "qualification": {"canonical_units": ["cu-vocalized-reading-and-writing-procedure"], "contribution_kind": "new_sequencing", "inspected": true, "propositions": 7}, "runtime_tutor_evidence": {"binding_basis": null, "emittable_kc_ids": [], "explicit_binding_ids": [], "indirect_lesson_link": false, "lesson_contribution_operationalized": false, "mapped_unit_closure_basis": "mapped_units_incomplete", "mapped_unit_closure_reached": false}, "sarf_destinations": ["docs/subsystems/sarf-executable-map.md"], "schema": "curriculum.l1l6_absorption_row.v1", "semantic_units_domain_associated": ["u-n11", "u-n12", "u-s07"], "semantic_units_explicit": [], "substantive_sections": {"concepts": 10, "learner_error_sections": 1, "quiz_questions": 14, "reading_passages": 0, "vocabulary_rows": 31}, "syntax_topics": ["ambiguity", "contextual_interpretation"], "tutor_drill_destinations": [], "unresolved_qualification_work": ["no qualified claim cites this lesson yet"]} diff --git a/curriculum/l1l6/reports/full-curriculum-readiness.json b/curriculum/l1l6/reports/full-curriculum-readiness.json index b893582..b7db41b 100644 --- a/curriculum/l1l6/reports/full-curriculum-readiness.json +++ b/curriculum/l1l6/reports/full-curriculum-readiness.json @@ -195,13 +195,13 @@ "explicit_lesson_refs": 16 }, "lessons_fully_accounted": 226, - "lessons_fully_operationalized": 4, + "lessons_fully_operationalized": 0, "lessons_fully_operationalized_basis": "all_mapped_canonical_units_fully_operationalized", "lessons_indirectly_linked_to_runtime_tutor_drills": 62, "lessons_mapped_to_nahw": 175, "lessons_mapped_to_sarf": 213, "lessons_mapped_to_tutor_drills": 39, - "lessons_partially_operationalized": 49, + "lessons_partially_operationalized": 53, "lessons_with_entry_level_links": 147, "lessons_with_exact_pvn_links": 1, "lessons_with_family_only_links": 77, diff --git a/curriculum/l1l6/reports/lesson-burndown.json b/curriculum/l1l6/reports/lesson-burndown.json index 5802682..768ad42 100644 --- a/curriculum/l1l6/reports/lesson-burndown.json +++ b/curriculum/l1l6/reports/lesson-burndown.json @@ -4,44 +4,38 @@ "inputs": { "curriculum/l1l6/canonical/canonical-units.jsonl": "sha256:a5c817c9399de339020c748faa0dfb91560c6bc88f87bc66b6de5c895b8fd181", "curriculum/l1l6/canonical/lesson-unit-map.jsonl": "sha256:499ee92a1008df30af12ef19e27adb6ddbdb61cea26519c00fc6292aa2aeea6d", - "curriculum/l1l6/canonical/unit-dispositions.jsonl": "sha256:a9c02aa8e0c8f81598995c4971a000d722f729818c030f9b46af60c44f450a66", + "curriculum/l1l6/canonical/unit-dispositions.jsonl": "sha256:0de5880984e873fdae63780cbbc14d6e83fa1bb8e6288a672b237d77318e8d89", "curriculum/l1l6/links/consumer-operationalization-bindings.jsonl": "sha256:4d15504113931e140e69415cf9ac650d5067a5005575ce417f4900aa3bc474e0", "curriculum/l1l6/registry/lessons.jsonl": "sha256:476055a92c88d598346d318f208adb2a94113f5d2f0c71d0634ceca3786398cd", - "curriculum/l1l6/reports/absorption-ledger.jsonl": "sha256:513454975e04dd082d96b0a066505eaae8c42710294501f8d17133868912036b", - "curriculum/l1l6/reports/full-curriculum-readiness.json": "sha256:2b493bff8e61a06f3c0fddec5994bc8868cf70508fd0264b2050eb877c2fccbb", + "curriculum/l1l6/reports/absorption-ledger.jsonl": "sha256:0f465db41e7e848d5c8b8310680f8de9dd7c877a36cad23a0b0aa50a37dd5c4a", + "curriculum/l1l6/reports/full-curriculum-readiness.json": "sha256:066507923c18348daecb8787daad7e30e84f42a4514bc56321c34f4346fc3d9a", "curriculum/l1l6/reports/queues/q-error-fixtures.jsonl": "sha256:50d979c923bc868b457eafc6244ea38bfe32b81595920e045658a8bdf2838e09", "eval/fusha-bench-v1/report/fusha-bench-report.json": "sha256:580150cd0f8860dde87a6e784b58838679c7ae41df14a4c82def57babaaba63f" } }, "current_state": { "lessons_by_disposition": { - "fully_operationalized": 4, "not_applicable_with_reason": 1, "open": 172, - "partially_operationalized_real_consumer": 49 + "partially_operationalized_real_consumer": 53 }, "lessons_total": 226, - "lessons_with_real_consumer_partial_evidence": 49, + "lessons_with_real_consumer_partial_evidence": 53, "readiness_report_basis": "all_mapped_canonical_units_fully_operationalized", - "readiness_report_lessons_fully_operationalized": 4, + "readiness_report_lessons_fully_operationalized": 0, "unit_overlays": { "parked_occurrence_grounding": 105 }, "units_by_disposition": { "blocked": 0, "candidate_or_open": 118, - "closed": 5, - "real_consumer_partial": 43 + "closed": 0, + "real_consumer_partial": 48 }, "units_total": 166 }, "current_tranche": { - "fully_operationalized_lesson_ids": [ - "L1.M1.01", - "L1.M1.02", - "L1.M1.03", - "L1.M1.07" - ], + "fully_operationalized_lesson_ids": [], "tranche_closed": false, "tranche_id": "tranche-001", "unit_ids": [ @@ -54,149 +48,155 @@ "u-n01", "cu-definite-article-assimilation" ], - "units_fully_operationalized": 5, - "units_still_partial": 3 + "units_fully_operationalized": 0, + "units_still_partial": 8 }, "forecast": { "assumption": "projected lesson closure assumes units with parked occurrence grounding satisfy every non-occurrence closure dimension; parking is not occurrence evidence or certification", "blocked_lessons": 0, - "future_tranches_total": 22, + "future_tranches_total": 23, "lesson_flip_quota": 9, "not_applicable_lessons": 1, "parked_occurrence_grounding_units": 105, - "projected_additional_fully_operationalized_lessons": 221, + "projected_additional_fully_operationalized_lessons": 225, "projected_total_fully_operationalized_lessons": 225, "tranches": [ { - "newly_flipped_lessons": 11, + "newly_flipped_lessons": 9, "residual": false, "tranche_number": 2, - "units": 4 + "units": 8 }, { - "newly_flipped_lessons": 14, + "newly_flipped_lessons": 9, "residual": false, "tranche_number": 3, - "units": 7 + "units": 4 }, { - "newly_flipped_lessons": 9, + "newly_flipped_lessons": 11, "residual": false, "tranche_number": 4, + "units": 4 + }, + { + "newly_flipped_lessons": 9, + "residual": false, + "tranche_number": 5, "units": 6 }, { "newly_flipped_lessons": 10, "residual": false, - "tranche_number": 5, + "tranche_number": 6, "units": 5 }, { "newly_flipped_lessons": 13, "residual": false, - "tranche_number": 6, + "tranche_number": 7, "units": 8 }, { "newly_flipped_lessons": 11, "residual": false, - "tranche_number": 7, + "tranche_number": 8, "units": 7 }, { "newly_flipped_lessons": 11, "residual": false, - "tranche_number": 8, + "tranche_number": 9, "units": 4 }, { "newly_flipped_lessons": 9, "residual": false, - "tranche_number": 9, + "tranche_number": 10, "units": 9 }, { "newly_flipped_lessons": 13, "residual": false, - "tranche_number": 10, + "tranche_number": 11, "units": 10 }, { "newly_flipped_lessons": 13, "residual": false, - "tranche_number": 11, + "tranche_number": 12, "units": 1 }, { "newly_flipped_lessons": 9, "residual": false, - "tranche_number": 12, + "tranche_number": 13, "units": 8 }, { "newly_flipped_lessons": 9, "residual": false, - "tranche_number": 13, + "tranche_number": 14, "units": 6 }, { "newly_flipped_lessons": 9, "residual": false, - "tranche_number": 14, + "tranche_number": 15, "units": 8 }, { "newly_flipped_lessons": 9, "residual": false, - "tranche_number": 15, + "tranche_number": 16, "units": 9 }, { "newly_flipped_lessons": 9, "residual": false, - "tranche_number": 16, + "tranche_number": 17, "units": 8 }, { "newly_flipped_lessons": 9, "residual": false, - "tranche_number": 17, + "tranche_number": 18, "units": 10 }, { "newly_flipped_lessons": 9, "residual": false, - "tranche_number": 18, + "tranche_number": 19, "units": 9 }, { "newly_flipped_lessons": 9, "residual": false, - "tranche_number": 19, + "tranche_number": 20, "units": 9 }, { "newly_flipped_lessons": 9, "residual": false, - "tranche_number": 20, + "tranche_number": 21, "units": 7 }, { "newly_flipped_lessons": 9, "residual": false, - "tranche_number": 21, + "tranche_number": 22, "units": 9 }, { "newly_flipped_lessons": 9, "residual": false, - "tranche_number": 22, + "tranche_number": 23, "units": 9 }, { "newly_flipped_lessons": 8, "residual": true, - "tranche_number": 23, + "tranche_number": 24, "units": 8 } ] diff --git a/curriculum/l1l6/tranches/tranche-001.json b/curriculum/l1l6/tranches/tranche-001.json index 0e7bc82..362b6ca 100644 --- a/curriculum/l1l6/tranches/tranche-001.json +++ b/curriculum/l1l6/tranches/tranche-001.json @@ -4,11 +4,11 @@ "inputs": { "curriculum/l1l6/canonical/canonical-units.jsonl": "sha256:a5c817c9399de339020c748faa0dfb91560c6bc88f87bc66b6de5c895b8fd181", "curriculum/l1l6/canonical/lesson-unit-map.jsonl": "sha256:499ee92a1008df30af12ef19e27adb6ddbdb61cea26519c00fc6292aa2aeea6d", - "curriculum/l1l6/canonical/unit-dispositions.jsonl": "sha256:a9c02aa8e0c8f81598995c4971a000d722f729818c030f9b46af60c44f450a66", + "curriculum/l1l6/canonical/unit-dispositions.jsonl": "sha256:0de5880984e873fdae63780cbbc14d6e83fa1bb8e6288a672b237d77318e8d89", "curriculum/l1l6/links/consumer-operationalization-bindings.jsonl": "sha256:4d15504113931e140e69415cf9ac650d5067a5005575ce417f4900aa3bc474e0", "curriculum/l1l6/registry/lessons.jsonl": "sha256:476055a92c88d598346d318f208adb2a94113f5d2f0c71d0634ceca3786398cd", - "curriculum/l1l6/reports/absorption-ledger.jsonl": "sha256:513454975e04dd082d96b0a066505eaae8c42710294501f8d17133868912036b", - "curriculum/l1l6/reports/full-curriculum-readiness.json": "sha256:2b493bff8e61a06f3c0fddec5994bc8868cf70508fd0264b2050eb877c2fccbb", + "curriculum/l1l6/reports/absorption-ledger.jsonl": "sha256:0f465db41e7e848d5c8b8310680f8de9dd7c877a36cad23a0b0aa50a37dd5c4a", + "curriculum/l1l6/reports/full-curriculum-readiness.json": "sha256:066507923c18348daecb8787daad7e30e84f42a4514bc56321c34f4346fc3d9a", "curriculum/l1l6/reports/queues/q-error-fixtures.jsonl": "sha256:50d979c923bc868b457eafc6244ea38bfe32b81595920e045658a8bdf2838e09", "eval/fusha-bench-v1/report/fusha-bench-report.json": "sha256:580150cd0f8860dde87a6e784b58838679c7ae41df14a4c82def57babaaba63f" } @@ -16,22 +16,11 @@ "blocked_lessons": [], "blocked_units": [], "closure": { - "fully_operationalized_unit_ids": [ - "cu-grapheme-inventory-and-confusables", - "cu-orthographic-connectivity-classes", - "cu-short-vowel-diacritics-and-vocalization-state", - "cu-nunation-support-orthography", - "cu-definite-article-assimilation" - ], - "newly_fully_operationalized_lesson_ids": [ - "L1.M1.01", - "L1.M1.02", - "L1.M1.03", - "L1.M1.07" - ], + "fully_operationalized_unit_ids": [], + "newly_fully_operationalized_lesson_ids": [], "tranche_closed": false, - "units_fully_operationalized": 5, - "units_still_partial": 3 + "units_fully_operationalized": 0, + "units_still_partial": 8 }, "contributing_lesson_ids": [ "L1.M1.01", @@ -150,19 +139,8 @@ "L6.M6.04" ], "current_state": { - "closed_lesson_ids": [ - "L1.M1.01", - "L1.M1.02", - "L1.M1.03", - "L1.M1.07" - ], - "closed_unit_ids": [ - "cu-grapheme-inventory-and-confusables", - "cu-orthographic-connectivity-classes", - "cu-short-vowel-diacritics-and-vocalization-state", - "cu-nunation-support-orthography", - "cu-definite-article-assimilation" - ], + "closed_lesson_ids": [], + "closed_unit_ids": [], "lessons_total": 226, "not_applicable_lesson_ids": [ "L1.M5.08" @@ -175,19 +153,24 @@ "cu-badal-vs-atf-bayan", "cu-bound-fa-function-discrimination", "cu-clitic-pronoun-role-discriminator", + "cu-definite-article-assimilation", "cu-diminutive-template-family", "cu-fa-function-and-mood-licensing", "cu-five-verb-inflection-class", "cu-gemination-licensing", + "cu-grapheme-inventory-and-confusables", "cu-initial-hamza-class", "cu-la-negative-vs-prohibitive-discriminator", "cu-lakin-coordinator-vs-abrogator", "cu-lexical-feminine-registry", "cu-nongoverning-preverbal-inventory", "cu-nun-raf-vs-nun-niswa", + "cu-nunation-support-orthography", + "cu-orthographic-connectivity-classes", "cu-passive-voice-vocalization", "cu-preposition-sense-discriminators", "cu-quadriliteral-templates", + "cu-short-vowel-diacritics-and-vocalization-state", "cu-suffix-abstract-noun", "cu-tanazu-governor-selection", "cu-voice-melody-templates", @@ -214,12 +197,7 @@ ], "units_total": 166 }, - "fully_operationalized_lesson_ids": [ - "L1.M1.01", - "L1.M1.02", - "L1.M1.03", - "L1.M1.07" - ], + "fully_operationalized_lesson_ids": [], "generator": "tools/select_tranche.py", "parked_dimension_blockers": [ { @@ -2184,9 +2162,9 @@ ], "remaining": { "blocked_units": 0, - "future_tranches_total": 22, + "future_tranches_total": 23, "parked_dimension_blockers": 105, - "units_after_tranche_001": 161 + "units_after_tranche_001": 166 }, "schema": "curriculum.l1l6_operationalization_tranche.v1", "selection": { @@ -2203,9 +2181,11 @@ "contributing_lesson_ids": [ "L1.M1.01" ], - "current_closure": "fully_operationalized", + "current_closure": "partially_operationalized", "current_strongest_state": "candidate_remediation_material", - "incomplete_closure_dimensions": [], + "incomplete_closure_dimensions": [ + "behavioral_coverage" + ], "owning_production_lines": [ "line_2_drill_kc_realization", "line_4_error_fixtures" @@ -2223,9 +2203,11 @@ "contributing_lesson_ids": [ "L1.M1.02" ], - "current_closure": "fully_operationalized", + "current_closure": "partially_operationalized", "current_strongest_state": "candidate_pack_harnessed", - "incomplete_closure_dimensions": [], + "incomplete_closure_dimensions": [ + "behavioral_coverage" + ], "owning_production_lines": [ "line_1_machine_packs", "line_2_drill_kc_realization", @@ -2244,9 +2226,11 @@ "contributing_lesson_ids": [ "L1.M1.03" ], - "current_closure": "fully_operationalized", + "current_closure": "partially_operationalized", "current_strongest_state": "candidate_remediation_material", - "incomplete_closure_dimensions": [], + "incomplete_closure_dimensions": [ + "behavioral_coverage" + ], "owning_production_lines": [ "line_2_drill_kc_realization", "line_4_error_fixtures" @@ -2300,6 +2284,7 @@ "current_strongest_state": "candidate_occurrence_witnesses", "incomplete_closure_dimensions": [ "runtime_misconceptions", + "behavioral_coverage", "consumer_bindings" ], "owning_production_lines": [ @@ -2352,6 +2337,7 @@ "current_strongest_state": "candidate_pack_harnessed", "incomplete_closure_dimensions": [ "runtime_misconceptions", + "behavioral_coverage", "consumer_bindings" ], "owning_production_lines": [ @@ -2373,9 +2359,11 @@ "contributing_lesson_ids": [ "L1.M1.06" ], - "current_closure": "fully_operationalized", + "current_closure": "partially_operationalized", "current_strongest_state": "candidate_pack_harnessed", - "incomplete_closure_dimensions": [], + "incomplete_closure_dimensions": [ + "behavioral_coverage" + ], "owning_production_lines": [ "line_1_machine_packs", "line_2_drill_kc_realization", @@ -2478,6 +2466,7 @@ "current_strongest_state": "candidate_pack_harnessed", "incomplete_closure_dimensions": [ "runtime_misconceptions", + "behavioral_coverage", "consumer_bindings" ], "owning_production_lines": [ @@ -2501,9 +2490,11 @@ "contributing_lesson_ids": [ "L1.M1.07" ], - "current_closure": "fully_operationalized", + "current_closure": "partially_operationalized", "current_strongest_state": "candidate_pack_harnessed", - "incomplete_closure_dimensions": [], + "incomplete_closure_dimensions": [ + "behavioral_coverage" + ], "owning_production_lines": [ "line_1_machine_packs", "line_2_drill_kc_realization", diff --git a/tools/curriculum_closure.py b/tools/curriculum_closure.py index 050a744..cc9f1d5 100644 --- a/tools/curriculum_closure.py +++ b/tools/curriculum_closure.py @@ -39,6 +39,7 @@ "machine_execution", "runtime_misconceptions", "error_fixtures", + "behavioral_coverage", "consumer_bindings", "occurrence_grounding", ) @@ -198,7 +199,7 @@ def _error_fixture_dimension( for row in trace_rows if unit_id in row.get("selected_unit_links", []) and row.get("outcome") == "runner_loaded_fixture_only" - and row.get("behaviorally_decided") is False + and type(row.get("behaviorally_decided")) is bool and _existing_repo_path(row.get("owning_runner", "")) and _existing_repo_path(row.get("owning_skill_bank", "")) } @@ -217,7 +218,44 @@ def _error_fixture_dimension( "total": len(expected), "traced": len(expected & traced), "missing_queue_row_ids": missing, - "posture": "fixture_only_not_behavioral_closure", + "posture": "runner_loaded_with_explicit_behavioral_state", + } + + +def _behavioral_coverage_dimension( + unit_id: str, + lesson_ids: list[str], + queue_rows: list[dict], + trace_rows: list[dict], +) -> dict: + expected = { + row["row_id"] for row in queue_rows if row.get("source") in lesson_ids + } + decided = { + row["source_queue_row_id"] + for row in trace_rows + if unit_id in row.get("selected_unit_links", []) + and row.get("outcome") == "runner_loaded_fixture_only" + and row.get("behaviorally_decided") is True + and _existing_repo_path(row.get("owning_runner", "")) + and _existing_repo_path(row.get("owning_skill_bank", "")) + } + missing = sorted(expected - decided) + return { + "dimension": "behavioral_coverage", + "satisfied": not missing, + "satisfied_vacuously": not expected, + "satisfaction_basis": ( + "vacuous_no_expected_error_rows" + if not expected + else "all_expected_error_rows_behaviorally_decided" + if not missing + else "expected_error_rows_not_behaviorally_decided" + ), + "total": len(expected), + "decided": len(expected & decided), + "missing_queue_row_ids": missing, + "posture": "behavioral_verdict_required", } @@ -310,6 +348,9 @@ def build(disposition_rows: list[dict] | None = None) -> dict: _error_fixture_dimension( unit_id, lessons, queue_rows, trace_rows ), + _behavioral_coverage_dimension( + unit_id, lessons, queue_rows, trace_rows + ), _binding_dimension(unit_id, lessons, bindings), _occurrence_dimension(source), ] diff --git a/tools/test_curriculum_closure.py b/tools/test_curriculum_closure.py index 5f0585c..84720e2 100644 --- a/tools/test_curriculum_closure.py +++ b/tools/test_curriculum_closure.py @@ -32,6 +32,7 @@ def test_all_non_occurrence_dimensions_are_required(self): dimension("machine_execution", True), dimension("runtime_misconceptions", False, missing=["mc-2"]), dimension("error_fixtures", True), + dimension("behavioral_coverage", True), dimension("consumer_bindings", True), dimension("occurrence_grounding", True), ] @@ -46,6 +47,7 @@ def test_parked_occurrence_dimension_does_not_launder_other_gaps(self): dimension("machine_execution", True), dimension("runtime_misconceptions", True), dimension("error_fixtures", True), + dimension("behavioral_coverage", True), dimension("consumer_bindings", False, missing_lessons=["L2"]), { "dimension": "occurrence_grounding", @@ -65,6 +67,7 @@ def test_parked_occurrence_closure_has_an_honest_distinct_basis(self): dimension("machine_execution", True), dimension("runtime_misconceptions", True), dimension("error_fixtures", True), + dimension("behavioral_coverage", True), dimension("consumer_bindings", True), { "dimension": "occurrence_grounding", @@ -90,6 +93,9 @@ def test_empty_runtime_and_fixture_denominators_are_marked_vacuous(self): fixtures = closure._error_fixture_dimension( "u-none", ["L-none"], [], [] ) + behavioral = closure._behavioral_coverage_dimension( + "u-none", ["L-none"], [], [] + ) self.assertTrue(runtime["satisfied_vacuously"]) self.assertEqual( @@ -101,8 +107,110 @@ def test_empty_runtime_and_fixture_denominators_are_marked_vacuous(self): fixtures["satisfaction_basis"], "vacuous_no_expected_error_rows", ) + self.assertTrue(behavioral["satisfied_vacuously"]) + self.assertEqual( + behavioral["satisfaction_basis"], + "vacuous_no_expected_error_rows", + ) + + def test_error_fixture_trace_accepts_both_boolean_behavioral_states(self): + queue_rows = [ + {"row_id": "q-false", "source": "L-test"}, + {"row_id": "q-true", "source": "L-test"}, + ] + shared = { + "selected_unit_links": ["u-test"], + "outcome": "runner_loaded_fixture_only", + "owning_runner": "tools/run_sarf_evals.py", + "owning_skill_bank": "sarf/evals/tranche-001-error-fixtures-a.jsonl", + } + trace_rows = [ + { + **shared, + "source_queue_row_id": "q-false", + "behaviorally_decided": False, + }, + { + **shared, + "source_queue_row_id": "q-true", + "behaviorally_decided": True, + }, + ] + + result = closure._error_fixture_dimension( + "u-test", ["L-test"], queue_rows, trace_rows + ) + + self.assertTrue(result["satisfied"]) + self.assertEqual(result["traced"], 2) + self.assertEqual(result["missing_queue_row_ids"], []) + + def test_error_fixture_trace_rejects_missing_behavioral_state(self): + result = closure._error_fixture_dimension( + "u-test", + ["L-test"], + [{"row_id": "q-missing", "source": "L-test"}], + [{ + "source_queue_row_id": "q-missing", + "selected_unit_links": ["u-test"], + "outcome": "runner_loaded_fixture_only", + "owning_runner": "tools/run_sarf_evals.py", + "owning_skill_bank": "sarf/evals/tranche-001-error-fixtures-a.jsonl", + }], + ) + + self.assertFalse(result["satisfied"]) + self.assertEqual(result["missing_queue_row_ids"], ["q-missing"]) + + def test_behavioral_coverage_is_a_separate_fail_closed_dimension(self): + queue_rows = [ + {"row_id": "q-undecided", "source": "L-test"}, + {"row_id": "q-decided", "source": "L-test"}, + ] + shared = { + "selected_unit_links": ["u-test"], + "outcome": "runner_loaded_fixture_only", + "owning_runner": "tools/run_sarf_evals.py", + "owning_skill_bank": "sarf/evals/tranche-001-error-fixtures-a.jsonl", + } + trace_rows = [ + { + **shared, + "source_queue_row_id": "q-undecided", + "behaviorally_decided": False, + }, + { + **shared, + "source_queue_row_id": "q-decided", + "behaviorally_decided": True, + }, + ] + + result = closure._behavioral_coverage_dimension( + "u-test", ["L-test"], queue_rows, trace_rows + ) + + self.assertFalse(result["satisfied"]) + self.assertEqual(result["total"], 2) + self.assertEqual(result["decided"], 1) + self.assertEqual(result["missing_queue_row_ids"], ["q-undecided"]) + + def test_behavioral_coverage_is_required_for_unit_closure(self): + dimensions = [ + dimension("machine_execution", True), + dimension("runtime_misconceptions", True), + dimension("error_fixtures", True), + dimension("behavioral_coverage", False), + dimension("consumer_bindings", True), + dimension("occurrence_grounding", True), + ] + + result = closure.close_from_dimensions(dimensions) + + self.assertFalse(result["fully_operationalized"]) + self.assertEqual(result["incomplete_dimensions"], ["behavioral_coverage"]) - def test_live_tranche_001_closes_only_five_narrow_units(self): + def test_live_tranche_001_reopens_fixture_only_units_for_grading(self): report = closure.build() by_id = {row["unit_id"]: row for row in report["units"]} @@ -111,16 +219,12 @@ def test_live_tranche_001_closes_only_five_narrow_units(self): for unit_id, row in by_id.items() if row["fully_operationalized"] } - self.assertEqual( - closed, - { - "cu-definite-article-assimilation", - "cu-grapheme-inventory-and-confusables", - "cu-nunation-support-orthography", - "cu-orthographic-connectivity-classes", - "cu-short-vowel-diacritics-and-vocalization-state", - }, - ) + self.assertEqual(closed, set()) + for row in by_id.values(): + behavioral = row["dimensions"]["behavioral_coverage"] + self.assertEqual(behavioral["decided"], 0) + self.assertGreater(behavioral["total"], 0) + self.assertIn("behavioral_coverage", row["incomplete_dimensions"]) self.assertEqual( by_id["u-s06"]["dimensions"]["runtime_misconceptions"]["covered"], 65, @@ -149,19 +253,16 @@ def test_unit_disposition_builder_consumes_closure_truth(self): row["unit_id"] for row in rows if row["fully_operationalized"] } - self.assertEqual(len(closed), 5) - self.assertEqual(meta["units_fully_operationalized"], 5) - self.assertEqual(meta["units_partially_operationalized"], 3) + self.assertEqual(len(closed), 0) + self.assertEqual(meta["units_fully_operationalized"], 0) + self.assertEqual(meta["units_partially_operationalized"], 8) self.assertEqual( meta["units_closed_with_parked_occurrence_grounding"], 0 ) - self.assertGreater(meta["units_closed_with_vacuous_dimensions"], 0) - self.assertEqual(meta["lessons_fully_operationalized"], 4) + self.assertEqual(meta["units_closed_with_vacuous_dimensions"], 0) + self.assertEqual(meta["lessons_fully_operationalized"], 0) lesson_truth = closure.lesson_closure_truth(rows) - self.assertEqual( - lesson_truth["fully_operationalized_lesson_ids"], - ["L1.M1.01", "L1.M1.02", "L1.M1.03", "L1.M1.07"], - ) + self.assertEqual(lesson_truth["fully_operationalized_lesson_ids"], []) def test_selector_preserves_tranche_001_membership_after_partial_closure(self): dispositions, _ = build_unit_dispositions.build() @@ -176,33 +277,32 @@ def test_selector_preserves_tranche_001_membership_after_partial_closure(self): [row["unit_id"] for row in tranche["units"]], list(closure.TRANCHE_001_UNIT_IDS), ) - self.assertEqual(tranche["closure"]["units_fully_operationalized"], 5) - self.assertEqual(tranche["closure"]["units_still_partial"], 3) + self.assertEqual(tranche["closure"]["units_fully_operationalized"], 0) + self.assertEqual(tranche["closure"]["units_still_partial"], 8) self.assertEqual( - burndown["current_tranche"]["units_fully_operationalized"], 5 + burndown["current_tranche"]["units_fully_operationalized"], 0 ) self.assertNotIn("baseline", burndown) self.assertNotIn("plan", burndown) self.assertEqual( burndown["current_state"]["lessons_by_disposition"], { - "fully_operationalized": 4, "not_applicable_with_reason": 1, "open": 172, - "partially_operationalized_real_consumer": 49, + "partially_operationalized_real_consumer": 53, }, ) self.assertEqual( burndown["current_state"]["lessons_with_real_consumer_partial_evidence"], - 49, + 53, ) self.assertEqual( burndown["current_state"]["units_by_disposition"], { "blocked": 0, "candidate_or_open": 118, - "closed": 5, - "real_consumer_partial": 43, + "closed": 0, + "real_consumer_partial": 48, }, ) self.assertEqual( @@ -213,9 +313,9 @@ def test_selector_preserves_tranche_001_membership_after_partial_closure(self): ) self.assertEqual( burndown["current_tranche"]["fully_operationalized_lesson_ids"], - ["L1.M1.01", "L1.M1.02", "L1.M1.03", "L1.M1.07"], + [], ) - self.assertEqual(burndown["forecast"]["future_tranches_total"], 22) + self.assertEqual(burndown["forecast"]["future_tranches_total"], 23) self.assertEqual( burndown["forecast"]["parked_occurrence_grounding_units"], 105 ) @@ -233,7 +333,7 @@ def test_selector_preserves_tranche_001_membership_after_partial_closure(self): burndown["forecast"]["tranches"][0]["tranche_number"], 2 ) - def test_absorption_builder_records_four_fully_closed_lessons(self): + def test_absorption_builder_reopens_fixture_only_lessons(self): dispositions, _ = build_unit_dispositions.build() ledger, _, _, _, readiness = build_curriculum_absorption.build( build_curriculum_absorption.load(), @@ -241,14 +341,14 @@ def test_absorption_builder_records_four_fully_closed_lessons(self): ) by_lesson = {row["lesson_id"]: row for row in ledger} - self.assertEqual(readiness["lessons_fully_operationalized"], 4) - self.assertEqual(readiness["lessons_partially_operationalized"], 49) - self.assertTrue( + self.assertEqual(readiness["lessons_fully_operationalized"], 0) + self.assertEqual(readiness["lessons_partially_operationalized"], 53) + self.assertFalse( by_lesson["L1.M1.01"]["consumer_operationalization"][ "fully_operationalized" ] ) - self.assertTrue( + self.assertFalse( by_lesson["L1.M1.01"]["runtime_tutor_evidence"][ "mapped_unit_closure_reached" ] @@ -257,7 +357,7 @@ def test_absorption_builder_records_four_fully_closed_lessons(self): by_lesson["L1.M1.01"]["runtime_tutor_evidence"][ "mapped_unit_closure_basis" ], - "all_mapped_canonical_units_fully_operationalized", + "mapped_units_incomplete", ) self.assertNotIn( "lesson_content_fully_operationalized", @@ -281,15 +381,14 @@ def test_validator_independently_rejects_a_laundered_unit_closure(self): ) ) self.assertEqual(errors, []) - self.assertEqual(len(closed_lessons), 4) + self.assertEqual(len(closed_lessons), 0) mutated = copy.deepcopy(dispositions) - closed_row = next( - row for row in mutated if row["fully_operationalized"] + closed_row = mutated[0] + closed_row["fully_operationalized"] = True + closed_row["fully_operationalized_basis"] = ( + "all_required_dimensions_satisfied:sha256:invalid" ) - closed_row["closure_dimensions"]["consumer_bindings"][ - "satisfied" - ] = False errors = [] validate_curriculum_l1l6.derive_operationalization_closure( mutated, lesson_units, errors diff --git a/tools/test_l1l6_consumer_truth.py b/tools/test_l1l6_consumer_truth.py index 129520f..e6053d9 100644 --- a/tools/test_l1l6_consumer_truth.py +++ b/tools/test_l1l6_consumer_truth.py @@ -147,7 +147,7 @@ def test_explicit_runtime_bindings_do_not_promote_candidate_drills(self): self.assertEqual(runtime["bound_runtime_item_count"], 155) self.assertEqual(runtime["candidate_drill_specs_promoted"], 0) self.assertEqual(readiness["lessons_mapped_to_tutor_drills"], 39) - self.assertEqual(readiness["lessons_fully_operationalized"], 4) + self.assertEqual(readiness["lessons_fully_operationalized"], 0) self.assertEqual( readiness["lessons_fully_operationalized_basis"], "all_mapped_canonical_units_fully_operationalized", @@ -175,7 +175,7 @@ def test_train_b_and_c_unit_bindings_preserve_consumer_planes(self): TRAIN_B_PENDING_UNITS, ) self.assertEqual(meta["explicit_runtime_unit_bindings"], 30) - self.assertEqual(meta["lessons_fully_operationalized"], 4) + self.assertEqual(meta["lessons_fully_operationalized"], 0) badal = by_id["cu-badal-typology-discriminator"] self.assertEqual(badal["operationalized_planes"], ["tutor_runtime"]) @@ -290,13 +290,7 @@ def test_readiness_separates_runtime_fixture_and_candidate_drill_evidence(self): def test_unit_dispositions_keep_consumer_evidence_out_of_candidate_states(self): rows, meta = dispositions.build() self.assertEqual(meta["explicit_runtime_unit_bindings"], 30) - closed = { - "cu-definite-article-assimilation", - "cu-grapheme-inventory-and-confusables", - "cu-nunation-support-orthography", - "cu-orthographic-connectivity-classes", - "cu-short-vowel-diacritics-and-vocalization-state", - } + closed = set() for row in rows: self.assertNotIn("candidate_runtime_behavioral_mapping", row["states"]) self.assertNotIn("runtime_behavioral_evidence", row["states"]) diff --git a/tools/validate_curriculum_l1l6.py b/tools/validate_curriculum_l1l6.py index 525a424..f097826 100644 --- a/tools/validate_curriculum_l1l6.py +++ b/tools/validate_curriculum_l1l6.py @@ -1397,6 +1397,7 @@ def check_runtime_truth_consistency(readiness, derived_runtime, drill_meta, "machine_execution", "runtime_misconceptions", "error_fixtures", + "behavioral_coverage", "consumer_bindings", "occurrence_grounding", })