core/tests
Shay 29f573d176 feat(threshold-2): ConstraintCorrectionOperator — non-trivial dual-correction
Implements the coupled forward-correction loop that separates CORE from
a nearest-neighbour lookup engine:

  per iteration:
    state, Δ_fwd  = diffusion_op.forward(state)        # spread context
    state, Δ_corr = correction_op.adjoint_pass(state)  # enforce intent
    converged when both Δ_fwd < ε and Δ_corr < ε

field/operators.py:
- Add ConstraintCorrectionOperator(target_versor, correction_rate, node_index)
- adjoint_pass() builds an incremental correction rotor from the current
  output-node versor toward the intent target using the exponential map
  (same _unitize_f32 path, same boost/rotation blade classification).
  This is a non-self-adjoint operator: it has a preferred direction.
- forward() is identity (correction acts only on the output node via adjoint_pass).
- The target is the prompt centroid versor — same geometry that seeds the
  output node, so the correction restores coherence broken by diffusion.

scripts/run_pulse.py (V4):
- Build target_versor from prompt centroid before the loop (exposed from
  _build_manifold as a second return value alongside state + labels).
- Instantiate GraphDiffusionOperator + ConstraintCorrectionOperator.
- Coupled convergence: loop until both Δ_fwd < ε AND Δ_corr < ε.
- Print both deltas each step for observability.
- --correction-rate flag (default 0.3) to tune correction strength.
- --no-correction flag to reproduce V3 pure-diffusion behaviour.

tests/test_pulse_integration.py:
- test_correction_pulls_toward_target: verifies output node moves closer
  to target versor under correction than without it.
- test_coupled_loop_converges: full V4 pulse with correction converges.
- test_correction_rate_zero_is_identity: rate=0 leaves the field unchanged.
- test_different_inputs_produce_different_correction_targets: correction
  targets differ for semantically distinct inputs.
2026-05-15 17:10:13 -07:00
..
__init__.py init: tests, pyproject.toml, AGENTS.md, CLAUDE.md, README.md 2026-05-12 19:15:28 -07:00
test_achat.py test(chat): achat() and arespond() smoke tests — surface, fields, OOV grace, structural determinism 2026-05-14 14:31:49 -07:00
test_alignment_graph.py Fix test suite errors across core physics and generation 2026-05-14 13:02:32 -07:00
test_architectural_invariants.py Fix test suite errors across core physics and generation 2026-05-14 13:02:32 -07:00
test_articulation.py Add ADR-0009 articulation planner 2026-05-13 21:39:25 -07:00
test_articulation_realizer_v2.py Add articulation realizer v2 2026-05-14 20:14:50 -07:00
test_chat_identity_telemetry.py Fix full-suite regressions after chat telemetry merge 2026-05-14 18:23:31 -07:00
test_chat_runtime.py Bridge chat OOV grounding 2026-05-13 20:47:28 -07:00
test_cli.py Add ADR-0008 salience attention 2026-05-13 22:40:36 -07:00
test_cli_pack_validate_security.py Harden pack validator trust boundary 2026-05-15 11:50:15 -07:00
test_cli_test_suites.py Speed up validation lanes and pack loading 2026-05-15 08:26:11 -07:00
test_cognitive_eval_harness.py Add cognitive eval harness and calibration replay (#30) 2026-05-15 07:41:36 -07:00
test_cognitive_turn_pipeline.py Wire intent graph into cognitive pipeline 2026-05-14 20:05:00 -07:00
test_compiler.py feat(core_ingest): IngestPipeline, manifold integration, full test suite 2026-05-13 12:07:12 -07:00
test_core_ingest.py feat: scaffold core_ingest/ governance layer (ADR-0012) 2026-05-13 11:35:00 -07:00
test_core_semantic_seed_pack.py feat: vault recall index, Rust versor parity, cognitive pack expansion 2026-05-15 15:34:39 -07:00
test_determinism_proofs.py Restore FieldState slots in determinism proof 2026-05-13 14:26:24 -07:00
test_deterministic_hash.py feat: manifold field topology, graph diffusion operator, vertical pulse 2026-05-15 16:02:48 -07:00
test_dialogue.py Thread vault recall through generation 2026-05-13 20:50:31 -07:00
test_energy.py Tighten hot-path backend consistency 2026-05-15 08:14:38 -07:00
test_engine_loop_proof.py Tighten session node tracking and generation selection 2026-05-13 14:35:31 -07:00
test_generate_stream.py Implement trilingual field coherence 2026-05-13 19:53:37 -07:00
test_graph_diffusion.py feat: manifold field topology, graph diffusion operator, vertical pulse 2026-05-15 16:02:48 -07:00
test_holonomy.py Align holonomy tests with indefinite metric 2026-05-13 12:59:32 -07:00
test_holonomy_resonance.py Implement trilingual field coherence 2026-05-13 19:53:37 -07:00
test_identity_gate.py fix: use raw string for deprecated_call match pattern in test_identity_gate 2026-05-14 19:52:47 -07:00
test_intent_proposition_graph.py feat: add intent-proposition graph comprehension layer 2026-05-14 19:52:57 -07:00
test_language_pack_cache.py feat: vault recall index, Rust versor parity, cognitive pack expansion 2026-05-15 15:34:39 -07:00
test_language_pack_runtime.py Implement trilingual field coherence 2026-05-13 19:53:37 -07:00
test_manifold.py feat(core_ingest): IngestPipeline, manifold integration, full test suite 2026-05-13 12:07:12 -07:00
test_manifold_state.py feat: manifold field topology, graph diffusion operator, vertical pulse 2026-05-15 16:02:48 -07:00
test_morphology_registry.py Implement trilingual field coherence 2026-05-13 19:53:37 -07:00
test_motor.py Fix full test suite after cognitive runtime 2026-05-13 13:52:11 -07:00
test_null_cone.py init: tests, pyproject.toml, AGENTS.md, CLAUDE.md, README.md 2026-05-12 19:15:28 -07:00
test_oov_grounding_cache.py Cache OOV morphology grounding structures 2026-05-15 11:53:46 -07:00
test_operator_calibration_replay.py Add cognitive eval harness and calibration replay (#30) 2026-05-15 07:41:36 -07:00
test_pipeline.py feat(core_ingest): IngestPipeline, manifold integration, full test suite 2026-05-13 12:07:12 -07:00
test_pipeline_teaching_integration.py feat: wire teaching loop into cognitive pipeline 2026-05-14 20:46:50 -07:00
test_probe_repl.py Implement trilingual field coherence 2026-05-13 19:53:37 -07:00
test_proposition.py Add proposition generation 2026-05-13 20:08:49 -07:00
test_pulse_integration.py feat(threshold-2): ConstraintCorrectionOperator — non-trivial dual-correction 2026-05-15 17:10:13 -07:00
test_reviewed_teaching_loop.py feat: add reviewed teaching loop for controlled correction learning 2026-05-14 20:32:28 -07:00
test_runtime_config.py Add ADR-0009 articulation planner 2026-05-13 21:39:25 -07:00
test_rust_backend.py feat: vault recall index, Rust versor parity, cognitive pack expansion 2026-05-15 15:34:39 -07:00
test_salience.py Add ADR-0008 salience attention 2026-05-13 22:40:36 -07:00
test_segmenter.py feat(core_ingest): IngestPipeline, manifold integration, full test suite 2026-05-13 12:07:12 -07:00
test_semantic_realizer_integration.py feat: vault recall index, Rust versor parity, cognitive pack expansion 2026-05-15 15:34:39 -07:00
test_sensorium_mount.py feat: scaffold sensorium/ (ADR-0013) + tests/test_architectural_invariants.py + tests/test_sensorium_mount.py 2026-05-13 11:45:16 -07:00
test_session_coherence.py fix: use rotors instead of reflectors in session coherence test (#22) 2026-05-14 20:24:25 -07:00
test_surface.py test(surface): full unit test suite for SentenceAssembler — roles, guard, elaboration, languages, determinism 2026-05-14 14:29:46 -07:00
test_unknown_token_ingest.py Ground unknown tokens in ingest 2026-05-13 20:33:20 -07:00
test_vault_config.py Add ADR-0008 salience attention 2026-05-13 22:40:36 -07:00
test_vault_recall.py Activate and verify Rust backend 2026-05-13 22:23:48 -07:00
test_vault_store.py feat: vault recall index, Rust versor parity, cognitive pack expansion 2026-05-15 15:34:39 -07:00
test_versor_closure.py Fail closed on invalid versor construction 2026-05-14 10:55:11 -07:00
test_vocab_manifold_invariants.py Fail closed on invalid versor construction 2026-05-14 10:55:11 -07:00