Merge PR #9: feat(soul): wire consciousness layers — L0->L1->L2->L3->L1 cycle
Resolves conflicts by keeping main's full safety/stewardship/imprint implementations. PR #9 uniquely contributes: layered_cycle() in soul.el, route wiring in routes.el, soul.elh export, and the layer composition test suite.
This commit is contained in:
@@ -4,6 +4,7 @@ import "chat.el"
|
||||
import "studio.el"
|
||||
import "elp-input.el"
|
||||
import "neuron-api.el"
|
||||
import "soul.elh"
|
||||
|
||||
fn strip_query(path: String) -> String {
|
||||
let q: Int = str_index_of(path, "?")
|
||||
@@ -34,7 +35,8 @@ fn route_health() -> String {
|
||||
+ ",\"boot\":" + boot_num
|
||||
+ ",\"node_count\":" + int_to_str(node_ct)
|
||||
+ ",\"edge_count\":" + int_to_str(edge_ct)
|
||||
+ ",\"pulse\":" + pulse_num + "}"
|
||||
+ ",\"pulse\":" + pulse_num
|
||||
+ ",\"layers\":{\"l0\":\"core\",\"l1\":\"safety\",\"l2\":\"stewardship\",\"l3\":\"" + imprint_current() + "\"}}"
|
||||
}
|
||||
|
||||
fn route_lineage() -> String {
|
||||
@@ -143,10 +145,12 @@ fn handle_dharma_recv(body: String) -> String {
|
||||
eff_payload
|
||||
}
|
||||
let agentic_flag: Bool = json_get_bool(eff_payload, "agentic")
|
||||
let raw_msg: String = json_get(chat_body, "message")
|
||||
let reply: String = if agentic_flag {
|
||||
handle_chat_agentic(chat_body)
|
||||
} else {
|
||||
handle_chat(chat_body)
|
||||
let screened_reply: String = layered_cycle(raw_msg)
|
||||
screened_reply
|
||||
}
|
||||
auto_persist(chat_body, reply)
|
||||
return reply
|
||||
@@ -231,7 +235,22 @@ fn handle_request(method: String, path: String, body: String) -> String {
|
||||
return if str_eq(edges_raw, "") { "[]" } else { edges_raw }
|
||||
}
|
||||
if str_eq(clean, "/api/chat") {
|
||||
return handle_chat(body)
|
||||
// GET /api/chat: pass through layered_cycle for consistency with POST path.
|
||||
// GET chat is a legacy probe interface; body may be empty for simple pings.
|
||||
let raw_msg: String = json_get(body, "message")
|
||||
let eff_msg: String = if str_eq(raw_msg, "") { body } else { raw_msg }
|
||||
if str_eq(eff_msg, "") {
|
||||
return "{\"error\":\"message required\"}"
|
||||
}
|
||||
let agentic_flag: Bool = json_get_bool(body, "agentic")
|
||||
let reply: String = if agentic_flag {
|
||||
handle_chat_agentic(body)
|
||||
} else {
|
||||
let screened_reply: String = layered_cycle(eff_msg)
|
||||
screened_reply
|
||||
}
|
||||
auto_persist(body, reply)
|
||||
return reply
|
||||
}
|
||||
if str_eq(clean, "/api/conversations") {
|
||||
return handle_conversations(method)
|
||||
@@ -329,10 +348,12 @@ fn handle_request(method: String, path: String, body: String) -> String {
|
||||
}
|
||||
if str_eq(clean, "/api/chat") {
|
||||
let agentic_flag: Bool = json_get_bool(body, "agentic")
|
||||
let raw_msg: String = json_get(body, "message")
|
||||
let reply: String = if agentic_flag {
|
||||
handle_chat_agentic(body)
|
||||
} else {
|
||||
handle_chat(body)
|
||||
let screened_reply: String = layered_cycle(raw_msg)
|
||||
screened_reply
|
||||
}
|
||||
auto_persist(body, reply)
|
||||
return reply
|
||||
|
||||
Reference in New Issue
Block a user