Skip to content

Commit c2e6c7c

Browse files
authored
Merge pull request #583 from spacedriveapp/agentic-backend-readiness
agentic-backend-readiness: per-agent secret isolation, dormant cortex, structured worker outcomes
2 parents 8fb07b8 + 7e99156 commit c2e6c7c

34 files changed

Lines changed: 2785 additions & 489 deletions

docs/design-docs/agentic-backend-readiness.md

Lines changed: 389 additions & 0 deletions
Large diffs are not rendered by default.

src/agent.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,11 @@ pub mod cortex_chat;
1212
pub mod ingestion;
1313
#[cfg(test)]
1414
mod invariant_harness;
15+
pub mod maintenance;
1516
pub mod process_control;
1617
pub mod prompt_snapshot;
1718
pub mod status;
19+
pub mod wake;
1820
pub mod worker;
1921

2022
pub(crate) fn panic_payload_to_string(panic_payload: &(dyn std::any::Any + Send)) -> String {

src/agent/branch.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ impl Branch {
247247
// Layer 1: exact-match redaction of known secrets from the store.
248248
// Layer 2: regex-based redaction of unknown secret patterns.
249249
let conclusion = if let Some(store) = self.deps.runtime_config.secrets.load().as_ref() {
250-
crate::secrets::scrub::scrub_with_store(&conclusion, store)
250+
crate::secrets::scrub::scrub_with_store(&conclusion, store, &self.deps.agent_id)
251251
} else {
252252
conclusion
253253
};

src/agent/channel.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -870,13 +870,17 @@ impl Channel {
870870
let has_links =
871871
!crate::links::links_for_agent(&deps.links.load(), &deps.agent_id).is_empty();
872872
if has_links {
873-
Some(crate::tools::SendAgentMessageTool::new(
873+
let mut tool = crate::tools::SendAgentMessageTool::new(
874874
deps.agent_id.clone(),
875875
deps.links.clone(),
876876
deps.agent_names.clone(),
877877
deps.task_store.clone(),
878878
ConversationLogger::new(deps.sqlite_pool.clone()),
879-
))
879+
);
880+
if let Some(wake_tx) = deps.wake_tx.clone() {
881+
tool = tool.with_wake_tx(wake_tx);
882+
}
883+
Some(tool)
880884
} else {
881885
None
882886
}

0 commit comments

Comments
 (0)