diff --git a/packs/anchor_lens/grc_aletheia_v1.json b/packs/anchor_lens/grc_aletheia_v1.json new file mode 100644 index 00000000..e9713cef --- /dev/null +++ b/packs/anchor_lens/grc_aletheia_v1.json @@ -0,0 +1,13 @@ +{ + "cognitive_mode_label": "unconcealment", + "description": "Greek-substrate anchor lens. Pivots English 'truth' onto \u1f00\u03bb\u03ae\u03b8\u03b5\u03b9\u03b1's logos.aletheia.verity atom via the grc cognition pack's field hook. Renders surface as English compound 'unconcealment'. Dual-correction pair with he_logos_v1: same domain atom (logos.aletheia.verity), different substrate and cognitive mode — Greek aletheia is phenomenological disclosure (truth-as-unconcealment), Hebrew emet is covenantal reliability. Atom confirmed in grc_logos_cognition_v1 lexicon (grc-core-cog-002). See ADR-0073c.", + "display_name": "Greek aletheia (unconcealment)", + "lens_id": "grc_aletheia_v1", + "mastery_report_sha256": "", + "primary_substrate": "grc", + "schema_version": "1.0.0", + "semantic_domain_preferences": [ + "logos.aletheia.verity" + ], + "version": "1.0.0" +} diff --git a/packs/anchor_lens/grc_arche_v1.json b/packs/anchor_lens/grc_arche_v1.json new file mode 100644 index 00000000..a79b103e --- /dev/null +++ b/packs/anchor_lens/grc_arche_v1.json @@ -0,0 +1,13 @@ +{ + "cognitive_mode_label": "generative-origin", + "description": "Greek-substrate anchor lens. Pivots English 'beginning' onto \u1f00\u03c1\u03c7\u03ae's logos.genesis.origin atom via the grc cognition pack's field hook. Renders surface as English compound 'generative-origin'. Fills the temporal/origination pole of the anchor-lens space — distinct from epistemic (grc_logos_v1), vitality (grc_zoe_v1), and truth (grc_aletheia_v1) lenses. Completes the grc quad. Atom confirmed in grc_logos_cognition_v1 lexicon (grc-core-cog-005). See ADR-0073c.", + "display_name": "Greek arche (generative origin)", + "lens_id": "grc_arche_v1", + "mastery_report_sha256": "", + "primary_substrate": "grc", + "schema_version": "1.0.0", + "semantic_domain_preferences": [ + "logos.genesis.origin" + ], + "version": "1.0.0" +} diff --git a/packs/anchor_lens/grc_zoe_v1.json b/packs/anchor_lens/grc_zoe_v1.json new file mode 100644 index 00000000..4c70bb5d --- /dev/null +++ b/packs/anchor_lens/grc_zoe_v1.json @@ -0,0 +1,13 @@ +{ + "cognitive_mode_label": "animate-vitality", + "description": "Greek-substrate anchor lens. Pivots English 'life' onto \u03b6\u03c9\u03ae's logos.vitality.animate atom via the grc cognition pack's field hook. Renders surface as English compound 'animate-vitality'. Substantively distinct from grc_logos_v1 (epistemic knowledge) — targets the vitality/being pole. Atom confirmed in grc_logos_cognition_v1 lexicon (grc-core-cog-004). See ADR-0073c.", + "display_name": "Greek zoe (animate vitality)", + "lens_id": "grc_zoe_v1", + "mastery_report_sha256": "", + "primary_substrate": "grc", + "schema_version": "1.0.0", + "semantic_domain_preferences": [ + "logos.vitality.animate" + ], + "version": "1.0.0" +} diff --git a/packs/anchor_lens/he_chayyim_v1.json b/packs/anchor_lens/he_chayyim_v1.json new file mode 100644 index 00000000..1dbcebbe --- /dev/null +++ b/packs/anchor_lens/he_chayyim_v1.json @@ -0,0 +1,13 @@ +{ + "cognitive_mode_label": "covenant-life", + "description": "Hebrew-substrate anchor lens. Pivots English 'life' onto \u05d7\u05b7\u05d9\u05bc\u05b4\u05d9\u05dd's logos.vitality.animate atom via the he cognition pack's field hook. Renders surface as English compound 'covenant-life'. Dual-correction pair with grc_zoe_v1: same domain atom (logos.vitality.animate), different substrate and cognitive mode — Hebrew chayyim is plural living-ness, communal and covenantal; Greek zoe is singular animate vitality. Atom confirmed in he_core_cognition_v1 lexicon (he-core-cog-004). See ADR-0073c.", + "display_name": "Hebrew chayyim (covenant life)", + "lens_id": "he_chayyim_v1", + "mastery_report_sha256": "", + "primary_substrate": "he", + "schema_version": "1.0.0", + "semantic_domain_preferences": [ + "logos.vitality.animate" + ], + "version": "1.0.0" +} diff --git a/packs/anchor_lens/he_dabar_v1.json b/packs/anchor_lens/he_dabar_v1.json new file mode 100644 index 00000000..27dd4991 --- /dev/null +++ b/packs/anchor_lens/he_dabar_v1.json @@ -0,0 +1,13 @@ +{ + "cognitive_mode_label": "divine-word", + "description": "Hebrew-substrate anchor lens. Pivots English 'word' onto \u05d3\u05b8\u05bc\u05d1\u05b8\u05e8's logos.utterance.word atom via the he cognition pack's field hook. Renders surface as English compound 'divine-word'. Dual-correction pair with grc_logos_v1: same domain atom (logos.utterance.word), different substrate and cognitive mode — Hebrew dabar is the enacted, event-making divine word (spoken reality), Greek logos is the rational structuring principle. Atom confirmed in he_core_cognition_v1 lexicon (he-core-cog-001). See ADR-0073c.", + "display_name": "Hebrew dabar (divine word)", + "lens_id": "he_dabar_v1", + "mastery_report_sha256": "", + "primary_substrate": "he", + "schema_version": "1.0.0", + "semantic_domain_preferences": [ + "logos.utterance.word" + ], + "version": "1.0.0" +} diff --git a/packs/register/pedagogical_v1.json b/packs/register/pedagogical_v1.json new file mode 100644 index 00000000..dfaca07b --- /dev/null +++ b/packs/register/pedagogical_v1.json @@ -0,0 +1,31 @@ +{ + "register_id": "pedagogical_v1", + "version": "1.0.0", + "description": "Pedagogical register. Uses the 'pedagogical' depth tier to expand disclosure across all available semantic domains, with append_semantic_domain_clause=true to anchor each gloss with full semantic domain context. Discourse markers scaffold Socratic progression — questions fold back to the learner, transitions move the inquiry forward. Variation is deterministic across (trace_hash, register_id, turn_idx). See ADR-0071, R6.", + "schema_version": "1.0.0", + "mastery_report_sha256": "", + "display_name": "Pedagogical", + "depth_preference": "pedagogical", + "realizer_overrides": { + "append_semantic_domain_clause": true + }, + "discourse_markers": { + "openings": [ + "Let's think through this —", + "Consider:", + "Here's the core of it —", + "" + ], + "transitions": [ + "Now, the key move is —", + "Which raises the question:", + "Notice that" + ], + "closings": [ + " — does that step make sense?", + " — what does that imply for you?", + " — where does that land?", + "" + ] + } +} diff --git a/packs/register/precise_v1.json b/packs/register/precise_v1.json new file mode 100644 index 00000000..43421c50 --- /dev/null +++ b/packs/register/precise_v1.json @@ -0,0 +1,18 @@ +{ + "register_id": "precise_v1", + "version": "1.0.0", + "description": "Precise register. Standard depth with disclosure_domain_count=2 and drop_provenance_tag=true. Exposes exactly two semantic domains (focused but not terse), and drops the parenthetical meta-tag from gloss output — giving formal, clean surface text. Occupies the focused/technical pole: more substantive than terse_v1 (count=1) but narrower than default_neutral_v1 (count=3, no tag suppression). See ADR-0068, ADR-0070, R6.", + "schema_version": "1.0.0", + "mastery_report_sha256": "", + "display_name": "Precise", + "depth_preference": "standard", + "realizer_overrides": { + "disclosure_domain_count": 2, + "drop_provenance_tag": true + }, + "discourse_markers": { + "openings": [], + "transitions": [], + "closings": [] + } +} diff --git a/scripts/ratify_anchor_lens_packs.py b/scripts/ratify_anchor_lens_packs.py index d8b0dde7..a8a4c7a3 100644 --- a/scripts/ratify_anchor_lens_packs.py +++ b/scripts/ratify_anchor_lens_packs.py @@ -50,6 +50,11 @@ LENS_IDS: tuple[str, ...] = ( "default_unanchored_v1", "grc_logos_v1", "he_logos_v1", + "grc_zoe_v1", + "grc_aletheia_v1", + "grc_arche_v1", + "he_dabar_v1", + "he_chayyim_v1", ) _SUBSTRATE_PACK_IDS: dict[str, tuple[str, ...]] = { diff --git a/scripts/ratify_register_packs.py b/scripts/ratify_register_packs.py index ab3494fa..55e4b099 100644 --- a/scripts/ratify_register_packs.py +++ b/scripts/ratify_register_packs.py @@ -46,6 +46,8 @@ REGISTER_IDS: tuple[str, ...] = ( "default_neutral_v1", "terse_v1", "convivial_v1", + "pedagogical_v1", + "precise_v1", ) #: Valid IntentTag names for ``per_intent`` keys (ADR-0071, R4). This @@ -55,10 +57,16 @@ def _valid_intent_names() -> frozenset[str]: from generate.intent import IntentTag return frozenset(t.name for t in IntentTag) -# Known realizer_overrides keys (ADR-0070, Phase R3). The allow-list is -# the trust boundary against arbitrary operator-authored data driving +# Known realizer_overrides keys (ADR-0070, Phase R3 + R6). The allow-list +# is the trust boundary against arbitrary operator-authored data driving # realizer dispatch. Each entry maps a key name to a validator that -# returns True iff the value is in-bounds for R3. +# returns True iff the value is in-bounds. +# +# R6 boolean knobs (drop_provenance_tag, compress_gloss, drop_articles, +# append_semantic_domain_clause): validated as strict bool only. The +# loader's closed-set boolean allow-list mirrors this gate, and the +# realizer dispatch in ``chat.register_substantive`` reads these keys +# at runtime. def _is_bool(v: Any) -> bool: return isinstance(v, bool)