core/scripts
Shay fdfb71f59b feat(deduction-serve): Phase 4 — Band v1b categorical/syllogism serving (ADR-0256)
core chat now decides Aristotelian syllogisms end-to-end -- the marquee
'basic logical work' widening. Closes Phase 0's fork: the ONLY categorical
decider was evals/syllogism/oracle.py (the sealed independence oracle serving
must not import; INV-25). This ships a production decider.

generate/proof_chain/categorical.py lowers a categorical argument to the
propositional regime (one Boolean atom per term-membership profile) and rides
the already-verified ROBDD engine -- no new decision procedure, soundness
inherits from the flagship. Sound AND complete for the modern/Boolean reading
(Darapti + existential-import-only forms correctly INVALID), with no reliance
on a lucky domain size. Independent of the eval oracle by mechanism (ROBDD-
over-profiles vs brute-force finite-model enumeration); proven by case-for-case
agreement with it across the whole syllogism gold lane.

New: generate/proof_chain/categorical.py, render_syllogism (deterministic
valid/invalid/inconsistent templates), CATEGORICAL shape-band, arena
categorical band (4 valid forms + 2 invalid, by-construction gold cross-checked
vs the independent syllogism oracle), tests/test_categorical_decider.py (8
tests incl. the independence-by-agreement proof).

Changed: chat/deduction_surface.py (categorical branch, license-gated via a
shared _license_gate helper; propositional path byte-identical), arena
DeductionSolver dual-path in lock-step with the composer, re-sealed ledger (5
bands, categorical earns SERVE at 0.99087 wrong=0), Phase-2 lane decide()
mirrors the dual path with the 3 categorical cases reclassified to their true
valid/invalid verdicts + 1 invalid case (n 27->28), report+SHA regenerated.

Honest wrinkles: irregular plurals ('fish') decline with unknown_morphology
(a reader limit, correctly not a wrong); surfaces read in singularized terms
('all whale are animal') -- the exact ids the engine reasoned over, no cosmetic
re-pluralization that could drift from the decision.

[Verification]: smoke 180 passed; cognition 122 passed/1 skipped; core test
--suite deductive 45 passed; test_categorical_decider 8 passed; practice
runner 5 bands all SERVE wrong=0; deduction_serve lane SHA regenerates to the
committed pin.
2026-07-23 13:17:35 -07:00
..
benchmarks feat(evals): implement safe metadata and fail-closed evaluator check for GSM1K 2026-06-23 07:52:32 -07:00
hooks chore(ci): local pre-push gate (smoke + warmed_session pin) + T11 reset record 2026-07-22 22:28:55 -07:00
ops feat(telemetry): discovery-yield-per-served-turn baseline (ADR-0255) 2026-07-23 07:27:00 -07:00
probes chore: Refactor CLI and Governance Anchors (#926) 2026-07-03 12:34:56 -07:00
__init__.py scripts: add run_examples.py + review_trace.py; cli: surface TurnEvent in trace/session 2026-05-14 13:54:25 -07:00
agent_startup.sh chore(dev): enforce fresh-base startup guard for CORE agents (#849) 2026-06-20 20:11:09 -07:00
build_refusal_taxonomy_cases.py fix(refusal-taxonomy): parse new refusal-reason format; reconcile to reader gains 2026-06-03 01:49:41 -07:00
calibrate_ratification_threshold.py chore(ratifier): calibrate default ratification threshold 0.0 → 0.5 (#86) 2026-05-20 19:59:25 -07:00
dump-api-schemas.py feat(W-028): chat surface + trace drawer (#303) 2026-05-26 13:22:11 -07:00
dump-enums.py feat(workbench): CORE-Logos Studio LG-2 — /logos route shell + Overview/Identity/Safety 2026-06-14 12:12:47 -07:00
dump-schemas.py feat(workbench): design mastery pass — chain rail, typography, doctrine-as-tests (Wave R R1) 2026-06-12 13:18:44 -07:00
generate_claims.py feat: ratify independent-gold invariant (INV-25) + SHA-pin deductive lane 2026-06-04 15:56:28 -07:00
generate_discourse_paragraph.py feat(benchmarks): discourse_paragraph lane + pipeline profiler + word-selection tracer 2026-05-16 21:53:46 -07:00
generate_en_numerics_v1.py Lane 4: Registry Consolidation (language_packs to packs) 2026-07-04 15:11:28 -07:00
generate_english_fluency_ood.py fix(gaps): close G1+G2+G3 + identity vocab + pipeline safety-stub honour 2026-05-16 21:21:06 -07:00
generate_grammatical_v2.py feat(evals): grammatical-coverage v2 cases - 36 cases with deeper nesting and rarer vocabulary (100% pass) 2026-05-16 06:40:55 -07:00
generate_gsm8k_public_corpus.py feat(evals): Author 200-case GSM8K math evaluation corpus and verification script 2026-07-04 16:03:51 -07:00
generate_identity_curriculum.py feat(evals): identity-divergence lane v1 - 93 curriculum events, two axis profiles (Precision/Generosity), divergence/coherence/causal metrics (all pass) 2026-05-16 06:48:13 -07:00
generate_identity_test_cases.py feat(evals): identity-divergence lane v1 - 93 curriculum events, two axis profiles (Precision/Generosity), divergence/coherence/causal metrics (all pass) 2026-05-16 06:48:13 -07:00
generate_monotonic_cases.py feat(evals): v3 lanes — monotonic-learning passes, adversarial-identity reveals gap 2026-05-16 13:42:47 -07:00
generate_phase5_domain_lanes.py feat(phase5): land 5.2–5.7 — six new fluency lanes, parallel sweep 2026-05-16 20:59:31 -07:00
generate_phase5_language_lanes.py Lane 4: Registry Consolidation (language_packs to packs) 2026-07-04 15:11:28 -07:00
gsm8k_experience_flywheel.py feat(gsm8k): add bounded experience flywheel for sealed practice 2026-06-17 21:05:02 -07:00
gsm8k_frontier_report.py feat(derivation): Workstream A inc 2 — frontier report + rate_with_currency apply_rate injection (#797) 2026-06-17 06:38:45 -07:00
gsm8k_microscope.py fix(adr-0191): candidate-graph completeness guard — real-corpus wrong 5→0 (#496) 2026-05-30 15:45:07 -07:00
gsm8k_post_gate_a1_frontier_microscope.py feat(derivation): Gate A2a unit partition injection (#809) 2026-06-17 18:14:24 -07:00
gsm8k_problem_frame_adequacy.py feat(kernel): implement ProblemFrame proportional-change closure (PR slice 1) (#835) 2026-06-20 10:58:43 -07:00
gsm8k_sealed_attempt_scout.py feat(evals): add GSM8K sealed attempt scout (#812) 2026-06-17 19:55:13 -07:00
gsm8k_substrate_morphology.py Lane 4: Registry Consolidation (language_packs to packs) 2026-07-04 15:11:28 -07:00
measure_trackb_inc2.py fix(trackb): pure-S1 extract refuse multi-clause overmatch (0361 wrong=0) 2026-07-19 20:04:27 -07:00
measure_trackb_s1_slice.py feat(trackb): S1 symbolic structure-mapping vertical slice (off-serving) 2026-07-19 19:01:23 -07:00
package_apple_uma_demo.py feat(bench): add Apple UMA demo package builder (#913) 2026-06-24 15:51:45 -07:00
publish_pack_measurements.py chore(evals): contracts + bench json + Lane B viewer + chart + audit + demo schema (#62) 2026-05-20 13:53:13 -07:00
ratify_anchor_lens_packs.py Lane 4: Registry Consolidation (language_packs to packs) 2026-07-04 15:11:28 -07:00
ratify_ethics_pack.py feat(packs): expansion round 2 — ethics ×3, anchor-lens ×3, relations-v3, register ×2 (#48) 2026-05-20 07:18:35 -07:00
ratify_identity_packs.py feat(identity-packs): ADR-0027 Phase 5 — ratify all three v1 packs 2026-05-17 19:31:55 -07:00
ratify_register_packs.py fix(packs/register): remove bare '.' closings + ratify gate refuses them 2026-05-21 06:57:43 -07:00
ratify_rhetorical_style_packs.py feat(adr-0087): rhetorical-style pack substrate (loader + default_unstyled_v1) (#74) 2026-05-20 16:19:36 -07:00
ratify_safety_pack.py chore: Refactor CLI and Governance Anchors (#926) 2026-07-03 12:34:56 -07:00
review_trace.py scripts: add run_examples.py + review_trace.py; cli: surface TurnEvent in trace/session 2026-05-14 13:54:25 -07:00
run_examples.py scripts: add run_examples.py + review_trace.py; cli: surface TurnEvent in trace/session 2026-05-14 13:54:25 -07:00
run_pulse.py Lane 4: Registry Consolidation (language_packs to packs) 2026-07-04 15:11:28 -07:00
scaffold_phase5_domain_lanes.py feat(phase5): land 5.2–5.7 — six new fluency lanes, parallel sweep 2026-05-16 20:59:31 -07:00
score_phase5_holdouts.py feat(phase5): land 5.2–5.7 — six new fluency lanes, parallel sweep 2026-05-16 20:59:31 -07:00
seal_gsm8k_test.py feat: ADR-0119.7 — seal GSM8K test as gsm8k_math holdout (Phase 5 substrate complete) 2026-05-22 20:08:35 -07:00
seal_holdouts.py feat(evals): ADR-0105 — sealed holdout encryption via age (#108) 2026-05-22 10:09:43 -07:00
setup_codex_environment.sh chore(dev): restore tracked agent session launchers (#903) 2026-06-24 12:19:53 -07:00
start-codex-session.zsh chore(dev): restore tracked agent session launchers (#903) 2026-06-24 12:19:53 -07:00
start-grok-session.zsh chore(dev): restore tracked agent session launchers (#903) 2026-06-24 12:19:53 -07:00
test_ffi_layout.py refactor(kernel): implement Lane 1 VersorBinding and Geometric ContractAssessment 2026-07-03 21:05:25 -07:00
verify_definitional_closure.py Lane 4: Registry Consolidation (language_packs to packs) 2026-07-04 15:11:28 -07:00
verify_lane_shas.py feat(deduction-serve): Phase 4 — Band v1b categorical/syllogism serving (ADR-0256) 2026-07-23 13:17:35 -07:00
verify_semantic_equivalence.py test(derivation): add ADR-0184 semantic replay equivalence harness 2026-06-10 14:35:22 -07:00
workbench fix(core): lock python and extend rust cga surface (#925) 2026-07-02 15:32:08 -07:00