feat(packs): ADR-0103 — attach hebrew_fluency + koine_greek_fluency lanes to ADR-0102 (#106)
* feat(evals): add Hebrew fluency holdout cases * feat(evals): add Koine Greek fluency holdout cases * feat(packs): attach fluency lanes to he_core_cognition_v1 * feat(packs): attach fluency lanes to he_logos_micro_v1 * feat(packs): attach fluency lanes to grc_logos_cognition_v1 * feat(packs): ADR-0103 fluency lane attachment * test(packs): expect ADR-0103 fluency lanes on Hebrew Greek contracts * docs(evals): add Hebrew fluency holdout split note * docs(evals): add Koine Greek fluency holdout split note * docs(evals): note Hebrew holdout attachment * docs(evals): note Koine Greek holdout attachment * docs: add ADR 0103 placeholder * docs(adr): expand ADR-0103 fluency lane attachment * docs: index ADR-0103 and refresh frontier
This commit is contained in:
parent
c07b967454
commit
1395ec1354
13 changed files with 183 additions and 12 deletions
|
|
@ -0,0 +1,94 @@
|
|||
# ADR-0103 — Fluency Lane Attachment for ADR-0102
|
||||
|
||||
**Status:** Accepted
|
||||
**Date:** 2026-05-22
|
||||
**Author:** CORE agents + reviewers
|
||||
**Depends on:** ADR-0091, ADR-0102
|
||||
|
||||
---
|
||||
|
||||
## Context
|
||||
|
||||
ADR-0102 ratified `hebrew_greek_textual_reasoning` with only universal reasoning lanes attached:
|
||||
|
||||
- `inference_closure`
|
||||
- `fabrication_control`
|
||||
|
||||
At the time, the language-specific Hebrew and Koine Greek fluency lanes did not yet expose sealed holdout splits, so attaching them to ratified contracts would have violated ADR-0091 expectations around `dev/public/holdout` coverage.
|
||||
|
||||
Both lanes now ship plaintext holdout sets through:
|
||||
|
||||
```text
|
||||
holdouts/v1/cases.jsonl
|
||||
```
|
||||
|
||||
and can therefore be attached to the ADR-0102 manifests without weakening the contract discipline.
|
||||
|
||||
---
|
||||
|
||||
## Decision
|
||||
|
||||
Attach the following eval lanes to all four ADR-0102 manifests:
|
||||
|
||||
- `hebrew_fluency`
|
||||
- `koine_greek_fluency`
|
||||
|
||||
Each lane declares:
|
||||
|
||||
```jsonc
|
||||
{
|
||||
"version": "v1",
|
||||
"splits": ["dev", "public", "holdout"]
|
||||
}
|
||||
```
|
||||
|
||||
The following packs must remain uniform:
|
||||
|
||||
- `he_core_cognition_v1`
|
||||
- `he_logos_micro_v1`
|
||||
- `grc_logos_cognition_v1`
|
||||
- `grc_logos_micro_v1`
|
||||
|
||||
All four manifests advance provenance to:
|
||||
|
||||
```text
|
||||
adr-0103:reviewed:2026-05-22
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Acceptance evidence
|
||||
|
||||
Accepted after the following landed together:
|
||||
|
||||
- Hebrew holdout cases
|
||||
- Koine Greek holdout cases
|
||||
- updated fluency contracts
|
||||
- updated gap notes
|
||||
- updated sibling-ratification invariants
|
||||
- uniform lane attachment across all four manifests
|
||||
|
||||
---
|
||||
|
||||
## Invariants
|
||||
|
||||
### `hebrew_greek_fluency_lanes_uniform`
|
||||
|
||||
All four ADR-0102 packs must declare identical eval-lane coverage.
|
||||
|
||||
### `hebrew_greek_fluency_holdouts_present`
|
||||
|
||||
Both:
|
||||
|
||||
- `hebrew_fluency`
|
||||
- `koine_greek_fluency`
|
||||
|
||||
must ship non-empty `holdouts/v1/cases.jsonl` before appearing in ratified domain contracts.
|
||||
|
||||
---
|
||||
|
||||
## Consequences
|
||||
|
||||
- ADR-0102 now carries language-specific fluency evidence in addition to universal reasoning evidence.
|
||||
- Hebrew/Greek textual reasoning contracts now satisfy full `dev/public/holdout` discipline for attached fluency lanes.
|
||||
- Future language-track ADRs can extend morphology and construction coverage without changing Domain Pack Contract v1.
|
||||
|
|
@ -99,12 +99,14 @@ ADRs record significant architectural decisions: what was decided, why, what alt
|
|||
| [ADR-0100](ADR-0100-physics-reasoning-capable-ratification.md) | Physics Reasoning-Capable Ratification | Accepted (2026-05-22) |
|
||||
| [ADR-0101](ADR-0101-systems-software-reasoning-capable-ratification.md) | Systems-Software Reasoning-Capable Ratification | Accepted (2026-05-22) |
|
||||
| [ADR-0102](ADR-0102-hebrew-greek-reasoning-capable-ratification.md) | Hebrew-Greek Textual-Reasoning Reasoning-Capable Ratification | Accepted (2026-05-22) |
|
||||
| [ADR-0103](ADR-0103-fluency-lane-attachment-for-adr-0102.md) | Fluency Lane Attachment for ADR-0102 | Accepted (2026-05-22) |
|
||||
| ADR-0105 | Expert-Demo Ratification Contract | Placeholder / Proposed |
|
||||
|
||||
---
|
||||
|
||||
## Current frontier
|
||||
|
||||
The ADR-0091..0102 slate is fully accepted and mechanically evidenced:
|
||||
The ADR-0091..0103 slate is fully accepted and mechanically evidenced:
|
||||
|
||||
- Domain Pack Contract v1 — ADR-0091
|
||||
- Reviewer Registry v1 — ADR-0092
|
||||
|
|
@ -118,14 +120,14 @@ The ADR-0091..0102 slate is fully accepted and mechanically evidenced:
|
|||
- `physics` reasoning-capable ratification — ADR-0100
|
||||
- `systems_software` reasoning-capable ratification — ADR-0101
|
||||
- `hebrew_greek_textual_reasoning` multi-pack reasoning-capable ratification — ADR-0102
|
||||
- Hebrew/Greek fluency lane attachment for ADR-0102 — ADR-0103
|
||||
|
||||
Six lanes are SHA-pinned in `scripts/verify_lane_shas.py` and gated by the `lane-shas` GitHub Actions workflow: `reviewer_registry`, `domain_contract_validation`, `miner_loop_closure`, `fabrication_control_summary`, `demo_composition`, `public_demo`.
|
||||
|
||||
The next implementation frontier is open. Candidate directions include:
|
||||
|
||||
- **Curriculum-sourced proposals.** ADR-0094 reserved `ProposalSource(kind="curriculum")`; a curriculum ADR can introduce it without secondary schema churn.
|
||||
- **Holdout splits for language-specific lanes.** ADR-0102 currently relies on universal lanes (`inference_closure`, `fabrication_control`); language-specific fluency lanes (`evals/hebrew_fluency/`, `evals/koine_greek_fluency/`) need sealed holdout splits before they can attach to `reasoning-capable` claims.
|
||||
- **Expert-demo ratification.** All ADR-0097/0100/0101/0102 ledger rows currently sit at `reasoning-capable` with `expert_demo=false`. The next status tier requires evidence beyond the universal lanes.
|
||||
- **Expert-demo ratification.** All ADR-0097/0100/0101/0102 ledger rows currently sit at `reasoning-capable` with `expert_demo=false`. ADR-0105 is reserved for the expert-demo promotion contract.
|
||||
|
||||
No ADR currently sits in a "Proposed but unimplemented" state.
|
||||
|
||||
|
|
@ -138,7 +140,7 @@ No ADR currently sits in a "Proposed but unimplemented" state.
|
|||
| `mathematics_logic` | ADR-0097 | `en_mathematics_logic_v1` | All nine ADR-0091 predicates pass; ledger row is `reasoning-capable`; `expert_demo` remains false; lanes include positive coverage, inference closure, and fabrication control. |
|
||||
| `physics` | ADR-0100 | `en_physics_v1` | All nine predicates pass; causal/modal operator coverage meets threshold; ledger row is `reasoning-capable`; `expert_demo` remains false. |
|
||||
| `systems_software` | ADR-0101 | `en_systems_software_v1` | All nine predicates pass; transitive/causal operator coverage meets threshold; ledger row is `reasoning-capable`; `symbolic_logic` is the v1 closest-fit eval lane. |
|
||||
| `hebrew_greek_textual_reasoning` | ADR-0102 | `grc_logos_micro_v1`, `grc_logos_cognition_v1`, `he_logos_micro_v1`, `he_core_cognition_v1` | First multi-pack ratification; all four packs carry uniform contract fields; causal/contradiction operator coverage meets threshold; universal lanes are declared until language-specific holdouts land. |
|
||||
| `hebrew_greek_textual_reasoning` | ADR-0102 + ADR-0103 | `grc_logos_micro_v1`, `grc_logos_cognition_v1`, `he_logos_micro_v1`, `he_core_cognition_v1` | First multi-pack ratification; all four packs carry uniform contract fields; causal/contradiction operator coverage meets threshold; ADR-0103 attaches Hebrew and Koine Greek fluency lanes with `dev/public/holdout` coverage. |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -160,9 +162,9 @@ Runtime contracts for the chain are pinned in [`docs/runtime_contracts.md`](../r
|
|||
|
||||
ADR-0027 through ADR-0045 establish the identity / safety / ethics pack architecture with deterministic remediation, audit completeness, telemetry, operator readout, audit-tour demo, pack measurements, a worked-example medical ethics pack, and long-context comparison measurements.
|
||||
|
||||
### Evidence-governed domain chain — ADR-0091 through ADR-0102
|
||||
### Evidence-governed domain chain — ADR-0091 through ADR-0103
|
||||
|
||||
ADR-0091 through ADR-0102 establish the current domain-ratification substrate:
|
||||
ADR-0091 through ADR-0103 establish the current domain-ratification substrate:
|
||||
|
||||
```text
|
||||
contract definition
|
||||
|
|
@ -174,6 +176,8 @@ validator / ledger enforcement
|
|||
negative-control fabrication lane
|
||||
↓
|
||||
reasoning-capable domain ratification
|
||||
↓
|
||||
language-specific fluency lane attachment
|
||||
```
|
||||
|
||||
No domain claim should be treated as mature merely because a pack exists. Capability status belongs to the generated ledger and its evidence predicates.
|
||||
|
|
|
|||
|
|
@ -35,6 +35,12 @@ grounding + word-order assembly through `_assemble`.
|
|||
`dev/cases.jsonl`
|
||||
: 1 case — smoke check for runner integration.
|
||||
|
||||
`holdouts/v1/cases.jsonl`
|
||||
: 5 sealed plaintext Hebrew realization cases added for ADR-0103.
|
||||
These cases are not referenced by the development split and complete
|
||||
the `dev/public/holdout` requirement for attaching
|
||||
`hebrew_fluency` to ADR-0102 ratified contracts.
|
||||
|
||||
## Scoring rubric
|
||||
|
||||
A case passes if the realized surface:
|
||||
|
|
|
|||
|
|
@ -11,6 +11,9 @@
|
|||
slot matching is *not* gated at v1 — the runtime currently folds
|
||||
multi-token Hebrew input to a single lexeme through articulation
|
||||
(a known limitation, see v2 below).
|
||||
- Holdout status: ADR-0103 adds plaintext `holdouts/v1/` cases so the
|
||||
lane now satisfies the `dev/public/holdout` requirement for
|
||||
attachment to ADR-0102 reasoning-capable contracts.
|
||||
|
||||
## v2 unblock path — Hebrew construction coverage
|
||||
|
||||
|
|
|
|||
5
evals/hebrew_fluency/holdouts/v1/cases.jsonl
Normal file
5
evals/hebrew_fluency/holdouts/v1/cases.jsonl
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{"id": "HEB-HLD_01", "construction": "C01", "construction_name": "simple_declarative", "language": "he", "proposition_graph": {"nodes": [{"node_id": "n1", "subject": "רוח", "predicate": "ברא", "obj": "חיים"}], "edges": []}, "accept_surfaces": ["ברא רוח חיים"], "constraints": {"must_contain": ["רוח", "ברא", "חיים"], "word_order": ["ברא", "רוח", "חיים"], "max_words": 6}}
|
||||
{"id": "HEB-HLD_02", "construction": "C01", "construction_name": "simple_declarative", "language": "he", "proposition_graph": {"nodes": [{"node_id": "n1", "subject": "אדם", "predicate": "צרך", "obj": "בינה"}], "edges": []}, "accept_surfaces": ["צרך אדם בינה"], "constraints": {"must_contain": ["אדם", "צרך", "בינה"], "word_order": ["צרך", "אדם", "בינה"], "max_words": 6}}
|
||||
{"id": "HEB-HLD_03", "construction": "C01", "construction_name": "simple_declarative", "language": "he", "proposition_graph": {"nodes": [{"node_id": "n1", "subject": "ראשית", "predicate": "ברא", "obj": "בריאה"}], "edges": []}, "accept_surfaces": ["ברא ראשית בריאה"], "constraints": {"must_contain": ["ראשית", "ברא", "בריאה"], "word_order": ["ברא", "ראשית", "בריאה"], "max_words": 6}}
|
||||
{"id": "HEB-HLD_04", "construction": "C01", "construction_name": "simple_declarative", "language": "he", "proposition_graph": {"nodes": [{"node_id": "n1", "subject": "חסד", "predicate": "דבר", "obj": "שלום"}], "edges": []}, "accept_surfaces": ["דבר חסד שלום"], "constraints": {"must_contain": ["חסד", "דבר", "שלום"], "word_order": ["דבר", "חסד", "שלום"], "max_words": 6}}
|
||||
{"id": "HEB-HLD_05", "construction": "C01", "construction_name": "simple_declarative", "language": "he", "proposition_graph": {"nodes": [{"node_id": "n1", "subject": "נפש", "predicate": "צרך", "obj": "נשמה"}], "edges": []}, "accept_surfaces": ["צרך נפש נשמה"], "constraints": {"must_contain": ["נפש", "צרך", "נשמה"], "word_order": ["צרך", "נפש", "נשמה"], "max_words": 6}}
|
||||
|
|
@ -26,6 +26,12 @@ measured honestly. See `gaps.md` for the v2 unblock path.
|
|||
`dev/cases.jsonl`
|
||||
: 1 case — smoke check for runner integration.
|
||||
|
||||
`holdouts/v1/cases.jsonl`
|
||||
: 5 sealed plaintext Koine Greek realization cases added for ADR-0103.
|
||||
These cases are not referenced by the development split and complete
|
||||
the `dev/public/holdout` requirement for attaching
|
||||
`koine_greek_fluency` to ADR-0102 ratified contracts.
|
||||
|
||||
## Scoring rubric
|
||||
|
||||
A case passes if the realized surface:
|
||||
|
|
|
|||
|
|
@ -9,6 +9,9 @@
|
|||
- Rubric: **script + length** only. Lexeme-level slot matching is
|
||||
not gated at v1 for the same runtime-folding reason as Hebrew
|
||||
(see v2 §6 below).
|
||||
- Holdout status: ADR-0103 adds plaintext `holdouts/v1/` cases so the
|
||||
lane now satisfies the `dev/public/holdout` requirement for
|
||||
attachment to ADR-0102 reasoning-capable contracts.
|
||||
|
||||
## v2 unblock path — Koine Greek construction coverage
|
||||
|
||||
|
|
|
|||
5
evals/koine_greek_fluency/holdouts/v1/cases.jsonl
Normal file
5
evals/koine_greek_fluency/holdouts/v1/cases.jsonl
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{"id": "GRC-HLD_01", "construction": "C01", "construction_name": "simple_declarative", "language": "grc", "proposition_graph": {"nodes": [{"node_id": "n1", "subject": "πνεῦμα", "predicate": "κτίζω", "obj": "ζωή"}], "edges": []}, "accept_surfaces": ["πνεῦμα ζωή κτίζω"], "constraints": {"must_contain": ["πνεῦμα", "κτίζω", "ζωή"], "word_order": ["πνεῦμα", "ζωή", "κτίζω"], "max_words": 6}}
|
||||
{"id": "GRC-HLD_02", "construction": "C01", "construction_name": "simple_declarative", "language": "grc", "proposition_graph": {"nodes": [{"node_id": "n1", "subject": "ἄνθρωπος", "predicate": "λαμβάνω", "obj": "σύνεσις"}], "edges": []}, "accept_surfaces": ["ἄνθρωπος σύνεσις λαμβάνω"], "constraints": {"must_contain": ["ἄνθρωπος", "λαμβάνω", "σύνεσις"], "word_order": ["ἄνθρωπος", "σύνεσις", "λαμβάνω"], "max_words": 6}}
|
||||
{"id": "GRC-HLD_03", "construction": "C01", "construction_name": "simple_declarative", "language": "grc", "proposition_graph": {"nodes": [{"node_id": "n1", "subject": "ἀγάπη", "predicate": "λέγω", "obj": "φιλία"}], "edges": []}, "accept_surfaces": ["ἀγάπη φιλία λέγω"], "constraints": {"must_contain": ["ἀγάπη", "λέγω", "φιλία"], "word_order": ["ἀγάπη", "φιλία", "λέγω"], "max_words": 6}}
|
||||
{"id": "GRC-HLD_04", "construction": "C01", "construction_name": "simple_declarative", "language": "grc", "proposition_graph": {"nodes": [{"node_id": "n1", "subject": "αἰών", "predicate": "ἐρωτάω", "obj": "ἐπιστήμη"}], "edges": []}, "accept_surfaces": ["αἰών ἐπιστήμη ἐρωτάω"], "constraints": {"must_contain": ["αἰών", "ἐρωτάω", "ἐπιστήμη"], "word_order": ["αἰών", "ἐπιστήμη", "ἐρωτάω"], "max_words": 6}}
|
||||
{"id": "GRC-HLD_05", "construction": "C01", "construction_name": "simple_declarative", "language": "grc", "proposition_graph": {"nodes": [{"node_id": "n1", "subject": "ἔρως", "predicate": "ἀποκρίνομαι", "obj": "στοργή"}], "edges": []}, "accept_surfaces": ["ἔρως στοργή ἀποκρίνομαι"], "constraints": {"must_contain": ["ἔρως", "ἀποκρίνομαι", "στοργή"], "word_order": ["ἔρως", "στοργή", "ἀποκρίνομαι"], "max_words": 6}}
|
||||
|
|
@ -11,7 +11,7 @@
|
|||
"gate_engaged": true,
|
||||
"oov_policy": "fail_closed",
|
||||
"glosses_checksum": "6b1e83010b2065ceedb0988e2020ee13999a1883e6399f1ca8908235683d7e42",
|
||||
"provenance": "adr-0102:reviewed:2026-05-21",
|
||||
"provenance": "adr-0103:reviewed:2026-05-22",
|
||||
"domain_contract_version": 1,
|
||||
"domain_id": "hebrew_greek_textual_reasoning",
|
||||
"axioms": null,
|
||||
|
|
@ -27,6 +27,16 @@
|
|||
"lane": "fabrication_control",
|
||||
"version": "v1",
|
||||
"splits": ["dev", "public", "holdout"]
|
||||
},
|
||||
{
|
||||
"lane": "hebrew_fluency",
|
||||
"version": "v1",
|
||||
"splits": ["dev", "public", "holdout"]
|
||||
},
|
||||
{
|
||||
"lane": "koine_greek_fluency",
|
||||
"version": "v1",
|
||||
"splits": ["dev", "public", "holdout"]
|
||||
}
|
||||
],
|
||||
"reviewers": ["shay-j"],
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
"gate_engaged": true,
|
||||
"oov_policy": "fail_closed",
|
||||
"glosses_checksum": "cfc5c3b3dafcd8290cff484039af34c8a17a826e40a3c8fa1ffe97e32c36934c",
|
||||
"provenance": "adr-0102:reviewed:2026-05-21",
|
||||
"provenance": "adr-0103:reviewed:2026-05-22",
|
||||
"domain_contract_version": 1,
|
||||
"domain_id": "hebrew_greek_textual_reasoning",
|
||||
"axioms": null,
|
||||
|
|
@ -27,6 +27,16 @@
|
|||
"lane": "fabrication_control",
|
||||
"version": "v1",
|
||||
"splits": ["dev", "public", "holdout"]
|
||||
},
|
||||
{
|
||||
"lane": "hebrew_fluency",
|
||||
"version": "v1",
|
||||
"splits": ["dev", "public", "holdout"]
|
||||
},
|
||||
{
|
||||
"lane": "koine_greek_fluency",
|
||||
"version": "v1",
|
||||
"splits": ["dev", "public", "holdout"]
|
||||
}
|
||||
],
|
||||
"reviewers": ["shay-j"],
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
"gate_engaged": true,
|
||||
"oov_policy": "fail_closed",
|
||||
"glosses_checksum": "286acaf29fd2b3cc01ff5537f2b1552788ba2d495f977517ec5e4acd2a564ac5",
|
||||
"provenance": "adr-0102:reviewed:2026-05-21",
|
||||
"provenance": "adr-0103:reviewed:2026-05-22",
|
||||
"domain_contract_version": 1,
|
||||
"domain_id": "hebrew_greek_textual_reasoning",
|
||||
"axioms": null,
|
||||
|
|
@ -27,6 +27,16 @@
|
|||
"lane": "fabrication_control",
|
||||
"version": "v1",
|
||||
"splits": ["dev", "public", "holdout"]
|
||||
},
|
||||
{
|
||||
"lane": "hebrew_fluency",
|
||||
"version": "v1",
|
||||
"splits": ["dev", "public", "holdout"]
|
||||
},
|
||||
{
|
||||
"lane": "koine_greek_fluency",
|
||||
"version": "v1",
|
||||
"splits": ["dev", "public", "holdout"]
|
||||
}
|
||||
],
|
||||
"reviewers": ["shay-j"],
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
"gate_engaged": true,
|
||||
"oov_policy": "fail_closed",
|
||||
"glosses_checksum": "2d00c18735fa81b6d1f3ece754c132924bf8a2b83241d1561370bef52e8816e1",
|
||||
"provenance": "adr-0102:reviewed:2026-05-21",
|
||||
"provenance": "adr-0103:reviewed:2026-05-22",
|
||||
"domain_contract_version": 1,
|
||||
"domain_id": "hebrew_greek_textual_reasoning",
|
||||
"axioms": null,
|
||||
|
|
@ -27,6 +27,16 @@
|
|||
"lane": "fabrication_control",
|
||||
"version": "v1",
|
||||
"splits": ["dev", "public", "holdout"]
|
||||
},
|
||||
{
|
||||
"lane": "hebrew_fluency",
|
||||
"version": "v1",
|
||||
"splits": ["dev", "public", "holdout"]
|
||||
},
|
||||
{
|
||||
"lane": "koine_greek_fluency",
|
||||
"version": "v1",
|
||||
"splits": ["dev", "public", "holdout"]
|
||||
}
|
||||
],
|
||||
"reviewers": ["shay-j"],
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ _DOMAINS: dict[str, dict] = {
|
|||
},
|
||||
},
|
||||
"hebrew_greek_textual_reasoning": {
|
||||
"adr": "adr-0102",
|
||||
"adr": "adr-0103",
|
||||
"packs": (
|
||||
"grc_logos_micro_v1",
|
||||
"grc_logos_cognition_v1",
|
||||
|
|
@ -55,7 +55,12 @@ _DOMAINS: dict[str, dict] = {
|
|||
"claimed_operators": ("causal", "contradiction"),
|
||||
"min_intent_shapes": 3,
|
||||
"expected_chains": ["hebrew_greek_textual_reasoning_chains_v1"],
|
||||
"expected_lanes": {"inference_closure", "fabrication_control"},
|
||||
"expected_lanes": {
|
||||
"inference_closure",
|
||||
"fabrication_control",
|
||||
"hebrew_fluency",
|
||||
"koine_greek_fluency",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue