thefinalboss's picture
v0.5: factual generalization via dense analogy. learn_relation + solve_analogy implement Mikolov paris-france+spain=madrid in normalized dense space, averaged over known examples, excluding the query slot. Wired into structural answer() so unseen slots get plain-text answers. Measured end-to-end via the Brain with fastText: capitals holdout goes 0% (char) / 0% (structural) -> ~50-67% factual-correct (spain->madrid, portugal->lisbon, greece->athens, norway->oslo recovered correctly). from_fasttext uses batch projection (fast load). The semantic wall is broken. 109 tests.
595d852 verified
Raw
History Blame Contribute Delete
8.28 kB
[
"tests/test_attractor.py::TestAttractor::test_empty_returns_gracefully",
"tests/test_attractor.py::TestAttractor::test_no_candidate_experts_filtered",
"tests/test_attractor.py::TestAttractor::test_single_expert_returns_candidate",
"tests/test_attractor.py::TestAttractor::test_two_experts_synthesize",
"tests/test_attractor.py::TestAttractor::test_weight_contributions_sum_to_one",
"tests/test_attractor.py::TestOscillator::test_prepare_sets_state",
"tests/test_attractor.py::TestOscillator::test_signature_matches_expert",
"tests/test_attractor.py::TestOscillator::test_weight_settable",
"tests/test_bench.py::TestDatasets::test_gen_all",
"tests/test_bench.py::TestDatasets::test_gen_facts_deterministic",
"tests/test_bench.py::TestDatasets::test_gen_qa_splits_disjoint",
"tests/test_bench.py::TestMetrics::test_next_token_accuracy_in_range",
"tests/test_bench.py::TestMetrics::test_next_token_accuracy_repetitive_high",
"tests/test_bench.py::TestMetrics::test_qa_exact_recall",
"tests/test_bench.py::TestMetrics::test_query_latency_positive",
"tests/test_bench.py::TestMetrics::test_ram_mb_positive",
"tests/test_bench.py::TestScalingPresets::test_scales_defined",
"tests/test_bpe_expert.py::TestBPEBrain::test_brain_with_bpe_experts",
"tests/test_bpe_expert.py::TestBPEBrain::test_mixed_char_and_bpe_brain",
"tests/test_bpe_expert.py::TestBPEExpert::test_bpe_answer_better_than_char",
"tests/test_bpe_expert.py::TestBPEExpert::test_bpe_answer_is_string",
"tests/test_bpe_expert.py::TestBPEExpert::test_default_is_char",
"tests/test_bpe_expert.py::TestBPEExpert::test_from_qa_pairs_with_bpe",
"tests/test_bpe_expert.py::TestBPEExpert::test_from_text_with_bpe",
"tests/test_bpe_expert.py::TestBPESaveLoad::test_bpe_expert_smaller_than_source",
"tests/test_bpe_expert.py::TestBPESaveLoad::test_load_bpe_without_tokenizer_raises",
"tests/test_bpe_expert.py::TestBPESaveLoad::test_no_vocab_json_for_bpe",
"tests/test_bpe_expert.py::TestBPESaveLoad::test_round_trip_with_shared_bpe",
"tests/test_bpe_expert.py::TestBuildBPE::test_bpe_is_deterministic",
"tests/test_bpe_expert.py::TestBuildBPE::test_returns_bpe_tokenizer",
"tests/test_brain.py::TestBrainConfig::test_custom_config",
"tests/test_brain.py::TestBrainQuery::test_empty_brain_query",
"tests/test_brain.py::TestBrainQuery::test_per_expert_answers_populated",
"tests/test_brain.py::TestBrainQuery::test_query_returns_result",
"tests/test_brain.py::TestBrainQuery::test_query_routes_to_right_expert",
"tests/test_brain.py::TestBrainRoster::test_add_and_list",
"tests/test_brain.py::TestBrainRoster::test_add_with_custom_name",
"tests/test_brain.py::TestBrainRoster::test_remove",
"tests/test_brain.py::TestBrainSelfModify::test_self_modify_history",
"tests/test_brain.py::TestBrainSelfModify::test_self_modify_returns_result_or_none",
"tests/test_brain.py::TestBrainThink::test_think_concepts_accumulate",
"tests/test_brain.py::TestBrainThink::test_think_returns_result",
"tests/test_brain_memory.py::TestBrainCentralMemory::test_brain_creates_memory_on_first_expert",
"tests/test_brain_memory.py::TestBrainCentralMemory::test_brain_remember_recall",
"tests/test_brain_memory.py::TestBrainCentralMemory::test_brain_save_load_persists_concepts",
"tests/test_brain_memory.py::TestBrainCentralMemory::test_brain_with_D_param",
"tests/test_brain_memory.py::TestBrainCentralMemory::test_think_writes_to_central_memory",
"tests/test_brain_memory.py::TestBrainMemory::test_create_empty",
"tests/test_brain_memory.py::TestBrainMemory::test_dimension_mismatch_raises",
"tests/test_brain_memory.py::TestBrainMemory::test_recall_empty_memory",
"tests/test_brain_memory.py::TestBrainMemory::test_reconstruct",
"tests/test_brain_memory.py::TestBrainMemory::test_remember_and_recall",
"tests/test_brain_memory.py::TestBrainMemory::test_save_load_round_trip",
"tests/test_embedding.py::TestEmbeddingExpert::test_answer_returns_string",
"tests/test_embedding.py::TestEmbeddingExpert::test_candidate_hv",
"tests/test_embedding.py::TestEmbeddingExpert::test_candidate_hv_empty",
"tests/test_embedding.py::TestEmbeddingExpert::test_couples_to_brain",
"tests/test_embedding.py::TestEmbeddingExpert::test_from_corpus_local_builds",
"tests/test_embedding.py::TestEmbeddingExpert::test_get_word_hv",
"tests/test_embedding.py::TestEmbeddingExpert::test_get_word_hv_oov",
"tests/test_embedding.py::TestEmbeddingExpert::test_relevance_positive",
"tests/test_embedding.py::TestEmbeddingExpert::test_semantic_similarity_above_noise",
"tests/test_embedding.py::TestEmbeddingExpert::test_solve_analogy_excludes_slot",
"tests/test_embedding.py::TestEmbeddingExpert::test_solve_analogy_returns_answer",
"tests/test_embedding.py::TestEmbeddingExpert::test_solve_analogy_unknown_relation",
"tests/test_embedding.py::TestProjection::test_dense_to_hv_identical_vectors",
"tests/test_embedding.py::TestProjection::test_different_seeds_differ",
"tests/test_embedding.py::TestProjection::test_dim_mismatch_raises",
"tests/test_embedding.py::TestProjection::test_make_projection_deterministic",
"tests/test_embedding.py::TestProjection::test_make_projection_shape",
"tests/test_embedding.py::TestProjection::test_projection_preserves_cosine",
"tests/test_expert.py::TestExpertBuild::test_different_seeds_give_different_self_hv",
"tests/test_expert.py::TestExpertBuild::test_from_qa_pairs",
"tests/test_expert.py::TestExpertBuild::test_from_text",
"tests/test_expert.py::TestExpertBuild::test_from_text_records_source_stream",
"tests/test_expert.py::TestExpertBuild::test_qa_records_source_pairs",
"tests/test_expert.py::TestExpertBuild::test_signature_is_deterministic",
"tests/test_expert.py::TestExpertCompression::test_expert_directory_structure",
"tests/test_expert.py::TestExpertCompression::test_qa_expert_smaller_than_source",
"tests/test_expert.py::TestExpertCompression::test_text_expert_smaller_than_source",
"tests/test_expert.py::TestExpertDatasetFormats::test_csv_qa",
"tests/test_expert.py::TestExpertDatasetFormats::test_json_qa",
"tests/test_expert.py::TestExpertDatasetFormats::test_jsonl",
"tests/test_expert.py::TestExpertDatasetFormats::test_txt",
"tests/test_expert.py::TestExpertQuery::test_answer_returns_string",
"tests/test_expert.py::TestExpertQuery::test_candidate_hv_returns_hv",
"tests/test_expert.py::TestExpertQuery::test_relevance_returns_float",
"tests/test_expert.py::TestExpertRoundTrip::test_manifest_preserved",
"tests/test_expert.py::TestExpertRoundTrip::test_qa_round_trip",
"tests/test_expert.py::TestExpertRoundTrip::test_text_round_trip",
"tests/test_integration.py::test_compression_at_realistic_size",
"tests/test_integration.py::test_full_pipeline",
"tests/test_integration.py::test_multiple_experts_couple",
"tests/test_structural.py::TestExpertStructural::test_char_level_returns_empty_for_unknown",
"tests/test_structural.py::TestExpertStructural::test_expert_learns_patterns",
"tests/test_structural.py::TestExpertStructural::test_no_patterns_falls_back_to_char",
"tests/test_structural.py::TestExpertStructural::test_relevance_positive_for_pattern",
"tests/test_structural.py::TestExpertStructural::test_unknown_slot_returns_nonempty",
"tests/test_structural.py::TestStructuralBrain::test_brain_routes_structural_expert",
"tests/test_structural.py::TestStructuralEncoder::test_bind_cancels_pattern",
"tests/test_structural.py::TestStructuralEncoder::test_encode_matches",
"tests/test_structural.py::TestStructuralEncoder::test_encode_no_match",
"tests/test_structural.py::TestStructuralEncoder::test_learn_idempotent",
"tests/test_structural.py::TestStructuralEncoder::test_learn_invalid_template",
"tests/test_structural.py::TestStructuralEncoder::test_learn_pattern",
"tests/test_structural.py::TestStructuralEncoder::test_nearest_slot_empty",
"tests/test_structural.py::TestStructuralEncoder::test_observe_and_nearest_slot",
"tests/test_structural.py::TestStructuralEncoder::test_slot_hv_stable",
"tests/test_structural.py::TestStructuralEncoder::test_to_from_dict_roundtrip"
]