core/packs/register/dry_v1.json
Shay ae38412e93 fix(packs/register): remove bare '.' closings + ratify gate refuses them
The widened 100-pack tour surfaced four packs whose closings bucket
included a bare '.' entry: assertive_v1, blunt_v1, dry_v1, and
mathematical_v1. Seeded variation selects from buckets uniformly, so
roughly 1/N of turns would emit a '..'-style surface artefact
(e.g. 'Truth is what is true..') when '.' was selected and appended
to a surface CORE's deterministic realizer already terminated with
'.'.

This commit:
  * Strips the bare '.' entry from the four affected packs' closings.
    The remaining entries (e.g. ' — qed.', ' — that's it.', '') all
    carry their own leading separator, so concatenation produces a
    clean surface.
  * Re-runs scripts/ratify_register_packs.py to re-seal each pack's
    mastery_report.json with a fresh pack_source_sha256 and
    self_seal_sha256 — these companion files are part of the diff
    because pack content changed.
  * Adds _validate_discourse_markers_shape() to
    scripts/ratify_register_packs.py as defense in depth. The new
    R4-tier gate refuses any closing entry whose first character is
    bare sentence-final punctuation ('.', '!', '?', ';', ':') or an
    alphanumeric — both classes would produce concatenation artefacts.
    Ellipsis ('...', '…') is explicitly exempt as a legitimate
    stylistic ending.

Verified:
  * core eval cognition byte-identical (the eval runs unregistered)
  * tests/test_cognition_eval_register_matrix.py: 801 passed in 5:23
    (100 registers × 8 projection invariants + meta-test), confirming
    the closing fix did not perturb ADR-0072 trace_hash invariance
    or any per-case projection.
  * Hand-verification across {assertive,blunt,dry,mathematical}_v1
    × 4 prompts = 16 surfaces: 0 remaining double-period artefacts.
  * Re-running ratify against a re-introduced bad closing produces
    SystemExit with the new gate's diagnostic message.

mathematical_v1 now reads beautifully under "What is light?":
  "Lemma:  Light is visible medium that reveals truth. — qed."
2026-05-21 06:57:43 -07:00

25 lines
576 B
JSON

{
"register_id": "dry_v1",
"version": "1.0.0",
"description": "Dry register — understated, factual.",
"schema_version": "1.0.0",
"mastery_report_sha256": "6f413313c0cc42bae47dfb3f1273d429006c0b4405a48764ad6aac8d69da3ebc",
"display_name": "Dry",
"depth_preference": "standard",
"realizer_overrides": {
"disclosure_domain_count": 2,
"drop_provenance_tag": true
},
"discourse_markers": {
"openings": [
"",
"Stated: ",
"Plainly — "
],
"transitions": [],
"closings": [
"",
" — that's it."
]
}
}