// test_stewardship_profile.el — tests for behavioral profiling and continuity detection // Layer 2 (Stewardship): steward_fingerprint_session, steward_build_baseline, // steward_check_continuity, steward_session_check import "stewardship.el" // test_fingerprint_short_casual — short casual input returns JSON with all 6 fields present. // Input: "hey whats up" (12 chars, no punctuation, no formal markers, no question) fn test_fingerprint_short_casual() -> Bool { let result: String = steward_fingerprint_session("hey whats up", "test-session-1") let has_wl: Bool = str_contains(result, "\"avg_word_len\":") let has_ps: Bool = str_contains(result, "\"punct\":") let has_lb: Bool = str_contains(result, "\"len\":") let has_qr: Bool = str_contains(result, "\"question\":") let has_fs: Bool = str_contains(result, "\"formality\":") let has_tb: Bool = str_contains(result, "\"time\":") let all_fields: Bool = has_wl && has_ps && has_lb && has_qr && has_fs && has_tb println("[test_fingerprint_short_casual] result=" + result + " pass=" + if all_fields { "true" } else { "false" }) return all_fields } // test_fingerprint_formal_long — long formal input yields formality=2, len=3. // Input: a formal request over 200 chars with "please" and "could you". fn test_fingerprint_formal_long() -> Bool { let long_formal: String = "I would appreciate it if you could you please provide a comprehensive analysis of the behavioral profiling system, including all edge cases and expected outcomes for each possible dimension value that may be encountered." let result: String = steward_fingerprint_session(long_formal, "test-session-2") let formality_ok: Bool = str_contains(result, "\"formality\":\"2\"") let len_ok: Bool = str_contains(result, "\"len\":\"3\"") println("[test_fingerprint_formal_long] result=" + result + " formality_ok=" + if formality_ok { "true" } else { "false" } + " len_ok=" + if len_ok { "true" } else { "false" }) return formality_ok && len_ok } // test_fingerprint_question — input containing "?" yields question=1. fn test_fingerprint_question() -> Bool { let result: String = steward_fingerprint_session("Could you help me with this?", "test-session-3") let question_ok: Bool = str_contains(result, "\"question\":\"1\"") println("[test_fingerprint_question] result=" + result + " pass=" + if question_ok { "true" } else { "false" }) return question_ok } // test_fingerprint_time_valid — time_bucket field is between 1 and 4 (inclusive). fn test_fingerprint_time_valid() -> Bool { let result: String = steward_fingerprint_session("any input at all", "test-session-4") let t1: Bool = str_contains(result, "\"time\":\"1\"") let t2: Bool = str_contains(result, "\"time\":\"2\"") let t3: Bool = str_contains(result, "\"time\":\"3\"") let t4: Bool = str_contains(result, "\"time\":\"4\"") let time_valid: Bool = t1 || t2 || t3 || t4 println("[test_fingerprint_time_valid] result=" + result + " pass=" + if time_valid { "true" } else { "false" }) return time_valid } // test_baseline_no_data — with a fresh/empty engram, sample_count is "0" and baseline is null. // Note: in a real test environment there may be pre-existing nodes; this test verifies // the response shape is always valid JSON with "sample_count" and "baseline" keys. fn test_baseline_no_data() -> Bool { let result: String = steward_build_baseline() let has_baseline_key: Bool = str_contains(result, "\"baseline\":") let has_sample_count: Bool = str_contains(result, "\"sample_count\":") let is_null_or_obj: Bool = str_contains(result, "\"baseline\":null") || str_contains(result, "\"baseline\":{") let valid: Bool = has_baseline_key && has_sample_count && is_null_or_obj println("[test_baseline_no_data] result=" + result + " pass=" + if valid { "true" } else { "false" }) return valid } // test_check_continuity_learning — when baseline returns null (< 5 samples), status == "learning". // We simulate by calling steward_check_continuity with a fingerprint and checking the response // when there are not enough samples stored yet. fn test_check_continuity_learning() -> Bool { // Provide a fingerprint JSON string as if returned by steward_fingerprint_session. let fake_fp: String = "{\"avg_word_len\":\"1\",\"punct\":\"1\",\"len\":\"1\",\"question\":\"0\",\"formality\":\"1\",\"time\":\"2\"}" let result: String = steward_check_continuity(fake_fp, "test-session-6") // If there are < 5 samples in engram, status should be "learning". // If there happen to be >= 5 samples (pre-existing data), we accept any valid status. let is_learning: Bool = str_contains(result, "\"status\":\"learning\"") let is_other: Bool = str_contains(result, "\"status\":\"consistent\"") || str_contains(result, "\"status\":\"drift\"") || str_contains(result, "\"status\":\"discontinuity\"") || str_contains(result, "\"status\":\"anomaly\"") let has_status: Bool = is_learning || is_other println("[test_check_continuity_learning] result=" + result + " has_status=" + if has_status { "true" } else { "false" }) return has_status } // test_session_check_valid_json — steward_session_check returns valid JSON with "status" field. fn test_session_check_valid_json() -> Bool { let result: String = steward_session_check("hello world", "test-session-7") let has_status: Bool = str_contains(result, "\"status\":") let has_action: Bool = str_contains(result, "\"action\":") let valid: Bool = has_status && has_action println("[test_session_check_valid_json] result=" + result + " pass=" + if valid { "true" } else { "false" }) return valid } // test_check_continuity_consistent — when current fingerprint matches baseline, status == "consistent". // We seed engram with several identical BehaviorSample nodes then check against the same fingerprint. fn test_check_continuity_consistent() -> Bool { // Seed 6 identical BehaviorSample nodes to establish a baseline let sample: String = "BEHAVIOR_SAMPLE session=seed avg_word_len=2 punct=1 len=2 question=0 formality=1 time=2" let tags: String = "[\"behavior\",\"BehaviorSample\",\"stewardship\"]" let d1: String = engram_node_full(sample, "BehaviorSample", "behavior:seed", el_from_float(0.6), el_from_float(0.5), el_from_float(0.8), "Episodic", tags) let d2: String = engram_node_full(sample, "BehaviorSample", "behavior:seed", el_from_float(0.6), el_from_float(0.5), el_from_float(0.8), "Episodic", tags) let d3: String = engram_node_full(sample, "BehaviorSample", "behavior:seed", el_from_float(0.6), el_from_float(0.5), el_from_float(0.8), "Episodic", tags) let d4: String = engram_node_full(sample, "BehaviorSample", "behavior:seed", el_from_float(0.6), el_from_float(0.5), el_from_float(0.8), "Episodic", tags) let d5: String = engram_node_full(sample, "BehaviorSample", "behavior:seed", el_from_float(0.6), el_from_float(0.5), el_from_float(0.8), "Episodic", tags) let d6: String = engram_node_full(sample, "BehaviorSample", "behavior:seed", el_from_float(0.6), el_from_float(0.5), el_from_float(0.8), "Episodic", tags) // Fingerprint matching the seeded baseline let fp: String = "{\"avg_word_len\":\"2\",\"punct\":\"1\",\"len\":\"2\",\"question\":\"0\",\"formality\":\"1\",\"time\":\"2\"}" let result: String = steward_check_continuity(fp, "test-session-8") let is_consistent: Bool = str_contains(result, "\"status\":\"consistent\"") println("[test_check_continuity_consistent] result=" + result + " pass=" + if is_consistent { "true" } else { "false" }) return is_consistent } // test_fingerprint_all_fields_present — verify all 6 keys appear in every fingerprint output. fn test_fingerprint_all_fields_present() -> Bool { let result: String = steward_fingerprint_session("Please could you help me understand this complex topic in detail, providing examples and step-by-step explanations that cover all the edge cases I might encounter while working with this system?", "test-session-9") let has_wl: Bool = str_contains(result, "\"avg_word_len\":") let has_ps: Bool = str_contains(result, "\"punct\":") let has_lb: Bool = str_contains(result, "\"len\":") let has_qr: Bool = str_contains(result, "\"question\":") let has_fs: Bool = str_contains(result, "\"formality\":") let has_tb: Bool = str_contains(result, "\"time\":") let all_present: Bool = has_wl && has_ps && has_lb && has_qr && has_fs && has_tb println("[test_fingerprint_all_fields_present] result=" + result + " pass=" + if all_present { "true" } else { "false" }) return all_present } // run_all_tests — execute all test cases and report results. fn run_all_tests() -> Void { let r1: Bool = test_fingerprint_short_casual() let r2: Bool = test_fingerprint_formal_long() let r3: Bool = test_fingerprint_question() let r4: Bool = test_fingerprint_time_valid() let r5: Bool = test_baseline_no_data() let r6: Bool = test_check_continuity_learning() let r7: Bool = test_session_check_valid_json() let r8: Bool = test_check_continuity_consistent() let r9: Bool = test_fingerprint_all_fields_present() let passed: Int = 0 let passed = if r1 { passed + 1 } else { passed } let passed = if r2 { passed + 1 } else { passed } let passed = if r3 { passed + 1 } else { passed } let passed = if r4 { passed + 1 } else { passed } let passed = if r5 { passed + 1 } else { passed } let passed = if r6 { passed + 1 } else { passed } let passed = if r7 { passed + 1 } else { passed } let passed = if r8 { passed + 1 } else { passed } let passed = if r9 { passed + 1 } else { passed } println("[test_stewardship_profile] " + int_to_str(passed) + "/9 passed") }