feat(packs): pedagogical_v1, precise_v1 registers + 5 new anchor lens packs (#47)
* feat(packs): add pedagogical_v1, precise_v1 register packs + 5 new anchor lens packs Register packs: - pedagogical_v1: fills the reserved 'pedagogical' depth tier (loader had it in _ALLOWED_DEPTH_PREFERENCES since R1 with zero packs using it). Socratic markers in openings/closings; transitions scaffold inquiry progression. - precise_v1: standard depth, disclosure_domain_count=2 override. Focused output (two semantic domains vs default three) with no discourse markers. Distinct from terse_v1 (which forces count=1) and default_neutral_v1 (which has no overrides). Anchor lens packs (all grc or he substrate, all atoms confirmed in language_packs/data lexicons): - grc_zoe_v1: logos.vitality.animate — animate-vitality pole, grc substrate - grc_aletheia_v1: logos.aletheia.verity — unconcealment pole, grc substrate; dual-correction pair with he_logos_v1 (same atom, different substrate + mode) - grc_arche_v1: logos.genesis.origin — generative-origin pole, completes grc quad - he_dabar_v1: logos.utterance.word — divine-word pole, he substrate; dual-correction pair with grc_logos_v1 (same atom, different substrate + mode) - he_chayyim_v1: logos.vitality.animate — covenant-life pole, he substrate; dual-correction pair with grc_zoe_v1 Also updates ratify scripts to include all new IDs in REGISTER_IDS / LENS_IDS tuples so ratify_*.py picks them up on next run. All packs ship with mastery_report_sha256='' — operator runs ratify scripts after merge to seal. No schema changes; all fields within existing loader bounds. * fix(packs): wire R6 boolean knobs into precise_v1 + pedagogical_v1; widen R4 gate Precise: add drop_provenance_tag=true — formal output drops the meta-tag, making it substantively distinct from default_neutral_v1 on the gloss path (not just the rare no-gloss disclosure surface). Pedagogical: add append_semantic_domain_clause=true — expands the gloss with full semantic domain context, giving the learner cognitive anchor points. Pairs with the existing Socratic markers for a genuinely distinct substantive+presentational posture. ratify_register_packs.py: widen _KNOWN_OVERRIDE_KEYS to include the four R6 boolean knobs (drop_provenance_tag, compress_gloss, drop_articles, append_semantic_domain_clause). Validator: isinstance(v, bool). This anticipates R6 landing on main — the R4 gate must know the keys before the packs can ratify. All four keys are informational-only in _KNOWN_OVERRIDE_KEYS until the realizer dispatch code in R6 actually reads them; the gate just needs to not refuse them.
This commit is contained in:
parent
5a78b0e37b
commit
565cca0b0c
9 changed files with 130 additions and 3 deletions
13
packs/anchor_lens/grc_aletheia_v1.json
Normal file
13
packs/anchor_lens/grc_aletheia_v1.json
Normal file
|
|
@ -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"
|
||||
}
|
||||
13
packs/anchor_lens/grc_arche_v1.json
Normal file
13
packs/anchor_lens/grc_arche_v1.json
Normal file
|
|
@ -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"
|
||||
}
|
||||
13
packs/anchor_lens/grc_zoe_v1.json
Normal file
13
packs/anchor_lens/grc_zoe_v1.json
Normal file
|
|
@ -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"
|
||||
}
|
||||
13
packs/anchor_lens/he_chayyim_v1.json
Normal file
13
packs/anchor_lens/he_chayyim_v1.json
Normal file
|
|
@ -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"
|
||||
}
|
||||
13
packs/anchor_lens/he_dabar_v1.json
Normal file
13
packs/anchor_lens/he_dabar_v1.json
Normal file
|
|
@ -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"
|
||||
}
|
||||
31
packs/register/pedagogical_v1.json
Normal file
31
packs/register/pedagogical_v1.json
Normal file
|
|
@ -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?",
|
||||
""
|
||||
]
|
||||
}
|
||||
}
|
||||
18
packs/register/precise_v1.json
Normal file
18
packs/register/precise_v1.json
Normal file
|
|
@ -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": []
|
||||
}
|
||||
}
|
||||
|
|
@ -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, ...]] = {
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue