Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
e363ab1
feat(turns): runtime-context communication slice types and rendering
henrypark133 Jun 12, 2026
7c73f84
feat(reborn): wire communication runtime-context slice and run origins
henrypark133 Jun 12, 2026
85633b8
fix(reborn): apply code-review fixes to communication context slice
henrypark133 Jun 13, 2026
a8ccf0b
docs: ProductContextFactory design spec (#4828 follow-up)
henrypark133 Jun 13, 2026
4b28f17
fix(reborn): address PR #4836 review — origin integrity, honest chann…
henrypark133 Jun 13, 2026
1f69fe0
docs: ProductContextFactory implementation plan (#4828 follow-up)
henrypark133 Jun 13, 2026
5e82de0
feat(turns): generic ProductTurnContext types, replacing TurnRunOrigin
henrypark133 Jun 13, 2026
74c18b3
feat(product-context): ingress resolver crate (resolve_inbound/resolv…
henrypark133 Jun 13, 2026
7934d6d
refactor(turns): carry product_context on turns, drop run_origin
henrypark133 Jun 13, 2026
1700439
refactor: resolve product_context at the four ingress submit sites
henrypark133 Jun 13, 2026
24527a7
refactor(reborn): migrate test mocks/fixtures to product_context
henrypark133 Jun 13, 2026
686fe25
chore: migrate remaining loop_support/host_runtime test literals to p…
henrypark133 Jun 13, 2026
a146c1d
fix(product-context): address PR review — skip discarded fetch, threa…
henrypark133 Jun 13, 2026
feb2723
refactor(product-context): seal ProductTurnContext construction + col…
henrypark133 Jun 13, 2026
8674cec
refactor(runtime-context): render run origin from LoopRuntimeContext,…
henrypark133 Jun 13, 2026
6af4ef0
fix(runtime-context): degrade model-unsafe labels instead of failing …
henrypark133 Jun 13, 2026
40e5cf8
fix(product-context): address 2nd-round PR review — docs, channel-lis…
henrypark133 Jun 14, 2026
d508561
docs(runtime-context): clarify scheduled-trigger warning requires kno…
henrypark133 Jun 14, 2026
dab3c99
fix(context-slice): address PR review — dedup, surface reuse, tests, …
henrypark133 Jun 14, 2026
0224880
perf(context-slice): overlap advisory communication fetch with loop s…
henrypark133 Jun 14, 2026
64e7fd3
obs(context-slice): debug! when trigger run renders with no comm slice
henrypark133 Jun 14, 2026
dbada4f
fix(context-slice): address PR #4836 review — WebUI owner, observabil…
henrypark133 Jun 14, 2026
af83b34
docs(context-slice): address PR #4836 review — doc/comment hygiene
henrypark133 Jun 14, 2026
9ba4472
fix(context-slice): seal trigger origin via typed evidence; address P…
henrypark133 Jun 14, 2026
f28ddd7
Merge remote-tracking branch 'origin/main' into context-slice-4828
henrypark133 Jun 14, 2026
2011dd9
fix(context-slice): address PR #4836 review round — newtype shape, ab…
henrypark133 Jun 14, 2026
6374bf3
fix(context-slice): address CodeRabbit round on 2011dd94a
henrypark133 Jun 14, 2026
2dfb5b9
fix(context-slice): address review round on 6374bf3c1
henrypark133 Jun 14, 2026
e31612e
chore(context-slice): untrack accidentally-committed .codegraph/ state
henrypark133 Jun 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -72,3 +72,4 @@ tests/fixtures/llm_traces/live/*.log

# Local test artifacts
.anvil/
.codegraph/
11 changes: 11 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[workspace]
members = [".", "crates/ironclaw_common", "crates/ironclaw_host_api", "crates/ironclaw_filesystem", "crates/ironclaw_attachments", "crates/ironclaw_extractors", "crates/ironclaw_memory", "crates/ironclaw_events", "crates/ironclaw_event_projections", "crates/ironclaw_event_streams", "crates/ironclaw_reborn_event_store", "crates/ironclaw_extensions", "crates/ironclaw_processes", "crates/ironclaw_dispatcher", "crates/ironclaw_scripts", "crates/ironclaw_process_sandbox", "crates/ironclaw_mcp", "crates/ironclaw_wasm", "crates/ironclaw_wasm_sandbox_core", "crates/ironclaw_wasm_limiter", "crates/ironclaw_capabilities", "crates/ironclaw_secrets", "crates/ironclaw_network", "crates/ironclaw_host_runtime", "crates/ironclaw_runtime_policy", "crates/ironclaw_authorization", "crates/ironclaw_run_state", "crates/ironclaw_approvals", "crates/ironclaw_resources", "crates/ironclaw_auth", "crates/ironclaw_trust", "crates/ironclaw_turns", "crates/ironclaw_agent_loop", "crates/ironclaw_threads", "crates/ironclaw_prompt_envelope", "crates/ironclaw_hooks", "crates/ironclaw_hooks_postgres", "crates/ironclaw_hooks_libsql", "crates/ironclaw_hooks_parity", "crates/ironclaw_loop_support", "crates/ironclaw_reborn", "crates/ironclaw_reborn_config", "crates/ironclaw_reborn_composition", "crates/ironclaw_reborn_identity", "crates/ironclaw_first_party_extensions", "crates/ironclaw_reborn_cli", "crates/ironclaw_reborn_traces", "crates/ironclaw_reborn_webui_ingress", "crates/ironclaw_reborn_openai_compat", "crates/ironclaw_reborn_openai_compat_storage", "crates/ironclaw_conversations", "crates/ironclaw_product_adapters", "crates/ironclaw_product_workflow", "crates/ironclaw_product_workflow_storage", "crates/ironclaw_product_adapter_registry", "crates/ironclaw_wasm_product_adapters", "crates/ironclaw_telegram_v2_adapter", "crates/ironclaw_slack_v2_adapter", "crates/ironclaw_outbound", "crates/ironclaw_triggers", "crates/ironclaw_architecture", "crates/ironclaw_safety", "crates/ironclaw_skills", "crates/ironclaw_oauth", "crates/ironclaw_llm", "crates/ironclaw_embeddings", "crates/ironclaw_engine", "crates/ironclaw_gateway", "crates/ironclaw_tui", "crates/ironclaw_webui_v2", "crates/ironclaw_webui_v2_static"]
members = [".", "crates/ironclaw_common", "crates/ironclaw_host_api", "crates/ironclaw_filesystem", "crates/ironclaw_attachments", "crates/ironclaw_extractors", "crates/ironclaw_memory", "crates/ironclaw_events", "crates/ironclaw_event_projections", "crates/ironclaw_event_streams", "crates/ironclaw_reborn_event_store", "crates/ironclaw_extensions", "crates/ironclaw_processes", "crates/ironclaw_dispatcher", "crates/ironclaw_scripts", "crates/ironclaw_process_sandbox", "crates/ironclaw_mcp", "crates/ironclaw_wasm", "crates/ironclaw_wasm_sandbox_core", "crates/ironclaw_wasm_limiter", "crates/ironclaw_capabilities", "crates/ironclaw_secrets", "crates/ironclaw_network", "crates/ironclaw_host_runtime", "crates/ironclaw_runtime_policy", "crates/ironclaw_authorization", "crates/ironclaw_run_state", "crates/ironclaw_approvals", "crates/ironclaw_resources", "crates/ironclaw_auth", "crates/ironclaw_trust", "crates/ironclaw_turns", "crates/ironclaw_agent_loop", "crates/ironclaw_threads", "crates/ironclaw_prompt_envelope", "crates/ironclaw_hooks", "crates/ironclaw_hooks_postgres", "crates/ironclaw_hooks_libsql", "crates/ironclaw_hooks_parity", "crates/ironclaw_loop_support", "crates/ironclaw_reborn", "crates/ironclaw_reborn_config", "crates/ironclaw_reborn_composition", "crates/ironclaw_reborn_identity", "crates/ironclaw_first_party_extensions", "crates/ironclaw_reborn_cli", "crates/ironclaw_reborn_traces", "crates/ironclaw_reborn_webui_ingress", "crates/ironclaw_reborn_openai_compat", "crates/ironclaw_reborn_openai_compat_storage", "crates/ironclaw_conversations", "crates/ironclaw_product_adapters", "crates/ironclaw_product_context", "crates/ironclaw_product_workflow", "crates/ironclaw_product_workflow_storage", "crates/ironclaw_product_adapter_registry", "crates/ironclaw_wasm_product_adapters", "crates/ironclaw_telegram_v2_adapter", "crates/ironclaw_slack_v2_adapter", "crates/ironclaw_outbound", "crates/ironclaw_triggers", "crates/ironclaw_architecture", "crates/ironclaw_safety", "crates/ironclaw_skills", "crates/ironclaw_oauth", "crates/ironclaw_llm", "crates/ironclaw_embeddings", "crates/ironclaw_engine", "crates/ironclaw_gateway", "crates/ironclaw_tui", "crates/ironclaw_webui_v2", "crates/ironclaw_webui_v2_static"]
exclude = [
"channels-src/discord",
"channels-src/feishu",
Expand Down
1 change: 1 addition & 0 deletions crates/ironclaw_conversations/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ ironclaw_host_api = { path = "../ironclaw_host_api", version = "0.1.0" }
ironclaw_safety = { path = "../ironclaw_safety" }
ironclaw_triggers = { path = "../ironclaw_triggers", version = "0.1.0" }
ironclaw_turns = { path = "../ironclaw_turns", version = "0.1.0" }
ironclaw_product_context = { path = "../ironclaw_product_context", version = "0.1.0" }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "2"
Expand Down
1 change: 1 addition & 0 deletions crates/ironclaw_conversations/src/ids.rs
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ macro_rules! bounded_string_id {
}

bounded_string_id!(AdapterKind, "adapter_kind");

bounded_string_id!(AdapterInstallationId, "adapter_installation_id");
bounded_string_id!(ExternalEventId, "external_event_id");
bounded_string_id!(InboundMessageContentRef, "inbound_message_content_ref");
Expand Down
Loading
Loading