From 2f3fbb3353c10da1640dbecc80198ddbf7ec6525 Mon Sep 17 00:00:00 2001 From: ProofOfConcept Date: Wed, 25 Mar 2026 01:09:49 -0400 Subject: [PATCH] subconscious: flatten agents/ nesting, move prompts in agents/*.agent definitions and prompts/ now live under src/subconscious/ alongside the code that uses them. No more intermediate agents/ subdirectory. Co-Authored-By: Proof of Concept --- Cargo.lock | 28 ----------------- src/hippocampus/config.rs | 2 +- src/lib.rs | 4 +-- .../subconscious/agents}/calibrate.agent | 0 .../subconscious/agents}/challenger.agent | 0 .../subconscious/agents}/compare.agent | 0 .../subconscious/agents}/connector.agent | 0 .../subconscious/agents}/digest.agent | 0 .../subconscious/agents}/distill.agent | 0 .../subconscious/agents}/evaluate.agent | 0 .../subconscious/agents}/extractor.agent | 0 .../subconscious/agents}/health.agent | 0 .../subconscious/agents}/linker.agent | 0 src/subconscious/agents/mod.rs | 28 ----------------- .../subconscious/agents}/naming.agent | 0 .../subconscious/agents}/observation.agent | 0 .../subconscious/agents}/organize.agent | 0 .../subconscious/agents}/reflect.agent | 0 .../subconscious/agents}/rename.agent | 0 .../subconscious/agents}/replay.agent | 0 .../subconscious/agents}/separator.agent | 0 .../subconscious/agents}/split.agent | 0 .../subconscious/agents}/surface.agent | 0 .../subconscious/agents}/transfer.agent | 0 src/subconscious/{agents => }/api.rs | 0 src/subconscious/{agents => }/audit.rs | 0 src/subconscious/{agents => }/consolidate.rs | 0 src/subconscious/{agents => }/daemon.rs | 0 src/subconscious/{agents => }/defs.rs | 2 +- src/subconscious/{agents => }/digest.rs | 0 src/subconscious/{agents => }/enrich.rs | 0 src/subconscious/{agents => }/knowledge.rs | 0 src/subconscious/{agents => }/llm.rs | 0 src/subconscious/mod.rs | 31 ++++++++++++++++--- src/subconscious/{agents => }/prompts.rs | 0 .../subconscious/prompts}/README.md | 0 .../subconscious/prompts}/digest.md | 0 .../subconscious/prompts}/experience.md | 0 .../subconscious/prompts}/journal-enrich.md | 0 .../subconscious/prompts}/split-extract.md | 0 src/subconscious/{agents => }/transcript.rs | 0 41 files changed, 30 insertions(+), 65 deletions(-) rename {agents => src/subconscious/agents}/calibrate.agent (100%) rename {agents => src/subconscious/agents}/challenger.agent (100%) rename {agents => src/subconscious/agents}/compare.agent (100%) rename {agents => src/subconscious/agents}/connector.agent (100%) rename {agents => src/subconscious/agents}/digest.agent (100%) rename {agents => src/subconscious/agents}/distill.agent (100%) rename {agents => src/subconscious/agents}/evaluate.agent (100%) rename {agents => src/subconscious/agents}/extractor.agent (100%) rename {agents => src/subconscious/agents}/health.agent (100%) rename {agents => src/subconscious/agents}/linker.agent (100%) delete mode 100644 src/subconscious/agents/mod.rs rename {agents => src/subconscious/agents}/naming.agent (100%) rename {agents => src/subconscious/agents}/observation.agent (100%) rename {agents => src/subconscious/agents}/organize.agent (100%) rename {agents => src/subconscious/agents}/reflect.agent (100%) rename {agents => src/subconscious/agents}/rename.agent (100%) rename {agents => src/subconscious/agents}/replay.agent (100%) rename {agents => src/subconscious/agents}/separator.agent (100%) rename {agents => src/subconscious/agents}/split.agent (100%) rename {agents => src/subconscious/agents}/surface.agent (100%) rename {agents => src/subconscious/agents}/transfer.agent (100%) rename src/subconscious/{agents => }/api.rs (100%) rename src/subconscious/{agents => }/audit.rs (100%) rename src/subconscious/{agents => }/consolidate.rs (100%) rename src/subconscious/{agents => }/daemon.rs (100%) rename src/subconscious/{agents => }/defs.rs (99%) rename src/subconscious/{agents => }/digest.rs (100%) rename src/subconscious/{agents => }/enrich.rs (100%) rename src/subconscious/{agents => }/knowledge.rs (100%) rename src/subconscious/{agents => }/llm.rs (100%) rename src/subconscious/{agents => }/prompts.rs (100%) rename {prompts => src/subconscious/prompts}/README.md (100%) rename {prompts => src/subconscious/prompts}/digest.md (100%) rename {prompts => src/subconscious/prompts}/experience.md (100%) rename {prompts => src/subconscious/prompts}/journal-enrich.md (100%) rename {prompts => src/subconscious/prompts}/split-extract.md (100%) rename src/subconscious/{agents => }/transcript.rs (100%) diff --git a/Cargo.lock b/Cargo.lock index 3583ecd..4db94e4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -467,7 +467,6 @@ dependencies = [ "iana-time-zone", "js-sys", "num-traits", - "serde", "wasm-bindgen", "windows-link", ] @@ -2759,33 +2758,6 @@ dependencies = [ "time", ] -[[package]] -name = "poc-agent" -version = "0.4.0" -dependencies = [ - "anyhow", - "base64 0.22.1", - "chrono", - "clap", - "crossterm", - "dirs", - "figment", - "futures", - "glob", - "json5", - "libc", - "ratatui", - "reqwest", - "serde", - "serde_json", - "tiktoken-rs", - "tokio", - "tui-markdown", - "tui-textarea-2", - "unicode-width", - "walkdir", -] - [[package]] name = "poc-daemon" version = "0.4.0" diff --git a/src/hippocampus/config.rs b/src/hippocampus/config.rs index eb7d6d4..0ce761a 100644 --- a/src/hippocampus/config.rs +++ b/src/hippocampus/config.rs @@ -108,7 +108,7 @@ impl Default for Config { ], llm_concurrency: 1, agent_budget: 1000, - prompts_dir: home.join("poc/memory/prompts"), + prompts_dir: home.join("poc/consciousness/src/subconscious/prompts"), agent_config_dir: None, api_base_url: None, api_key: None, diff --git a/src/lib.rs b/src/lib.rs index 1773073..d7835a2 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -36,8 +36,8 @@ pub use hippocampus::{ pub use hippocampus::query::engine as search; pub use hippocampus::query::parser as query_parser; -pub use subconscious::agents; -pub use subconscious::agents::{ +pub use subconscious as agents; +pub use subconscious::{ llm, audit, consolidate, knowledge, enrich, digest, daemon, }; diff --git a/agents/calibrate.agent b/src/subconscious/agents/calibrate.agent similarity index 100% rename from agents/calibrate.agent rename to src/subconscious/agents/calibrate.agent diff --git a/agents/challenger.agent b/src/subconscious/agents/challenger.agent similarity index 100% rename from agents/challenger.agent rename to src/subconscious/agents/challenger.agent diff --git a/agents/compare.agent b/src/subconscious/agents/compare.agent similarity index 100% rename from agents/compare.agent rename to src/subconscious/agents/compare.agent diff --git a/agents/connector.agent b/src/subconscious/agents/connector.agent similarity index 100% rename from agents/connector.agent rename to src/subconscious/agents/connector.agent diff --git a/agents/digest.agent b/src/subconscious/agents/digest.agent similarity index 100% rename from agents/digest.agent rename to src/subconscious/agents/digest.agent diff --git a/agents/distill.agent b/src/subconscious/agents/distill.agent similarity index 100% rename from agents/distill.agent rename to src/subconscious/agents/distill.agent diff --git a/agents/evaluate.agent b/src/subconscious/agents/evaluate.agent similarity index 100% rename from agents/evaluate.agent rename to src/subconscious/agents/evaluate.agent diff --git a/agents/extractor.agent b/src/subconscious/agents/extractor.agent similarity index 100% rename from agents/extractor.agent rename to src/subconscious/agents/extractor.agent diff --git a/agents/health.agent b/src/subconscious/agents/health.agent similarity index 100% rename from agents/health.agent rename to src/subconscious/agents/health.agent diff --git a/agents/linker.agent b/src/subconscious/agents/linker.agent similarity index 100% rename from agents/linker.agent rename to src/subconscious/agents/linker.agent diff --git a/src/subconscious/agents/mod.rs b/src/subconscious/agents/mod.rs deleted file mode 100644 index 1f889bd..0000000 --- a/src/subconscious/agents/mod.rs +++ /dev/null @@ -1,28 +0,0 @@ -// Agent layer: LLM-powered operations on the memory graph -// -// Everything here calls external models (Sonnet, Haiku) or orchestrates -// sequences of such calls. The core graph infrastructure (store, graph, -// spectral, search, similarity) lives at the crate root. -// -// llm — model invocation, response parsing -// prompts — prompt generation from store data -// defs — agent file loading and placeholder resolution -// audit — link quality review via Sonnet -// consolidate — full consolidation pipeline -// knowledge — agent execution, conversation fragment selection -// enrich — journal enrichment, experience mining -// digest — episodic digest generation (daily/weekly/monthly) -// daemon — background job scheduler -// transcript — shared JSONL transcript parsing - -pub mod transcript; -pub mod api; -pub mod llm; -pub mod prompts; -pub mod defs; -pub mod audit; -pub mod consolidate; -pub mod knowledge; -pub mod enrich; -pub mod digest; -pub mod daemon; diff --git a/agents/naming.agent b/src/subconscious/agents/naming.agent similarity index 100% rename from agents/naming.agent rename to src/subconscious/agents/naming.agent diff --git a/agents/observation.agent b/src/subconscious/agents/observation.agent similarity index 100% rename from agents/observation.agent rename to src/subconscious/agents/observation.agent diff --git a/agents/organize.agent b/src/subconscious/agents/organize.agent similarity index 100% rename from agents/organize.agent rename to src/subconscious/agents/organize.agent diff --git a/agents/reflect.agent b/src/subconscious/agents/reflect.agent similarity index 100% rename from agents/reflect.agent rename to src/subconscious/agents/reflect.agent diff --git a/agents/rename.agent b/src/subconscious/agents/rename.agent similarity index 100% rename from agents/rename.agent rename to src/subconscious/agents/rename.agent diff --git a/agents/replay.agent b/src/subconscious/agents/replay.agent similarity index 100% rename from agents/replay.agent rename to src/subconscious/agents/replay.agent diff --git a/agents/separator.agent b/src/subconscious/agents/separator.agent similarity index 100% rename from agents/separator.agent rename to src/subconscious/agents/separator.agent diff --git a/agents/split.agent b/src/subconscious/agents/split.agent similarity index 100% rename from agents/split.agent rename to src/subconscious/agents/split.agent diff --git a/agents/surface.agent b/src/subconscious/agents/surface.agent similarity index 100% rename from agents/surface.agent rename to src/subconscious/agents/surface.agent diff --git a/agents/transfer.agent b/src/subconscious/agents/transfer.agent similarity index 100% rename from agents/transfer.agent rename to src/subconscious/agents/transfer.agent diff --git a/src/subconscious/agents/api.rs b/src/subconscious/api.rs similarity index 100% rename from src/subconscious/agents/api.rs rename to src/subconscious/api.rs diff --git a/src/subconscious/agents/audit.rs b/src/subconscious/audit.rs similarity index 100% rename from src/subconscious/agents/audit.rs rename to src/subconscious/audit.rs diff --git a/src/subconscious/agents/consolidate.rs b/src/subconscious/consolidate.rs similarity index 100% rename from src/subconscious/agents/consolidate.rs rename to src/subconscious/consolidate.rs diff --git a/src/subconscious/agents/daemon.rs b/src/subconscious/daemon.rs similarity index 100% rename from src/subconscious/agents/daemon.rs rename to src/subconscious/daemon.rs diff --git a/src/subconscious/agents/defs.rs b/src/subconscious/defs.rs similarity index 99% rename from src/subconscious/agents/defs.rs rename to src/subconscious/defs.rs index 3c0f52b..3f5b0b7 100644 --- a/src/subconscious/agents/defs.rs +++ b/src/subconscious/defs.rs @@ -88,7 +88,7 @@ fn parse_agent_file(content: &str) -> Option { } fn agents_dir() -> PathBuf { - let repo = PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("agents"); + let repo = PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("src/subconscious/agents"); if repo.is_dir() { return repo; } crate::store::memory_dir().join("agents") } diff --git a/src/subconscious/agents/digest.rs b/src/subconscious/digest.rs similarity index 100% rename from src/subconscious/agents/digest.rs rename to src/subconscious/digest.rs diff --git a/src/subconscious/agents/enrich.rs b/src/subconscious/enrich.rs similarity index 100% rename from src/subconscious/agents/enrich.rs rename to src/subconscious/enrich.rs diff --git a/src/subconscious/agents/knowledge.rs b/src/subconscious/knowledge.rs similarity index 100% rename from src/subconscious/agents/knowledge.rs rename to src/subconscious/knowledge.rs diff --git a/src/subconscious/agents/llm.rs b/src/subconscious/llm.rs similarity index 100% rename from src/subconscious/agents/llm.rs rename to src/subconscious/llm.rs diff --git a/src/subconscious/mod.rs b/src/subconscious/mod.rs index a85ff0c..1f889bd 100644 --- a/src/subconscious/mod.rs +++ b/src/subconscious/mod.rs @@ -1,7 +1,28 @@ -// subconscious — autonomous agents that process without being asked +// Agent layer: LLM-powered operations on the memory graph // -// Reflect, surface, consolidate, digest, audit — the background -// processes that maintain and evolve the memory graph. Runs on -// local models via the API backend. +// Everything here calls external models (Sonnet, Haiku) or orchestrates +// sequences of such calls. The core graph infrastructure (store, graph, +// spectral, search, similarity) lives at the crate root. +// +// llm — model invocation, response parsing +// prompts — prompt generation from store data +// defs — agent file loading and placeholder resolution +// audit — link quality review via Sonnet +// consolidate — full consolidation pipeline +// knowledge — agent execution, conversation fragment selection +// enrich — journal enrichment, experience mining +// digest — episodic digest generation (daily/weekly/monthly) +// daemon — background job scheduler +// transcript — shared JSONL transcript parsing -pub mod agents; +pub mod transcript; +pub mod api; +pub mod llm; +pub mod prompts; +pub mod defs; +pub mod audit; +pub mod consolidate; +pub mod knowledge; +pub mod enrich; +pub mod digest; +pub mod daemon; diff --git a/src/subconscious/agents/prompts.rs b/src/subconscious/prompts.rs similarity index 100% rename from src/subconscious/agents/prompts.rs rename to src/subconscious/prompts.rs diff --git a/prompts/README.md b/src/subconscious/prompts/README.md similarity index 100% rename from prompts/README.md rename to src/subconscious/prompts/README.md diff --git a/prompts/digest.md b/src/subconscious/prompts/digest.md similarity index 100% rename from prompts/digest.md rename to src/subconscious/prompts/digest.md diff --git a/prompts/experience.md b/src/subconscious/prompts/experience.md similarity index 100% rename from prompts/experience.md rename to src/subconscious/prompts/experience.md diff --git a/prompts/journal-enrich.md b/src/subconscious/prompts/journal-enrich.md similarity index 100% rename from prompts/journal-enrich.md rename to src/subconscious/prompts/journal-enrich.md diff --git a/prompts/split-extract.md b/src/subconscious/prompts/split-extract.md similarity index 100% rename from prompts/split-extract.md rename to src/subconscious/prompts/split-extract.md diff --git a/src/subconscious/agents/transcript.rs b/src/subconscious/transcript.rs similarity index 100% rename from src/subconscious/agents/transcript.rs rename to src/subconscious/transcript.rs