config: drop dead code and collapse to a single backend
Config had accumulated several obsolete fields, a legacy load path
that was just returning defaults, and multi-backend infrastructure
that's no longer used.
Removed from Config (memory section):
- load_legacy_jsonl() — just returned Config::default(), no callers
- The legacy-fallback branch in load_from_file
- surface_hooks, surface_timeout_secs — zero external readers
- scoring_chunk_tokens + default fn — zero external readers
- The POC_MEMORY_CONFIG env override note in the header comment
(not actually wired up anywhere)
Collapsed multi-backend to single-backend:
- AppConfig used to carry `anthropic: BackendConfig` and
`openrouter: BackendConfig` as required fields plus an optional
`deepinfra`, picked between at runtime by name. Only one is ever
actually used in any deployment. Collapse to a single
`backend: BackendConfig` on AppConfig, drop the multi-backend
match logic in resolve_model, drop the top-level `backend: String`
selector field, drop the `BackendConfig::resolve` fallback path.
- Also drop BackendConfig.model (redundant with ModelConfig.model_id
once multi-backend is gone).
- ModelConfig.backend field goes — there's only one backend now, no
choice to make.
Dead prompt_file machinery:
- ModelConfig.prompt_file, ResolvedModel.prompt_file, SessionConfig
.prompt_file, Agent.prompt_file — nothing in the codebase actually
reads the file these strings name. Just passed around and compared.
Delete the whole string through every struct.
- The "if prompt_file changed on model switch, recompact" branch in
user/chat.rs goes too (never fired usefully).
Dead memory_project plumbing:
- AppConfig.memory_project field, CliArgs.memory_project, the
--memory-project CLI flag, the figment merge target, the show_config
display line. Nothing reads it anywhere.
Dead ContextInfo struct:
- `struct ContextInfo` was never constructed — context_info: None
was the only initializer. The conditional display blocks in
user/context.rs that dereferenced it were dead.
Behavior change: AppConfig::resolve() now requires a non-empty
`models` map and bails with a helpful message if it's missing. The
old fallback ("no models? use top-level backend + PromptConfig to
build a default") path is gone — it was only kept for symmetry with
a mode nobody used.
Config file shape: `deepinfra: {...}` → `backend: {...}`, and
model entries no longer need `backend:` or `prompt_file:`. Updated
~/.consciousness/config.json5 to match.
Co-Authored-By: Proof of Concept <poc@bcachefs.org>
This commit is contained in:
parent
0e6b5dc8be
commit
2989a6afaa
8 changed files with 37 additions and 205 deletions
|
|
@ -139,7 +139,6 @@ impl DispatchState {
|
|||
pub struct Agent {
|
||||
pub client: ApiClient,
|
||||
pub app_config: crate::config::AppConfig,
|
||||
pub prompt_file: String,
|
||||
pub session_id: String,
|
||||
pub context: crate::Mutex<ContextState>,
|
||||
pub state: crate::Mutex<AgentState>,
|
||||
|
|
@ -189,7 +188,6 @@ impl Agent {
|
|||
client: ApiClient,
|
||||
personality: Vec<(String, String)>,
|
||||
app_config: crate::config::AppConfig,
|
||||
prompt_file: String,
|
||||
conversation_log: Option<ConversationLog>,
|
||||
active_tools: tools::ActiveTools,
|
||||
agent_tools: Vec<tools::Tool>,
|
||||
|
|
@ -220,7 +218,6 @@ impl Agent {
|
|||
let agent = Arc::new(Self {
|
||||
client,
|
||||
app_config,
|
||||
prompt_file,
|
||||
session_id,
|
||||
context: crate::Mutex::new(context),
|
||||
state: crate::Mutex::new(AgentState {
|
||||
|
|
@ -259,7 +256,6 @@ impl Agent {
|
|||
Arc::new(Self {
|
||||
client: self.client.clone(),
|
||||
app_config: self.app_config.clone(),
|
||||
prompt_file: self.prompt_file.clone(),
|
||||
session_id: self.session_id.clone(),
|
||||
context: crate::Mutex::new(ctx),
|
||||
state: crate::Mutex::new(AgentState {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue