warning: field `return_type` is never read
--> /Users/user/dev/controlflow/hub-macro/src/parse.rs:118:9
|
113 | pub struct MethodInfo {
| ---------- field in this struct
...
118 | pub return_type: Type,
| ^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` on by default
warning: field `return_type` is never read
--> /Users/user/dev/controlflow/hub-macro/src/parse.rs:118:9
|
113 | pub struct MethodInfo {
| ---------- field in this struct
...
118 | pub return_type: Type,
| ^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` on by default
warning: `hub-macro` (lib) generated 1 warning
warning: `hub-macro` (lib) generated 1 warning
Compiling substrate v0.1.0 (/Users/user/dev/controlflow/control-flow/re/humanlayer/introspection)
Compiling substrate v0.1.0 (/Users/user/dev/controlflow/control-flow/re/humanlayer/introspection)
warning: unused imports: `debug` and `trace`
--> src/plugin_system/conversion.rs:5:15
|
5 | use tracing::{debug, info, trace, warn};
| ^^^^^ ^^^^^warning: unused imports: `debug` and `trace`
--> src/plugin_system/conversion.rs:5:15
|
5 | use tracing::{debug, info, trace, warn};
| ^^^^^ ^^^^^
|
= note: `#[warn(unused_imports)]` on by default
|
= note: `#[warn(unused_imports)]` on by default
warning: method `into_rpc_methods` is never used
--> src/plexus/plexus.rs:261:8
|
255 | trait ActivationObject: Send + Sync + ActivationGuidanceInfo + 'static {
| ---------------- method in this trait
warning: method `into_rpc_methods` is never used
--> src/plexus/plexus.rs:261:8
|
255 | trait ActivationObject: Send + Sync + ActivationGuidanceInfo + 'static {
| ---------------- method in this trait
...
261 | fn into_rpc_methods(self) -> Methods;
| ^^^^^^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` on by default
warning: field `config` is never read
--> src/activations/arbor/storage.rs:44:5
|
42 | pub struct ArborStorage {
| ------------ field in this struct
43 | pool: SqlitePool,
44 | config: ArborConfig,
| ^^^^^^
...
261 | fn into_rpc_methods(self) -> Methods;
| ^^^^^^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` on by default
warning: field `config` is never read
--> src/activations/arbor/storage.rs:44:5
|
42 | pub struct ArborStorage {
| ------------ field in this struct
43 | pool: SqlitePool,
44 | config: ArborConfig,
| ^^^^^^
warning: method `write_mcp_config` is never used
--> src/activations/claudecode/executor.rs:161:14
|
62 | impl ClaudeCodeExecutor {
| ----------------------- method in this implementation
...
161 | async fn write_mcp_config(&self, config: &Value) -> Result<String, String> {
| ^^^^^^^^^^^^^^^^
warning: method `write_mcp_config` is never used
--> src/activations/claudecode/executor.rs:161:14
|
62 | impl ClaudeCodeExecutor {
| ----------------------- method in this implementation
...
161 | async fn write_mcp_config(&self, config: &Value) -> Result<String, String> {
| ^^^^^^^^^^^^^^^^
warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
--> src/plugin_system/conversion.rs:16:5
|
16 warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
--> src/plugin_system/conversion.rs:16:5
|
16 | async fn into_subscription(
| ^^^^^
|
= note| async fn into_subscription(
| ^^^^^
|
= note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
= note: `#[warn(async_fn_in_trait)]` on by default
help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
|= note: `#[warn(async_fn_in_trait)]` on by default
help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
|
16 ~ fn into_subscription(
16 ~ fn into_subscription(
17
17 | self,| self,
18
18 | pending: PendingSubscriptionSink,| pending: PendingSubscriptionSink,
19
19 | provenance: Provenance,
20 ~ ) -> impl std::future::Future<Output = SubscriptionResult> + Send;
| provenance: Provenance,
20 ~ ) -> impl std::future::Future<Output = SubscriptionResult> + Send;
|
|
warning: field `return_type` is never read
--> /Users/user/dev/controlflow/hub-macro/src/parse.rs:118:9
|
113 | pub struct MethodInfo {
| ---------- field in this struct
...
118 | pub return_type: Type,
| ^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` on by default
warning: field `return_type` is never read
--> /Users/user/dev/controlflow/hub-macro/src/parse.rs:118:9
|
113 | pub struct MethodInfo {
| ---------- field in this struct
...
118 | pub return_type: Type,
| ^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` on by default
warning: `hub-macro` (lib) generated 1 warning
Compiling substrate v0.1.0 (/Users/user/dev/controlflow/control-flow/re/humanlayer/introspection)
warning: `hub-macro` (lib) generated 1 warning
Compiling substrate v0.1.0 (/Users/user/dev/controlflow/control-flow/re/humanlayer/introspection)
warning: unused imports: `debug` and `trace`
--> src/plugin_system/conversion.rs:5:15
|
5 | use tracing::{debug, info, trace, warn};
| ^^^^^ ^^^^^warning: unused imports: `debug` and `trace`
--> src/plugin_system/conversion.rs:5:15
|
5 | use tracing::{debug, info, trace, warn};
| ^^^^^ ^^^^^
|
= note: `#[warn(unused_imports)]` on by default
|
= note: `#[warn(unused_imports)]` on by default
warning: method `into_rpc_methods` is never used
--> src/plexus/plexus.rs:261:8
|
255 | trait ActivationObject: Send + Sync + ActivationGuidanceInfo + 'static {
| ---------------- method in this trait
...
261 | fn into_rpc_methods(self) -> Methods;
| ^^^^^^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` on by default
warning: method `into_rpc_methods` is never used
--> src/plexus/plexus.rs:261:8
|
255 | trait ActivationObject: Send + Sync + ActivationGuidanceInfo + 'static {
| ---------------- method in this trait
...
261 | fn into_rpc_methods(self) -> Methods;
| ^^^^^^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` on by default
warning: field `config` is never read
--> src/activations/arbor/storage.rs:44:5
|
42 | pub struct ArborStorage {
| ------------ field in this struct
43 | pool: SqlitePool,
44 | config: ArborConfig,
| ^^^^^^
warning: method `write_mcp_config` is never used
--> src/activations/claudecode/executor.rs:161:14
|
warning: field `config` is never read
--> src/activations/arbor/storage.rs:44:5
|
42 | pub struct ArborStorage {
| ------------ field in this struct
43 | pool: SqlitePool,
44 | config: ArborConfig,
| ^^^^^^
warning: method `write_mcp_config` is never used
--> src/activations/claudecode/executor.rs:161:14
|
62 | impl ClaudeCodeExecutor {
| ----------------------- method in this implementation
...
161 | async fn write_mcp_config(&self, config: &Value) -> Result<String, String> {
| ^^^^^^^^^^^^^^^^62 | impl ClaudeCodeExecutor {
| ----------------------- method in this implementation
...
161 | async fn write_mcp_config(&self, config: &Value) -> Result<String, String> {
| ^^^^^^^^^^^^^^^^
warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
--> src/plugin_system/conversion.rs:16:5
warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
--> src/plugin_system/conversion.rs:16:5
|
16 | |
16 | async fn into_subscription(
async fn into_subscription(
| | ^^^^^
^^^^^
|
|
= note= note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
= note: `#[warn(async_fn_in_trait)]` on by default= note: `#[warn(async_fn_in_trait)]` on by default
help
help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
|: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
|
16
16 ~ fn into_subscription(~ fn into_subscription(
17 | self,
18 | pending: PendingSubscriptionSink,
19
17 | self,
18 | pending: PendingSubscriptionSink,
19 | provenance: Provenance,
20 ~ | provenance: Provenance,
20 ~ ) -> impl std::future::Future<Output = SubscriptionResult> + Send; ) -> impl std::future::Future<Output = SubscriptionResult> + Send;
|
|
warning: `substrate` (lib) generated 5 warnings (run `cargo fix --lib -p substrate` to apply 1 suggestion)
warning: `substrate` (lib) generated 5 warnings (run `cargo fix --lib -p substrate` to apply 1 suggestion)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.14s
Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.14s
Running `target/debug/substrate`
Running `target/debug/substrate`
[2m2025-12-19T21:01:53.781181Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m PRAGMA foreign_keys = ON; …; rows affected: 0, rows returned: 0, elapsed: 380.625µs
PRAGMA foreign_keys = ON;
[2m2025-12-19T21:01:53.781181Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m PRAGMA foreign_keys = ON; …; rows affected: 0, rows returned: 0, elapsed: 380.625µs
PRAGMA foreign_keys = ON;
[2m2025-12-19T21:01:53.806974Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m CREATE TABLE IF NOT …; rows affected: 0, rows returned: 0, elapsed: 1.080ms
CREATE TABLE IF NOT EXISTS trees (
id TEXT PRIMARY KEY,
root_node_id TEXT NOT NULL,
ref_count INTEGER NOT NULL DEFAULT 1,
state TEXT NOT NULL DEFAULT 'active',
scheduled_deletion_at INTEGER,
archived_at INTEGER,
created_at INTEGER NOT NULL,
updated_at INTEGER NOT NULL,
metadata TEXT
);
CREATE TABLE IF NOT EXISTS tree_refs (
tree_id TEXT NOT NULL,
owner_id TEXT NOT NULL,
count INTEGER NOT NULL DEFAULT 1,
claimed_at INTEGER NOT NULL,
PRIMARY KEY (tree_id, owner_id),
FOREIGN KEY (tree_id) REFERENCES trees(id) ON DELETE CASCADE
);
CREATE TABLE IF NOT EXISTS nodes (
id TEXT PRIMARY KEY,
tree_id TEXT NOT NULL,
parent_id TEXT,
ref_count INTEGER NOT NULL DEFAULT 1,
state TEXT NOT NULL DEFAULT 'active',
scheduled_deletion_at INTEGER,
archived_at INTEGER,
node_type TEXT NOT NULL,
content TEXT,
handle_source TEXT,
handle_source_version TEXT,
handle_identifier TEXT,
handle_metadata TEXT,
created_at INTEGER NOT NULL,
metadata TEXT,
FOREIGN KEY (tree_id) REFERENCES trees(id) ON DELETE CASCADE
);
CREATE TABLE IF NOT EXISTS node_refs (
node_id TEXT NOT NULL,
owner_id TEXT NOT NULL,
count INTEGER NOT NULL DEFAULT 1,
claimed_at INTEGER NOT NULL,
PRIMARY KEY (node_id, owner_id),
FOREIGN KEY (node_id) REFERENCES nodes(id) ON DELETE CASCADE
);
CREATE TABLE IF NOT EXISTS node_children (
parent_id TEXT NOT NULL,
child_id TEXT NOT NULL,
position INTEGER NOT NULL,
PRIMARY KEY (parent_id, child_id),
FOREIGN KEY (parent_id) REFERENCES nodes(id) ON DELETE CASCADE,
FOREIGN KEY (child_id) REFERENCES nodes(id) ON DELETE CASCADE
);
CREATE INDEX IF NOT EXISTS idx_trees_state ON trees(state);
CREATE INDEX IF NOT EXISTS idx_trees_scheduled ON trees(scheduled_deletion_at)
WHERE
state = 'scheduled_delete';
CREATE INDEX IF NOT EXISTS idx_trees_archived ON trees(archived_at)
WHERE
state = 'archived';
CREATE INDEX IF NOT EXISTS idx_nodes_tree ON nodes(tree_id);
CREATE INDEX IF NOT EXISTS idx_nodes_parent ON nodes(parent_id);
CREATE INDEX IF NOT EXISTS idx_nodes_state ON nodes(state);
CREATE INDEX IF NOT EXISTS idx_nodes_scheduled ON nodes(scheduled_deletion_at)
WHERE
state = 'scheduled_delete';
CREATE INDEX IF NOT EXISTS idx_node_children_parent ON node_children(parent_id);
CREATE INDEX IF NOT EXISTS idx_node_children_child ON node_children(child_id);
[2m2025-12-19T21:01:53.806974Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m CREATE TABLE IF NOT …; rows affected: 0, rows returned: 0, elapsed: 1.080ms
CREATE TABLE IF NOT EXISTS trees (
id TEXT PRIMARY KEY,
root_node_id TEXT NOT NULL,
ref_count INTEGER NOT NULL DEFAULT 1,
state TEXT NOT NULL DEFAULT 'active',
scheduled_deletion_at INTEGER,
archived_at INTEGER,
created_at INTEGER NOT NULL,
updated_at INTEGER NOT NULL,
metadata TEXT
);
CREATE TABLE IF NOT EXISTS tree_refs (
tree_id TEXT NOT NULL,
owner_id TEXT NOT NULL,
count INTEGER NOT NULL DEFAULT 1,
claimed_at INTEGER NOT NULL,
PRIMARY KEY (tree_id, owner_id),
FOREIGN KEY (tree_id) REFERENCES trees(id) ON DELETE CASCADE
);
CREATE TABLE IF NOT EXISTS nodes (
id TEXT PRIMARY KEY,
tree_id TEXT NOT NULL,
parent_id TEXT,
ref_count INTEGER NOT NULL DEFAULT 1,
state TEXT NOT NULL DEFAULT 'active',
scheduled_deletion_at INTEGER,
archived_at INTEGER,
node_type TEXT NOT NULL,
content TEXT,
handle_source TEXT,
handle_source_version TEXT,
handle_identifier TEXT,
handle_metadata TEXT,
created_at INTEGER NOT NULL,
metadata TEXT,
FOREIGN KEY (tree_id) REFERENCES trees(id) ON DELETE CASCADE
);
CREATE TABLE IF NOT EXISTS node_refs (
node_id TEXT NOT NULL,
owner_id TEXT NOT NULL,
count INTEGER NOT NULL DEFAULT 1,
claimed_at INTEGER NOT NULL,
PRIMARY KEY (node_id, owner_id),
FOREIGN KEY (node_id) REFERENCES nodes(id) ON DELETE CASCADE
);
CREATE TABLE IF NOT EXISTS node_children (
parent_id TEXT NOT NULL,
child_id TEXT NOT NULL,
position INTEGER NOT NULL,
PRIMARY KEY (parent_id, child_id),
FOREIGN KEY (parent_id) REFERENCES nodes(id) ON DELETE CASCADE,
FOREIGN KEY (child_id) REFERENCES nodes(id) ON DELETE CASCADE
);
CREATE INDEX IF NOT EXISTS idx_trees_state ON trees(state);
CREATE INDEX IF NOT EXISTS idx_trees_scheduled ON trees(scheduled_deletion_at)
WHERE
state = 'scheduled_delete';
CREATE INDEX IF NOT EXISTS idx_trees_archived ON trees(archived_at)
WHERE
state = 'archived';
CREATE INDEX IF NOT EXISTS idx_nodes_tree ON nodes(tree_id);
CREATE INDEX IF NOT EXISTS idx_nodes_parent ON nodes(parent_id);
CREATE INDEX IF NOT EXISTS idx_nodes_state ON nodes(state);
CREATE INDEX IF NOT EXISTS idx_nodes_scheduled ON nodes(scheduled_deletion_at)
WHERE
state = 'scheduled_delete';
CREATE INDEX IF NOT EXISTS idx_node_children_parent ON node_children(parent_id);
CREATE INDEX IF NOT EXISTS idx_node_children_child ON node_children(child_id);
[2m2025-12-19T21:01:53.808014Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m PRAGMA foreign_keys = ON; …; rows affected: 0, rows returned: 0, elapsed: 26.333µs
PRAGMA foreign_keys = ON;
[2m2025-12-19T21:01:53.808014Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m PRAGMA foreign_keys = ON; …; rows affected: 0, rows returned: 0, elapsed: 26.333µs
PRAGMA foreign_keys = ON;
[2m2025-12-19T21:01:53.816626Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m CREATE TABLE IF NOT …; rows affected: 0, rows returned: 0, elapsed: 275.875µs
CREATE TABLE IF NOT EXISTS claudecode_sessions (
id TEXT PRIMARY KEY,
name TEXT NOT NULL UNIQUE,
claude_session_id TEXT,
tree_id TEXT NOT NULL,
canonical_head TEXT NOT NULL,
working_dir TEXT NOT NULL,
model TEXT NOT NULL,
system_prompt TEXT,
mcp_config TEXT,
metadata TEXT,
created_at INTEGER NOT NULL,
updated_at INTEGER NOT NULL
);
CREATE TABLE IF NOT EXISTS claudecode_messages (
id TEXT PRIMARY KEY,
session_id TEXT NOT NULL,
role TEXT NOT NULL,
content TEXT NOT NULL,
model_id TEXT,
input_tokens INTEGER,
output_tokens INTEGER,
cost_usd REAL,
created_at INTEGER NOT NULL,
FOREIGN KEY (session_id) REFERENCES claudecode_sessions(id) ON DELETE CASCADE
);
CREATE INDEX IF NOT EXISTS idx_claudecode_sessions_name ON claudecode_sessions(name);
CREATE INDEX IF NOT EXISTS idx_claudecode_sessions_tree ON claudecode_sessions(tree_id);
CREATE INDEX IF NOT EXISTS idx_claudecode_messages_session ON claudecode_messages(session_id);
[2m2025-12-19T21:01:53.816626Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m CREATE TABLE IF NOT …; rows affected: 0, rows returned: 0, elapsed: 275.875µs
CREATE TABLE IF NOT EXISTS claudecode_sessions (
id TEXT PRIMARY KEY,
name TEXT NOT NULL UNIQUE,
claude_session_id TEXT,
tree_id TEXT NOT NULL,
canonical_head TEXT NOT NULL,
working_dir TEXT NOT NULL,
model TEXT NOT NULL,
system_prompt TEXT,
mcp_config TEXT,
metadata TEXT,
created_at INTEGER NOT NULL,
updated_at INTEGER NOT NULL
);
CREATE TABLE IF NOT EXISTS claudecode_messages (
id TEXT PRIMARY KEY,
session_id TEXT NOT NULL,
role TEXT NOT NULL,
content TEXT NOT NULL,
model_id TEXT,
input_tokens INTEGER,
output_tokens INTEGER,
cost_usd REAL,
created_at INTEGER NOT NULL,
FOREIGN KEY (session_id) REFERENCES claudecode_sessions(id) ON DELETE CASCADE
);
CREATE INDEX IF NOT EXISTS idx_claudecode_sessions_name ON claudecode_sessions(name);
CREATE INDEX IF NOT EXISTS idx_claudecode_sessions_tree ON claudecode_sessions(tree_id);
CREATE INDEX IF NOT EXISTS idx_claudecode_messages_session ON claudecode_messages(session_id);
[2m2025-12-19T21:01:53.817491Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m PRAGMA foreign_keys = ON; …; rows affected: 0, rows returned: 0, elapsed: 10.291µs
PRAGMA foreign_keys = ON;
[2m2025-12-19T21:01:53.817491Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m PRAGMA foreign_keys = ON; …; rows affected: 0, rows returned: 0, elapsed: 10.291µs
PRAGMA foreign_keys = ON;
[2m2025-12-19T21:01:53.824601Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m CREATE TABLE IF NOT …; rows affected: 0, rows returned: 0, elapsed: 272.084µs
CREATE TABLE IF NOT EXISTS cones (
id TEXT PRIMARY KEY,
name TEXT NOT NULL UNIQUE,
model_id TEXT NOT NULL,
system_prompt TEXT,
tree_id TEXT NOT NULL,
canonical_head TEXT NOT NULL,
metadata TEXT,
created_at INTEGER NOT NULL,
updated_at INTEGER NOT NULL
);
CREATE TABLE IF NOT EXISTS messages (
id TEXT PRIMARY KEY,
cone_id TEXT NOT NULL,
role TEXT NOT NULL,
content TEXT NOT NULL,
model_id TEXT,
input_tokens INTEGER,
output_tokens INTEGER,
created_at INTEGER NOT NULL,
FOREIGN KEY (cone_id) REFERENCES cones(id) ON DELETE CASCADE
);
CREATE INDEX IF NOT EXISTS idx_cones_name ON cones(name);
CREATE INDEX IF NOT EXISTS idx_cones_tree ON cones(tree_id);
CREATE INDEX IF NOT EXISTS idx_messages_cone ON messages(cone_id);
[2m2025-12-19T21:01:53.824601Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m CREATE TABLE IF NOT …; rows affected: 0, rows returned: 0, elapsed: 272.084µs
CREATE TABLE IF NOT EXISTS cones (
id TEXT PRIMARY KEY,
name TEXT NOT NULL UNIQUE,
model_id TEXT NOT NULL,
system_prompt TEXT,
tree_id TEXT NOT NULL,
canonical_head TEXT NOT NULL,
metadata TEXT,
created_at INTEGER NOT NULL,
updated_at INTEGER NOT NULL
);
CREATE TABLE IF NOT EXISTS messages (
id TEXT PRIMARY KEY,
cone_id TEXT NOT NULL,
role TEXT NOT NULL,
content TEXT NOT NULL,
model_id TEXT,
input_tokens INTEGER,
output_tokens INTEGER,
created_at INTEGER NOT NULL,
FOREIGN KEY (cone_id) REFERENCES cones(id) ON DELETE CASCADE
);
CREATE INDEX IF NOT EXISTS idx_cones_name ON cones(name);
CREATE INDEX IF NOT EXISTS idx_cones_tree ON cones(tree_id);
CREATE INDEX IF NOT EXISTS idx_messages_cone ON messages(cone_id);
[2m2025-12-19T21:01:53.884306Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m Substrate plexus started at ws://127.0.0.1:4444
[2m2025-12-19T21:01:53.884306Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m Substrate plexus started at ws://127.0.0.1:4444
[2m2025-12-19T21:01:53.884363Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m Data directory: /Users/user/dev/controlflow/control-flow/re/humanlayer/introspection/.substrate
[2m2025-12-19T21:01:53.884374Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m Plexus hash: 49df07e4f596ea6a
[2m2025-12-19T21:01:53.884389Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m
[2m2025-12-19T21:01:53.884363Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m Data directory: /Users/user/dev/controlflow/control-flow/re/humanlayer/introspection/.substrate
[2m2025-12-19T21:01:53.884374Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m Plexus hash: 49df07e4f596ea6a
[2m2025-12-19T21:01:53.884389Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m
[2m2025-12-19T21:01:53.884392Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m Plexus methods (4):
[2m2025-12-19T21:01:53.884392Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m Plexus methods (4):
[2m2025-12-19T21:01:53.884409Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - plexus_schema
[2m2025-12-19T21:01:53.884425Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - plexus_activation_schema
[2m2025-12-19T21:01:53.884428Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - plexus_full_schema
[2m2025-12-19T21:01:53.884431Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - plexus_hash
[2m2025-12-19T21:01:53.884434Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m
[2m2025-12-19T21:01:53.884437Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m Activations (5):
[2m2025-12-19T21:01:53.884409Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - plexus_schema
[2m2025-12-19T21:01:53.884425Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - plexus_activation_schema
[2m2025-12-19T21:01:53.884428Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - plexus_full_schema
[2m2025-12-19T21:01:53.884431Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - plexus_hash
[2m2025-12-19T21:01:53.884434Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m
[2m2025-12-19T21:01:53.884437Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m Activations (5):
[2m2025-12-19T21:01:53.884440Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m arbor v1.0.0 - Manage conversation trees with context tracking
[2m2025-12-19T21:01:53.884440Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m arbor v1.0.0 - Manage conversation trees with context tracking
[2m2025-12-19T21:01:53.884445Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_create
[2m2025-12-19T21:01:53.884448Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_get
[2m2025-12-19T21:01:53.884445Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_create
[2m2025-12-19T21:01:53.884448Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_get
[2m2025-12-19T21:01:53.884451Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_get_skeleton
[2m2025-12-19T21:01:53.884451Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_get_skeleton
[2m2025-12-19T21:01:53.884454Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_list
[2m2025-12-19T21:01:53.884454Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_list
[2m2025-12-19T21:01:53.884457Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_update_metadata
[2m2025-12-19T21:01:53.884457Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_update_metadata
[2m2025-12-19T21:01:53.884461Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_claim
[2m2025-12-19T21:01:53.884461Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_claim
[2m2025-12-19T21:01:53.884463Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_release
[2m2025-12-19T21:01:53.884466Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_list_scheduled
[2m2025-12-19T21:01:53.884470Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_list_archived
[2m2025-12-19T21:01:53.884463Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_release
[2m2025-12-19T21:01:53.884466Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_list_scheduled
[2m2025-12-19T21:01:53.884470Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_list_archived
[2m2025-12-19T21:01:53.884473Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_node_create_text
[2m2025-12-19T21:01:53.884477Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_node_create_external
[2m2025-12-19T21:01:53.884473Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_node_create_text
[2m2025-12-19T21:01:53.884477Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_node_create_external
[2m2025-12-19T21:01:53.884480Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_node_get
[2m2025-12-19T21:01:53.884480Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_node_get
[2m2025-12-19T21:01:53.884483Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_node_get_children
[2m2025-12-19T21:01:53.884483Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_node_get_children
[2m2025-12-19T21:01:53.884486Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_node_get_parent
[2m2025-12-19T21:01:53.884490Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_node_get_path
[2m2025-12-19T21:01:53.884493Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_context_list_leaves
[2m2025-12-19T21:01:53.884496Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_context_get_path
[2m2025-12-19T21:01:53.884499Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_context_get_handles
[2m2025-12-19T21:01:53.884502Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_render
[2m2025-12-19T21:01:53.884505Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m bash v1.0.0 - Execute bash commands and stream output
[2m2025-12-19T21:01:53.884511Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - bash_execute
[2m2025-12-19T21:01:53.884514Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m claudecode v1.0.0 - Manage Claude Code sessions with Arbor-backed conversation history
[2m2025-12-19T21:01:53.884518Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - claudecode_create
[2m2025-12-19T21:01:53.884521Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - claudecode_chat
[2m2025-12-19T21:01:53.884523Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - claudecode_get
[2m2025-12-19T21:01:53.884526Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - claudecode_list
[2m2025-12-19T21:01:53.884529Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - claudecode_delete
[2m2025-12-19T21:01:53.884486Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_node_get_parent
[2m2025-12-19T21:01:53.884490Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_node_get_path
[2m2025-12-19T21:01:53.884493Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_context_list_leaves
[2m2025-12-19T21:01:53.884496Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_context_get_path
[2m2025-12-19T21:01:53.884499Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_context_get_handles
[2m2025-12-19T21:01:53.884502Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_render
[2m2025-12-19T21:01:53.884505Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m bash v1.0.0 - Execute bash commands and stream output
[2m2025-12-19T21:01:53.884511Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - bash_execute
[2m2025-12-19T21:01:53.884514Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m claudecode v1.0.0 - Manage Claude Code sessions with Arbor-backed conversation history
[2m2025-12-19T21:01:53.884518Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - claudecode_create
[2m2025-12-19T21:01:53.884521Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - claudecode_chat
[2m2025-12-19T21:01:53.884523Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - claudecode_get
[2m2025-12-19T21:01:53.884526Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - claudecode_list
[2m2025-12-19T21:01:53.884529Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - claudecode_delete
[2m2025-12-19T21:01:53.884533Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - claudecode_fork
[2m2025-12-19T21:01:53.884533Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - claudecode_fork
[2m2025-12-19T21:01:53.884535Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m cone v1.0.0 - LLM cone with persistent conversation context
[2m2025-12-19T21:01:53.884539Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - cone_create
[2m2025-12-19T21:01:53.884542Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - cone_get
[2m2025-12-19T21:01:53.884535Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m cone v1.0.0 - LLM cone with persistent conversation context
[2m2025-12-19T21:01:53.884539Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - cone_create
[2m2025-12-19T21:01:53.884542Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - cone_get
[2m2025-12-19T21:01:53.884545Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - cone_list
[2m2025-12-19T21:01:53.884545Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - cone_list
[2m2025-12-19T21:01:53.884548Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - cone_delete
[2m2025-12-19T21:01:53.884548Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - cone_delete
[2m2025-12-19T21:01:53.884551Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - cone_chat
[2m2025-12-19T21:01:53.884551Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - cone_chat
[2m2025-12-19T21:01:53.884554Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - cone_set_head
[2m2025-12-19T21:01:53.884554Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - cone_set_head
[2m2025-12-19T21:01:53.884556Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - cone_registry
[2m2025-12-19T21:01:53.884560Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m health v1.0.0 - Check hub health and uptime
[2m2025-12-19T21:01:53.884564Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - health_check
[2m2025-12-19T21:01:53.884567Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m
[2m2025-12-19T21:01:53.884570Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m Total methods: 34 (+4 plexus)
[2m2025-12-19T21:01:53.884556Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - cone_registry
[2m2025-12-19T21:01:53.884560Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m health v1.0.0 - Check hub health and uptime
[2m2025-12-19T21:01:53.884564Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - health_check
[2m2025-12-19T21:01:53.884567Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m
[2m2025-12-19T21:01:53.884570Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m Total methods: 34 (+4 plexus)
[2m2025-12-19T21:01:56.600824Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Accepting [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mcontent_type[0m[2m=[0m"claudecode.chat"
[2m2025-12-19T21:01:56.600824Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Accepting [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mcontent_type[0m[2m=[0m"claudecode.chat"
[2m2025-12-19T21:01:56.601450Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream processing started [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] }
[2m2025-12-19T21:01:56.601450Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream processing started [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] }
[2m2025-12-19T21:01:56.603168Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m PRAGMA foreign_keys = ON; …; rows affected: 0, rows returned: 0, elapsed: 57.459µs
PRAGMA foreign_keys = ON;
[2m2025-12-19T21:01:56.603168Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m PRAGMA foreign_keys = ON; …; rows affected: 0, rows returned: 0, elapsed: 57.459µs
PRAGMA foreign_keys = ON;
[2m2025-12-19T21:01:56.605453Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m SELECT id, name, claude_session_id, …; rows affected: 0, rows returned: 1, elapsed: 966.584µs
SELECT
id,
name,
claude_session_id,
tree_id,
canonical_head,
working_dir,
model,
system_prompt,
mcp_config,
metadata,
created_at,
updated_at
FROM
claudecode_sessions
WHERE
name = ?
[2m2025-12-19T21:01:56.605453Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m SELECT id, name, claude_session_id, …; rows affected: 0, rows returned: 1, elapsed: 966.584µs
SELECT
id,
name,
claude_session_id,
tree_id,
canonical_head,
working_dir,
model,
system_prompt,
mcp_config,
metadata,
created_at,
updated_at
FROM
claudecode_sessions
WHERE
name = ?
[2m2025-12-19T21:01:56.610527Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO claudecode_messages (id, …; rows affected: 1, rows returned: 0, elapsed: 2.794ms
INSERT INTO
claudecode_messages (
id,
session_id,
role,
content,
model_id,
input_tokens,
output_tokens,
cost_usd,
created_at
)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?)
[2m2025-12-19T21:01:56.610527Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO claudecode_messages (id, …; rows affected: 1, rows returned: 0, elapsed: 2.794ms
INSERT INTO
claudecode_messages (
id,
session_id,
role,
content,
model_id,
input_tokens,
output_tokens,
cost_usd,
created_at
)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?)
[2m2025-12-19T21:01:56.616569Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO nodes (id, …; rows affected: 1, rows returned: 0, elapsed: 1.104ms
INSERT INTO
nodes (
id,
tree_id,
parent_id,
ref_count,
state,
node_type,
handle_source,
handle_source_version,
handle_identifier,
handle_metadata,
metadata,
created_at
)
VALUES
(
?,
?,
?,
1,
'active',
'external',
?,
?,
?,
?,
?,
?
)
[2m2025-12-19T21:01:56.616569Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO nodes (id, …; rows affected: 1, rows returned: 0, elapsed: 1.104ms
INSERT INTO
nodes (
id,
tree_id,
parent_id,
ref_count,
state,
node_type,
handle_source,
handle_source_version,
handle_identifier,
handle_metadata,
metadata,
created_at
)
VALUES
(
?,
?,
?,
1,
'active',
'external',
?,
?,
?,
?,
?,
?
)
[2m2025-12-19T21:01:56.617661Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m PRAGMA foreign_keys = ON; …; rows affected: 0, rows returned: 0, elapsed: 31.375µs
PRAGMA foreign_keys = ON;
[2m2025-12-19T21:01:56.617661Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m PRAGMA foreign_keys = ON; …; rows affected: 0, rows returned: 0, elapsed: 31.375µs
PRAGMA foreign_keys = ON;
[2m2025-12-19T21:01:56.619451Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m SELECT COALESCE(MAX(position), -1) + …; rows affected: 0, rows returned: 1, elapsed: 567.875µs
SELECT
COALESCE(MAX(position), -1) + 1 as next_pos
FROM
node_children
WHERE
parent_id = ?
[2m2025-12-19T21:01:56.619451Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m SELECT COALESCE(MAX(position), -1) + …; rows affected: 0, rows returned: 1, elapsed: 567.875µs
SELECT
COALESCE(MAX(position), -1) + 1 as next_pos
FROM
node_children
WHERE
parent_id = ?
[2m2025-12-19T21:01:56.620424Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO node_children (parent_id, …; rows affected: 1, rows returned: 0, elapsed: 889.666µs
INSERT INTO
node_children (parent_id, child_id, position)
VALUES
(?, ?, ?)
[2m2025-12-19T21:01:56.620424Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO node_children (parent_id, …; rows affected: 1, rows returned: 0, elapsed: 889.666µs
INSERT INTO
node_children (parent_id, child_id, position)
VALUES
(?, ?, ?)
[2m2025-12-19T21:01:56.620534Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m1 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:01:56.620534Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m1 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:00.325876Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m2 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:00.325876Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m2 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:00.419801Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m3 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:00.419801Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m3 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:00.480239Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m4 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:00.480239Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m4 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:00.480322Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m5 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:00.480322Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m5 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:00.480359Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m6 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:00.480359Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m6 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:00.480395Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m7 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:00.480395Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m7 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:00.480516Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m8 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:00.480516Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m8 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:00.504921Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m9 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:00.504921Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m9 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:00.538666Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m10 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:00.538666Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m10 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:00.552824Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m11 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:00.552824Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m11 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:00.604731Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m12 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:00.604731Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m12 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:00.621210Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m13 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:00.621210Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m13 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:01.021208Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO claudecode_messages (id, …; rows affected: 1, rows returned: 0, elapsed: 859.458µs
INSERT INTO
claudecode_messages (
id,
session_id,
role,
content,
model_id,
input_tokens,
output_tokens,
cost_usd,
created_at
)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?)
[2m2025-12-19T21:02:01.021208Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO claudecode_messages (id, …; rows affected: 1, rows returned: 0, elapsed: 859.458µs
INSERT INTO
claudecode_messages (
id,
session_id,
role,
content,
model_id,
input_tokens,
output_tokens,
cost_usd,
created_at
)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?)
[2m2025-12-19T21:02:01.024484Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO nodes (id, …; rows affected: 1, rows returned: 0, elapsed: 698.334µs
INSERT INTO
nodes (
id,
tree_id,
parent_id,
ref_count,
state,
node_type,
handle_source,
handle_source_version,
handle_identifier,
handle_metadata,
metadata,
created_at
)
VALUES
(
?,
?,
?,
1,
'active',
'external',
?,
?,
?,
?,
?,
?
)
[2m2025-12-19T21:02:01.024484Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO nodes (id, …; rows affected: 1, rows returned: 0, elapsed: 698.334µs
INSERT INTO
nodes (
id,
tree_id,
parent_id,
ref_count,
state,
node_type,
handle_source,
handle_source_version,
handle_identifier,
handle_metadata,
metadata,
created_at
)
VALUES
(
?,
?,
?,
1,
'active',
'external',
?,
?,
?,
?,
?,
?
)
[2m2025-12-19T21:02:01.025466Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m SELECT COALESCE(MAX(position), -1) + …; rows affected: 1, rows returned: 1, elapsed: 121.791µs
SELECT
COALESCE(MAX(position), -1) + 1 as next_pos
FROM
node_children
WHERE
parent_id = ?
[2m2025-12-19T21:02:01.025466Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m SELECT COALESCE(MAX(position), -1) + …; rows affected: 1, rows returned: 1, elapsed: 121.791µs
SELECT
COALESCE(MAX(position), -1) + 1 as next_pos
FROM
node_children
WHERE
parent_id = ?
[2m2025-12-19T21:02:01.026320Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO node_children (parent_id, …; rows affected: 1, rows returned: 0, elapsed: 787.500µs
INSERT INTO
node_children (parent_id, child_id, position)
VALUES
(?, ?, ?)
[2m2025-12-19T21:02:01.026320Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO node_children (parent_id, …; rows affected: 1, rows returned: 0, elapsed: 787.500µs
INSERT INTO
node_children (parent_id, child_id, position)
VALUES
(?, ?, ?)
[2m2025-12-19T21:02:01.027840Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m UPDATE claudecode_sessions SET canonical_head …; rows affected: 1, rows returned: 0, elapsed: 482.167µs
UPDATE
claudecode_sessions
SET
canonical_head = ?,
claude_session_id = ?,
updated_at = ?
WHERE
id = ?
[2m2025-12-19T21:02:01.027840Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m UPDATE claudecode_sessions SET canonical_head …; rows affected: 1, rows returned: 0, elapsed: 482.167µs
UPDATE
claudecode_sessions
SET
canonical_head = ?,
claude_session_id = ?,
updated_at = ?
WHERE
id = ?
[2m2025-12-19T21:02:01.031546Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m14 [3mis_terminal[0m[2m=[0mtrue
[2m2025-12-19T21:02:01.031546Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m14 [3mis_terminal[0m[2m=[0mtrue
[2m2025-12-19T21:02:01.031678Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream ended, sending Done [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m14
[2m2025-12-19T21:02:01.031678Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream ended, sending Done [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m14
[2m2025-12-19T21:02:40.710927Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Accepting [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mcontent_type[0m[2m=[0m"claudecode.chat"
[2m2025-12-19T21:02:40.710927Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Accepting [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mcontent_type[0m[2m=[0m"claudecode.chat"
[2m2025-12-19T21:02:40.711123Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream processing started [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] }
[2m2025-12-19T21:02:40.711123Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream processing started [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] }
[2m2025-12-19T21:02:40.715283Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m SELECT id, name, claude_session_id, …; rows affected: 1, rows returned: 1, elapsed: 273.417µs
SELECT
id,
name,
claude_session_id,
tree_id,
canonical_head,
working_dir,
model,
system_prompt,
mcp_config,
metadata,
created_at,
updated_at
FROM
claudecode_sessions
WHERE
name = ?
[2m2025-12-19T21:02:40.715283Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m SELECT id, name, claude_session_id, …; rows affected: 1, rows returned: 1, elapsed: 273.417µs
SELECT
id,
name,
claude_session_id,
tree_id,
canonical_head,
working_dir,
model,
system_prompt,
mcp_config,
metadata,
created_at,
updated_at
FROM
claudecode_sessions
WHERE
name = ?
[2m2025-12-19T21:02:40.718109Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO claudecode_messages (id, …; rows affected: 1, rows returned: 0, elapsed: 2.207ms
INSERT INTO
claudecode_messages (
id,
session_id,
role,
content,
model_id,
input_tokens,
output_tokens,
cost_usd,
created_at
)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?)
[2m2025-12-19T21:02:40.718109Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO claudecode_messages (id, …; rows affected: 1, rows returned: 0, elapsed: 2.207ms
INSERT INTO
claudecode_messages (
id,
session_id,
role,
content,
model_id,
input_tokens,
output_tokens,
cost_usd,
created_at
)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?)
[2m2025-12-19T21:02:40.724410Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO nodes (id, …; rows affected: 1, rows returned: 0, elapsed: 1.314ms
INSERT INTO
nodes (
id,
tree_id,
parent_id,
ref_count,
state,
node_type,
handle_source,
handle_source_version,
handle_identifier,
handle_metadata,
metadata,
created_at
)
VALUES
(
?,
?,
?,
1,
'active',
'external',
?,
?,
?,
?,
?,
?
)
[2m2025-12-19T21:02:40.724410Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO nodes (id, …; rows affected: 1, rows returned: 0, elapsed: 1.314ms
INSERT INTO
nodes (
id,
tree_id,
parent_id,
ref_count,
state,
node_type,
handle_source,
handle_source_version,
handle_identifier,
handle_metadata,
metadata,
created_at
)
VALUES
(
?,
?,
?,
1,
'active',
'external',
?,
?,
?,
?,
?,
?
)
[2m2025-12-19T21:02:40.726046Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m SELECT COALESCE(MAX(position), -1) + …; rows affected: 1, rows returned: 1, elapsed: 127.125µs
SELECT
COALESCE(MAX(position), -1) + 1 as next_pos
FROM
node_children
WHERE
parent_id = ?
[2m2025-12-19T21:02:40.726046Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m SELECT COALESCE(MAX(position), -1) + …; rows affected: 1, rows returned: 1, elapsed: 127.125µs
SELECT
COALESCE(MAX(position), -1) + 1 as next_pos
FROM
node_children
WHERE
parent_id = ?
[2m2025-12-19T21:02:40.727018Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO node_children (parent_id, …; rows affected: 1, rows returned: 0, elapsed: 978.791µs
INSERT INTO
node_children (parent_id, child_id, position)
VALUES
(?, ?, ?)
[2m2025-12-19T21:02:40.727018Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO node_children (parent_id, …; rows affected: 1, rows returned: 0, elapsed: 978.791µs
INSERT INTO
node_children (parent_id, child_id, position)
VALUES
(?, ?, ?)
[2m2025-12-19T21:02:40.727098Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m1 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:40.727098Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m1 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:44.248001Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m2 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:44.248001Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m2 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:44.274446Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m3 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:44.274446Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m3 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:44.310943Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m4 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:44.310943Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m4 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:44.325761Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m5 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:44.325761Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m5 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:44.361813Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m6 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:44.361813Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m6 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:44.376796Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m7 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:44.376796Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m7 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:44.395608Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m8 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:44.395608Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m8 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:44.444403Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m9 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:44.444403Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m9 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:44.461316Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m10 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:44.461316Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m10 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:44.499030Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m11 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:44.499030Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m11 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:45.111659Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO claudecode_messages (id, …; rows affected: 1, rows returned: 0, elapsed: 2.239ms
INSERT INTO
claudecode_messages (
id,
session_id,
role,
content,
model_id,
input_tokens,
output_tokens,
cost_usd,
created_at
)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?)
[2m2025-12-19T21:02:45.111659Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO claudecode_messages (id, …; rows affected: 1, rows returned: 0, elapsed: 2.239ms
INSERT INTO
claudecode_messages (
id,
session_id,
role,
content,
model_id,
input_tokens,
output_tokens,
cost_usd,
created_at
)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?)
[2m2025-12-19T21:02:45.116413Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO nodes (id, …; rows affected: 1, rows returned: 0, elapsed: 849.708µs
INSERT INTO
nodes (
id,
tree_id,
parent_id,
ref_count,
state,
node_type,
handle_source,
handle_source_version,
handle_identifier,
handle_metadata,
metadata,
created_at
)
VALUES
(
?,
?,
?,
1,
'active',
'external',
?,
?,
?,
?,
?,
?
)
[2m2025-12-19T21:02:45.116413Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO nodes (id, …; rows affected: 1, rows returned: 0, elapsed: 849.708µs
INSERT INTO
nodes (
id,
tree_id,
parent_id,
ref_count,
state,
node_type,
handle_source,
handle_source_version,
handle_identifier,
handle_metadata,
metadata,
created_at
)
VALUES
(
?,
?,
?,
1,
'active',
'external',
?,
?,
?,
?,
?,
?
)
[2m2025-12-19T21:02:45.117513Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m SELECT COALESCE(MAX(position), -1) + …; rows affected: 1, rows returned: 1, elapsed: 52.416µs
SELECT
COALESCE(MAX(position), -1) + 1 as next_pos
FROM
node_children
WHERE
parent_id = ?
[2m2025-12-19T21:02:45.117513Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m SELECT COALESCE(MAX(position), -1) + …; rows affected: 1, rows returned: 1, elapsed: 52.416µs
SELECT
COALESCE(MAX(position), -1) + 1 as next_pos
FROM
node_children
WHERE
parent_id = ?
[2m2025-12-19T21:02:45.118856Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO node_children (parent_id, …; rows affected: 1, rows returned: 0, elapsed: 1.192ms
INSERT INTO
node_children (parent_id, child_id, position)
VALUES
(?, ?, ?)
[2m2025-12-19T21:02:45.118856Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO node_children (parent_id, …; rows affected: 1, rows returned: 0, elapsed: 1.192ms
INSERT INTO
node_children (parent_id, child_id, position)
VALUES
(?, ?, ?)
[2m2025-12-19T21:02:45.120733Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m UPDATE claudecode_sessions SET canonical_head …; rows affected: 1, rows returned: 0, elapsed: 501.209µs
UPDATE
claudecode_sessions
SET
canonical_head = ?,
claude_session_id = ?,
updated_at = ?
WHERE
id = ?
[2m2025-12-19T21:02:45.120733Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m UPDATE claudecode_sessions SET canonical_head …; rows affected: 1, rows returned: 0, elapsed: 501.209µs
UPDATE
claudecode_sessions
SET
canonical_head = ?,
claude_session_id = ?,
updated_at = ?
WHERE
id = ?
[2m2025-12-19T21:02:45.120811Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m12 [3mis_terminal[0m[2m=[0mtrue
[2m2025-12-19T21:02:45.120811Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m12 [3mis_terminal[0m[2m=[0mtrue
[2m2025-12-19T21:02:45.120964Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream ended, sending Done [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m12
[2m2025-12-19T21:02:45.120964Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream ended, sending Done [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m12
[2m2025-12-19T21:02:56.150825Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Accepting [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mcontent_type[0m[2m=[0m"claudecode.chat"
[2m2025-12-19T21:02:56.150825Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Accepting [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mcontent_type[0m[2m=[0m"claudecode.chat"
[2m2025-12-19T21:02:56.151046Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream processing started [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] }
[2m2025-12-19T21:02:56.151046Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream processing started [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] }
[2m2025-12-19T21:02:56.154146Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m SELECT id, name, claude_session_id, …; rows affected: 1, rows returned: 1, elapsed: 622.875µs
SELECT
id,
name,
claude_session_id,
tree_id,
canonical_head,
working_dir,
model,
system_prompt,
mcp_config,
metadata,
created_at,
updated_at
FROM
claudecode_sessions
WHERE
name = ?
[2m2025-12-19T21:02:56.154146Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m SELECT id, name, claude_session_id, …; rows affected: 1, rows returned: 1, elapsed: 622.875µs
SELECT
id,
name,
claude_session_id,
tree_id,
canonical_head,
working_dir,
model,
system_prompt,
mcp_config,
metadata,
created_at,
updated_at
FROM
claudecode_sessions
WHERE
name = ?
[2m2025-12-19T21:02:56.158082Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO claudecode_messages (id, …; rows affected: 1, rows returned: 0, elapsed: 2.402ms
INSERT INTO
claudecode_messages (
id,
session_id,
role,
content,
model_id,
input_tokens,
output_tokens,
cost_usd,
created_at
)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?)
[2m2025-12-19T21:02:56.158082Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO claudecode_messages (id, …; rows affected: 1, rows returned: 0, elapsed: 2.402ms
INSERT INTO
claudecode_messages (
id,
session_id,
role,
content,
model_id,
input_tokens,
output_tokens,
cost_usd,
created_at
)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?)
[2m2025-12-19T21:02:56.164632Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO nodes (id, …; rows affected: 1, rows returned: 0, elapsed: 1.388ms
INSERT INTO
nodes (
id,
tree_id,
parent_id,
ref_count,
state,
node_type,
handle_source,
handle_source_version,
handle_identifier,
handle_metadata,
metadata,
created_at
)
VALUES
(
?,
?,
?,
1,
'active',
'external',
?,
?,
?,
?,
?,
?
)
[2m2025-12-19T21:02:56.164632Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO nodes (id, …; rows affected: 1, rows returned: 0, elapsed: 1.388ms
INSERT INTO
nodes (
id,
tree_id,
parent_id,
ref_count,
state,
node_type,
handle_source,
handle_source_version,
handle_identifier,
handle_metadata,
metadata,
created_at
)
VALUES
(
?,
?,
?,
1,
'active',
'external',
?,
?,
?,
?,
?,
?
)
[2m2025-12-19T21:02:56.166265Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m SELECT COALESCE(MAX(position), -1) + …; rows affected: 1, rows returned: 1, elapsed: 154.916µs
SELECT
COALESCE(MAX(position), -1) + 1 as next_pos
FROM
node_children
WHERE
parent_id = ?
[2m2025-12-19T21:02:56.166265Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m SELECT COALESCE(MAX(position), -1) + …; rows affected: 1, rows returned: 1, elapsed: 154.916µs
SELECT
COALESCE(MAX(position), -1) + 1 as next_pos
FROM
node_children
WHERE
parent_id = ?
[2m2025-12-19T21:02:56.167330Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO node_children (parent_id, …; rows affected: 1, rows returned: 0, elapsed: 1.049ms
INSERT INTO
node_children (parent_id, child_id, position)
VALUES
(?, ?, ?)
[2m2025-12-19T21:02:56.167330Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO node_children (parent_id, …; rows affected: 1, rows returned: 0, elapsed: 1.049ms
INSERT INTO
node_children (parent_id, child_id, position)
VALUES
(?, ?, ?)
[2m2025-12-19T21:02:56.167417Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m1 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:56.167417Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m1 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:59.939514Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m2 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:59.939514Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m2 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:59.969718Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m3 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:02:59.969718Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m3 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:03:00.067326Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m4 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:03:00.067326Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m4 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:03:00.083762Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m5 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:03:00.083762Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m5 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:03:00.110603Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m6 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:03:00.110603Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m6 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:03:00.127100Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m7 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:03:00.127100Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m7 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:03:00.142712Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m8 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:03:00.142712Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m8 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:03:00.142974Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m9 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:03:00.142974Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m9 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:03:00.143274Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m10 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:03:00.143274Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m10 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:03:00.143378Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m11 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:03:00.143378Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m11 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:03:00.143479Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m12 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:03:00.143479Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m12 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:03:00.143576Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m13 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:03:00.143576Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m13 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:03:00.655414Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO claudecode_messages (id, …; rows affected: 1, rows returned: 0, elapsed: 2.127ms
INSERT INTO
claudecode_messages (
id,
session_id,
role,
content,
model_id,
input_tokens,
output_tokens,
cost_usd,
created_at
)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?)
[2m2025-12-19T21:03:00.655414Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO claudecode_messages (id, …; rows affected: 1, rows returned: 0, elapsed: 2.127ms
INSERT INTO
claudecode_messages (
id,
session_id,
role,
content,
model_id,
input_tokens,
output_tokens,
cost_usd,
created_at
)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?)
[2m2025-12-19T21:03:00.660035Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO nodes (id, …; rows affected: 1, rows returned: 0, elapsed: 936.542µs
INSERT INTO
nodes (
id,
tree_id,
parent_id,
ref_count,
state,
node_type,
handle_source,
handle_source_version,
handle_identifier,
handle_metadata,
metadata,
created_at
)
VALUES
(
?,
?,
?,
1,
'active',
'external',
?,
?,
?,
?,
?,
?
)
[2m2025-12-19T21:03:00.660035Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO nodes (id, …; rows affected: 1, rows returned: 0, elapsed: 936.542µs
INSERT INTO
nodes (
id,
tree_id,
parent_id,
ref_count,
state,
node_type,
handle_source,
handle_source_version,
handle_identifier,
handle_metadata,
metadata,
created_at
)
VALUES
(
?,
?,
?,
1,
'active',
'external',
?,
?,
?,
?,
?,
?
)
[2m2025-12-19T21:03:00.661187Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m SELECT COALESCE(MAX(position), -1) + …; rows affected: 1, rows returned: 1, elapsed: 71.083µs
SELECT
COALESCE(MAX(position), -1) + 1 as next_pos
FROM
node_children
WHERE
parent_id = ?
[2m2025-12-19T21:03:00.661187Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m SELECT COALESCE(MAX(position), -1) + …; rows affected: 1, rows returned: 1, elapsed: 71.083µs
SELECT
COALESCE(MAX(position), -1) + 1 as next_pos
FROM
node_children
WHERE
parent_id = ?
[2m2025-12-19T21:03:00.661888Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO node_children (parent_id, …; rows affected: 1, rows returned: 0, elapsed: 622.167µs
INSERT INTO
node_children (parent_id, child_id, position)
VALUES
(?, ?, ?)
[2m2025-12-19T21:03:00.661888Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO node_children (parent_id, …; rows affected: 1, rows returned: 0, elapsed: 622.167µs
INSERT INTO
node_children (parent_id, child_id, position)
VALUES
(?, ?, ?)
[2m2025-12-19T21:03:00.663948Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m UPDATE claudecode_sessions SET canonical_head …; rows affected: 1, rows returned: 0, elapsed: 706.500µs
UPDATE
claudecode_sessions
SET
canonical_head = ?,
claude_session_id = ?,
updated_at = ?
WHERE
id = ?
[2m2025-12-19T21:03:00.663948Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m UPDATE claudecode_sessions SET canonical_head …; rows affected: 1, rows returned: 0, elapsed: 706.500µs
UPDATE
claudecode_sessions
SET
canonical_head = ?,
claude_session_id = ?,
updated_at = ?
WHERE
id = ?
[2m2025-12-19T21:03:00.664005Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m14 [3mis_terminal[0m[2m=[0mtrue
[2m2025-12-19T21:03:00.664005Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m14 [3mis_terminal[0m[2m=[0mtrue
[2m2025-12-19T21:03:00.664123Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream ended, sending Done [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m14
[2m2025-12-19T21:03:00.664123Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream ended, sending Done [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m14
[2m2025-12-19T21:05:46.402117Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Accepting [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mcontent_type[0m[2m=[0m"claudecode.chat"
[2m2025-12-19T21:05:46.402117Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Accepting [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mcontent_type[0m[2m=[0m"claudecode.chat"
[2m2025-12-19T21:05:46.402239Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream processing started [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] }
[2m2025-12-19T21:05:46.402239Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream processing started [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] }
[2m2025-12-19T21:05:46.404689Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m SELECT id, name, claude_session_id, …; rows affected: 1, rows returned: 1, elapsed: 161.542µs
SELECT
id,
name,
claude_session_id,
tree_id,
canonical_head,
working_dir,
model,
system_prompt,
mcp_config,
metadata,
created_at,
updated_at
FROM
claudecode_sessions
WHERE
name = ?
[2m2025-12-19T21:05:46.404689Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m SELECT id, name, claude_session_id, …; rows affected: 1, rows returned: 1, elapsed: 161.542µs
SELECT
id,
name,
claude_session_id,
tree_id,
canonical_head,
working_dir,
model,
system_prompt,
mcp_config,
metadata,
created_at,
updated_at
FROM
claudecode_sessions
WHERE
name = ?
[2m2025-12-19T21:05:46.406845Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO claudecode_messages (id, …; rows affected: 1, rows returned: 0, elapsed: 1.509ms
INSERT INTO
claudecode_messages (
id,
session_id,
role,
content,
model_id,
input_tokens,
output_tokens,
cost_usd,
created_at
)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?)
[2m2025-12-19T21:05:46.406845Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO claudecode_messages (id, …; rows affected: 1, rows returned: 0, elapsed: 1.509ms
INSERT INTO
claudecode_messages (
id,
session_id,
role,
content,
model_id,
input_tokens,
output_tokens,
cost_usd,
created_at
)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?)
[2m2025-12-19T21:05:46.411380Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO nodes (id, …; rows affected: 1, rows returned: 0, elapsed: 868.292µs
INSERT INTO
nodes (
id,
tree_id,
parent_id,
ref_count,
state,
node_type,
handle_source,
handle_source_version,
handle_identifier,
handle_metadata,
metadata,
created_at
)
VALUES
(
?,
?,
?,
1,
'active',
'external',
?,
?,
?,
?,
?,
?
)
[2m2025-12-19T21:05:46.411380Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO nodes (id, …; rows affected: 1, rows returned: 0, elapsed: 868.292µs
INSERT INTO
nodes (
id,
tree_id,
parent_id,
ref_count,
state,
node_type,
handle_source,
handle_source_version,
handle_identifier,
handle_metadata,
metadata,
created_at
)
VALUES
(
?,
?,
?,
1,
'active',
'external',
?,
?,
?,
?,
?,
?
)
[2m2025-12-19T21:05:46.412617Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m SELECT COALESCE(MAX(position), -1) + …; rows affected: 1, rows returned: 1, elapsed: 75.125µs
SELECT
COALESCE(MAX(position), -1) + 1 as next_pos
FROM
node_children
WHERE
parent_id = ?
[2m2025-12-19T21:05:46.412617Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m SELECT COALESCE(MAX(position), -1) + …; rows affected: 1, rows returned: 1, elapsed: 75.125µs
SELECT
COALESCE(MAX(position), -1) + 1 as next_pos
FROM
node_children
WHERE
parent_id = ?
[2m2025-12-19T21:05:46.413257Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO node_children (parent_id, …; rows affected: 1, rows returned: 0, elapsed: 656.333µs
INSERT INTO
node_children (parent_id, child_id, position)
VALUES
(?, ?, ?)
[2m2025-12-19T21:05:46.413257Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO node_children (parent_id, …; rows affected: 1, rows returned: 0, elapsed: 656.333µs
INSERT INTO
node_children (parent_id, child_id, position)
VALUES
(?, ?, ?)
[2m2025-12-19T21:05:46.413319Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m1 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:46.413319Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m1 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:49.893455Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m2 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:49.893455Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m2 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:50.025038Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m3 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:50.025038Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m3 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:50.059930Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m4 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:50.060431Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m5 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:50.060526Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m6 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:50.059930Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m4 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:50.060431Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m5 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:50.060526Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m6 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:50.150017Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m7 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:50.150017Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m7 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:50.163002Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m8 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:50.163002Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m8 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:50.217900Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m9 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:50.217900Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m9 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:50.233400Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m10 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:50.233400Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m10 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:50.247624Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m11 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:50.247624Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m11 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:50.268012Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m12 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:50.268012Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m12 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:50.701040Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m13 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:50.701040Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m13 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:50.701155Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m14 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:50.701155Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m14 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:51.452378Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m15 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:51.452378Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m15 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:51.481471Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m16 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:51.481471Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m16 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:51.680065Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m17 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:51.680065Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m17 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:51.680377Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m18 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:51.680377Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m18 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:51.680462Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m19 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:51.680462Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m19 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:51.680543Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m20 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:51.680543Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m20 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:51.680617Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m21 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:51.680617Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m21 [3mis_terminal[0m[2m=[0mfalse
[2m2025-12-19T21:05:52.120520Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO claudecode_messages (id, …; rows affected: 1, rows returned: 0, elapsed: 2.238ms
INSERT INTO
claudecode_messages (
id,
session_id,
role,
content,
model_id,
input_tokens,
output_tokens,
cost_usd,
created_at
)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?)
[2m2025-12-19T21:05:52.120520Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO claudecode_messages (id, …; rows affected: 1, rows returned: 0, elapsed: 2.238ms
INSERT INTO
claudecode_messages (
id,
session_id,
role,
content,
model_id,
input_tokens,
output_tokens,
cost_usd,
created_at
)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?)
[2m2025-12-19T21:05:52.125103Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO nodes (id, …; rows affected: 1, rows returned: 0, elapsed: 861.875µs
INSERT INTO
nodes (
id,
tree_id,
parent_id,
ref_count,
state,
node_type,
handle_source,
handle_source_version,
handle_identifier,
handle_metadata,
metadata,
created_at
)
VALUES
(
?,
?,
?,
1,
'active',
'external',
?,
?,
?,
?,
?,
?
)
[2m2025-12-19T21:05:52.125103Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO nodes (id, …; rows affected: 1, rows returned: 0, elapsed: 861.875µs
INSERT INTO
nodes (
id,
tree_id,
parent_id,
ref_count,
state,
node_type,
handle_source,
handle_source_version,
handle_identifier,
handle_metadata,
metadata,
created_at
)
VALUES
(
?,
?,
?,
1,
'active',
'external',
?,
?,
?,
?,
?,
?
)
[2m2025-12-19T21:05:52.126219Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m SELECT COALESCE(MAX(position), -1) + …; rows affected: 1, rows returned: 1, elapsed: 55.959µs
SELECT
COALESCE(MAX(position), -1) + 1 as next_pos
FROM
node_children
WHERE
parent_id = ?
[2m2025-12-19T21:05:52.126219Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m SELECT COALESCE(MAX(position), -1) + …; rows affected: 1, rows returned: 1, elapsed: 55.959µs
SELECT
COALESCE(MAX(position), -1) + 1 as next_pos
FROM
node_children
WHERE
parent_id = ?
[2m2025-12-19T21:05:52.127110Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO node_children (parent_id, …; rows affected: 1, rows returned: 0, elapsed: 762.083µs
INSERT INTO
node_children (parent_id, child_id, position)
VALUES
(?, ?, ?)
[2m2025-12-19T21:05:52.127110Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m INSERT INTO node_children (parent_id, …; rows affected: 1, rows returned: 0, elapsed: 762.083µs
INSERT INTO
node_children (parent_id, child_id, position)
VALUES
(?, ?, ?)
[2m2025-12-19T21:05:52.128987Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m UPDATE claudecode_sessions SET canonical_head …; rows affected: 1, rows returned: 0, elapsed: 523.875µs
UPDATE
claudecode_sessions
SET
canonical_head = ?,
claude_session_id = ?,
updated_at = ?
WHERE
id = ?
[2m2025-12-19T21:05:52.128987Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m UPDATE claudecode_sessions SET canonical_head …; rows affected: 1, rows returned: 0, elapsed: 523.875µs
UPDATE
claudecode_sessions
SET
canonical_head = ?,
claude_session_id = ?,
updated_at = ?
WHERE
id = ?
[2m2025-12-19T21:05:52.129050Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m22 [3mis_terminal[0m[2m=[0mtrue
[2m2025-12-19T21:05:52.129050Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream item received [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m22 [3mis_terminal[0m[2m=[0mtrue
[2m2025-12-19T21:05:52.129182Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream ended, sending Done [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m22
[2m2025-12-19T21:05:52.129182Z[0m [32m INFO[0m [2msubstrate::plugin_system::conversion[0m[2m:[0m SUBSCRIPTION: Stream ended, sending Done [3mprovenance[0m[2m=[0mProvenance { segments: ["claudecode"] } [3mitem_count[0m[2m=[0m22
warning: field `return_type` is never read
--> /Users/user/dev/controlflow/hub-macro/src/parse.rs:118:9
|
113 | pub struct MethodInfo {
| ---------- field in this struct
...
118 | pub return_type: Type,
| ^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` on by default
warning: field `return_type` is never read
--> /Users/user/dev/controlflow/hub-macro/src/parse.rs:118:9
|
113 | pub struct MethodInfo {
| ---------- field in this struct
...
118 | pub return_type: Type,
| ^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` on by default
warning: `hub-macro` (lib) generated 1 warning
warning: `hub-macro` (lib) generated 1 warning
warning: unused imports: `debug` and `trace`
--> src/plugin_system/conversion.rs:5:15
|
5 | use tracing::{debug, info, trace, warn};
| ^^^^^warning: unused imports: `debug` and `trace`
--> src/plugin_system/conversion.rs:5:15
|
5 | use tracing::{debug, info, trace, warn};
| ^^^^^ ^^^^^
^^^^^
||
=
= notenote: `#[warn(unused_imports)]` on by default
: `#[warn(unused_imports)]` on by default
warning: method `into_rpc_methods` is never used
--> src/plexus/plexus.rs:261:8
|
255 | trait ActivationObject: Send + Sync + ActivationGuidanceInfo + 'static {
| ---------------- method in this trait
...
261 | fn into_rpc_methods(self) -> Methods;
| ^^^^^^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` on by default
warning: field `config` is never read
--> src/activations/arbor/storage.rs:44:5
|
42 | pub struct ArborStorage {
| ------------ field in this struct
43 | pool: SqlitePool,
44 | warning: method `into_rpc_methods` is never used
--> src/plexus/plexus.rs:261:8
|
255 | trait ActivationObject: Send + Sync + ActivationGuidanceInfo + 'static {
| ---------------- method in this trait
...
261 | fn into_rpc_methods(self) -> Methods;
| ^^^^^^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` on by default
warning: field `config` is never read
--> src/activations/arbor/storage.rs:44:5
|
42 | pub struct ArborStorage {
| ------------ field in this struct
43 | pool: SqlitePool,
44 | config: ArborConfig,
config: ArborConfig,
| | ^^^^^^
^^^^^^
warning: method `write_mcp_config` is never used
--> src/activations/claudecode/executor.rs:161:14
|
62 | impl ClaudeCodeExecutor {
| ----------------------- method in this implementation
...
warning: method `write_mcp_config` is never used
--> src/activations/claudecode/executor.rs:161:14
|
62 | impl ClaudeCodeExecutor {
| ----------------------- method in this implementation
...
161 | 161 | async fn write_mcp_config(&self, config: &Value) -> Result<String, String> {
async fn write_mcp_config(&self, config: &Value) -> Result<String, String> {
| | ^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^
warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
--> src/plugin_system/conversion.rs:16:5
|
16 | async fn into_subscription(
| warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
--> src/plugin_system/conversion.rs:16:5
|
16 | async fn into_subscription(
| ^^^^^
|
^^^^^
|
= note = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
= note = note: `#[warn(async_fn_in_trait)]` on by default
: `#[warn(async_fn_in_trait)]` on by default
help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API changehelp: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
|
|
16
16 ~ fn into_subscription(~ fn into_subscription(
17 | self,
18 | pending: PendingSubscriptionSink,
17 | self,
18 | pending: PendingSubscriptionSink,
19 | provenance: Provenance,
19 | provenance: Provenance,
20
20 ~ ) -> ~ ) -> impl std::future::Future<Output = SubscriptionResult> + Send;impl std::future::Future<Output = SubscriptionResult> + Send;
|
|
warning: `substrate` (lib) generated 5 warnings (run `cargo fix --lib -p substrate` to apply 1 suggestion)
Compiling substrate v0.1.0 (/Users/user/dev/controlflow/control-flow/re/humanlayer/introspection)
warning: `substrate` (lib) generated 5 warnings (run `cargo fix --lib -p substrate` to apply 1 suggestion)
Compiling substrate v0.1.0 (/Users/user/dev/controlflow/control-flow/re/humanlayer/introspection)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.12s
Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.12s
Running `target/debug/substrate`
Running `target/debug/substrate`
[2m2025-12-19T21:06:04.829434Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m PRAGMA foreign_keys = ON; …; rows affected: 0, rows returned: 0, elapsed: 325.375µs
PRAGMA foreign_keys = ON;
[2m2025-12-19T21:06:04.829434Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m PRAGMA foreign_keys = ON; …; rows affected: 0, rows returned: 0, elapsed: 325.375µs
PRAGMA foreign_keys = ON;
[2m2025-12-19T21:06:04.854466Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m CREATE TABLE IF NOT …; rows affected: 0, rows returned: 0, elapsed: 1.054ms
CREATE TABLE IF NOT EXISTS trees (
id TEXT PRIMARY KEY,
root_node_id TEXT NOT NULL,
ref_count INTEGER NOT NULL DEFAULT 1,
state TEXT NOT NULL DEFAULT 'active',
scheduled_deletion_at INTEGER,
archived_at INTEGER,
created_at INTEGER NOT NULL,
updated_at INTEGER NOT NULL,
metadata TEXT
);
CREATE TABLE IF NOT EXISTS tree_refs (
tree_id TEXT NOT NULL,
owner_id TEXT NOT NULL,
count INTEGER NOT NULL DEFAULT 1,
claimed_at INTEGER NOT NULL,
PRIMARY KEY (tree_id, owner_id),
FOREIGN KEY (tree_id) REFERENCES trees(id) ON DELETE CASCADE
);
CREATE TABLE IF NOT EXISTS nodes (
id TEXT PRIMARY KEY,
tree_id TEXT NOT NULL,
parent_id TEXT,
ref_count INTEGER NOT NULL DEFAULT 1,
state TEXT NOT NULL DEFAULT 'active',
scheduled_deletion_at INTEGER,
archived_at INTEGER,
node_type TEXT NOT NULL,
content TEXT,
handle_source TEXT,
handle_source_version TEXT,
handle_identifier TEXT,
handle_metadata TEXT,
created_at INTEGER NOT NULL,
metadata TEXT,
FOREIGN KEY (tree_id) REFERENCES trees(id) ON DELETE CASCADE
);
CREATE TABLE IF NOT EXISTS node_refs (
node_id TEXT NOT NULL,
owner_id TEXT NOT NULL,
count INTEGER NOT NULL DEFAULT 1,
claimed_at INTEGER NOT NULL,
PRIMARY KEY (node_id, owner_id),
FOREIGN KEY (node_id) REFERENCES nodes(id) ON DELETE CASCADE
);
CREATE TABLE IF NOT EXISTS node_children (
parent_id TEXT NOT NULL,
child_id TEXT NOT NULL,
position INTEGER NOT NULL,
PRIMARY KEY (parent_id, child_id),
FOREIGN KEY (parent_id) REFERENCES nodes(id) ON DELETE CASCADE,
FOREIGN KEY (child_id) REFERENCES nodes(id) ON DELETE CASCADE
);
CREATE INDEX IF NOT EXISTS idx_trees_state ON trees(state);
CREATE INDEX IF NOT EXISTS idx_trees_scheduled ON trees(scheduled_deletion_at)
WHERE
state = 'scheduled_delete';
CREATE INDEX IF NOT EXISTS idx_trees_archived ON trees(archived_at)
WHERE
state = 'archived';
CREATE INDEX IF NOT EXISTS idx_nodes_tree ON nodes(tree_id);
CREATE INDEX IF NOT EXISTS idx_nodes_parent ON nodes(parent_id);
CREATE INDEX IF NOT EXISTS idx_nodes_state ON nodes(state);
CREATE INDEX IF NOT EXISTS idx_nodes_scheduled ON nodes(scheduled_deletion_at)
WHERE
state = 'scheduled_delete';
CREATE INDEX IF NOT EXISTS idx_node_children_parent ON node_children(parent_id);
CREATE INDEX IF NOT EXISTS idx_node_children_child ON node_children(child_id);
[2m2025-12-19T21:06:04.854466Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m CREATE TABLE IF NOT …; rows affected: 0, rows returned: 0, elapsed: 1.054ms
CREATE TABLE IF NOT EXISTS trees (
id TEXT PRIMARY KEY,
root_node_id TEXT NOT NULL,
ref_count INTEGER NOT NULL DEFAULT 1,
state TEXT NOT NULL DEFAULT 'active',
scheduled_deletion_at INTEGER,
archived_at INTEGER,
created_at INTEGER NOT NULL,
updated_at INTEGER NOT NULL,
metadata TEXT
);
CREATE TABLE IF NOT EXISTS tree_refs (
tree_id TEXT NOT NULL,
owner_id TEXT NOT NULL,
count INTEGER NOT NULL DEFAULT 1,
claimed_at INTEGER NOT NULL,
PRIMARY KEY (tree_id, owner_id),
FOREIGN KEY (tree_id) REFERENCES trees(id) ON DELETE CASCADE
);
CREATE TABLE IF NOT EXISTS nodes (
id TEXT PRIMARY KEY,
tree_id TEXT NOT NULL,
parent_id TEXT,
ref_count INTEGER NOT NULL DEFAULT 1,
state TEXT NOT NULL DEFAULT 'active',
scheduled_deletion_at INTEGER,
archived_at INTEGER,
node_type TEXT NOT NULL,
content TEXT,
handle_source TEXT,
handle_source_version TEXT,
handle_identifier TEXT,
handle_metadata TEXT,
created_at INTEGER NOT NULL,
metadata TEXT,
FOREIGN KEY (tree_id) REFERENCES trees(id) ON DELETE CASCADE
);
CREATE TABLE IF NOT EXISTS node_refs (
node_id TEXT NOT NULL,
owner_id TEXT NOT NULL,
count INTEGER NOT NULL DEFAULT 1,
claimed_at INTEGER NOT NULL,
PRIMARY KEY (node_id, owner_id),
FOREIGN KEY (node_id) REFERENCES nodes(id) ON DELETE CASCADE
);
CREATE TABLE IF NOT EXISTS node_children (
parent_id TEXT NOT NULL,
child_id TEXT NOT NULL,
position INTEGER NOT NULL,
PRIMARY KEY (parent_id, child_id),
FOREIGN KEY (parent_id) REFERENCES nodes(id) ON DELETE CASCADE,
FOREIGN KEY (child_id) REFERENCES nodes(id) ON DELETE CASCADE
);
CREATE INDEX IF NOT EXISTS idx_trees_state ON trees(state);
CREATE INDEX IF NOT EXISTS idx_trees_scheduled ON trees(scheduled_deletion_at)
WHERE
state = 'scheduled_delete';
CREATE INDEX IF NOT EXISTS idx_trees_archived ON trees(archived_at)
WHERE
state = 'archived';
CREATE INDEX IF NOT EXISTS idx_nodes_tree ON nodes(tree_id);
CREATE INDEX IF NOT EXISTS idx_nodes_parent ON nodes(parent_id);
CREATE INDEX IF NOT EXISTS idx_nodes_state ON nodes(state);
CREATE INDEX IF NOT EXISTS idx_nodes_scheduled ON nodes(scheduled_deletion_at)
WHERE
state = 'scheduled_delete';
CREATE INDEX IF NOT EXISTS idx_node_children_parent ON node_children(parent_id);
CREATE INDEX IF NOT EXISTS idx_node_children_child ON node_children(child_id);
[2m2025-12-19T21:06:04.855358Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m PRAGMA foreign_keys = ON; …; rows affected: 0, rows returned: 0, elapsed: 12.666µs
PRAGMA foreign_keys = ON;
[2m2025-12-19T21:06:04.855358Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m PRAGMA foreign_keys = ON; …; rows affected: 0, rows returned: 0, elapsed: 12.666µs
PRAGMA foreign_keys = ON;
[2m2025-12-19T21:06:04.863745Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m CREATE TABLE IF NOT …; rows affected: 0, rows returned: 0, elapsed: 204.209µs
CREATE TABLE IF NOT EXISTS claudecode_sessions (
id TEXT PRIMARY KEY,
name TEXT NOT NULL UNIQUE,
claude_session_id TEXT,
tree_id TEXT NOT NULL,
canonical_head TEXT NOT NULL,
working_dir TEXT NOT NULL,
model TEXT NOT NULL,
system_prompt TEXT,
mcp_config TEXT,
metadata TEXT,
created_at INTEGER NOT NULL,
updated_at INTEGER NOT NULL
);
CREATE TABLE IF NOT EXISTS claudecode_messages (
id TEXT PRIMARY KEY,
session_id TEXT NOT NULL,
role TEXT NOT NULL,
content TEXT NOT NULL,
model_id TEXT,
input_tokens INTEGER,
output_tokens INTEGER,
cost_usd REAL,
created_at INTEGER NOT NULL,
FOREIGN KEY (session_id) REFERENCES claudecode_sessions(id) ON DELETE CASCADE
);
CREATE INDEX IF NOT EXISTS idx_claudecode_sessions_name ON claudecode_sessions(name);
CREATE INDEX IF NOT EXISTS idx_claudecode_sessions_tree ON claudecode_sessions(tree_id);
CREATE INDEX IF NOT EXISTS idx_claudecode_messages_session ON claudecode_messages(session_id);
[2m2025-12-19T21:06:04.863745Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m CREATE TABLE IF NOT …; rows affected: 0, rows returned: 0, elapsed: 204.209µs
CREATE TABLE IF NOT EXISTS claudecode_sessions (
id TEXT PRIMARY KEY,
name TEXT NOT NULL UNIQUE,
claude_session_id TEXT,
tree_id TEXT NOT NULL,
canonical_head TEXT NOT NULL,
working_dir TEXT NOT NULL,
model TEXT NOT NULL,
system_prompt TEXT,
mcp_config TEXT,
metadata TEXT,
created_at INTEGER NOT NULL,
updated_at INTEGER NOT NULL
);
CREATE TABLE IF NOT EXISTS claudecode_messages (
id TEXT PRIMARY KEY,
session_id TEXT NOT NULL,
role TEXT NOT NULL,
content TEXT NOT NULL,
model_id TEXT,
input_tokens INTEGER,
output_tokens INTEGER,
cost_usd REAL,
created_at INTEGER NOT NULL,
FOREIGN KEY (session_id) REFERENCES claudecode_sessions(id) ON DELETE CASCADE
);
CREATE INDEX IF NOT EXISTS idx_claudecode_sessions_name ON claudecode_sessions(name);
CREATE INDEX IF NOT EXISTS idx_claudecode_sessions_tree ON claudecode_sessions(tree_id);
CREATE INDEX IF NOT EXISTS idx_claudecode_messages_session ON claudecode_messages(session_id);
[2m2025-12-19T21:06:04.864670Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m PRAGMA foreign_keys = ON; …; rows affected: 0, rows returned: 0, elapsed: 12.875µs
PRAGMA foreign_keys = ON;
[2m2025-12-19T21:06:04.864670Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m PRAGMA foreign_keys = ON; …; rows affected: 0, rows returned: 0, elapsed: 12.875µs
PRAGMA foreign_keys = ON;
[2m2025-12-19T21:06:04.871545Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m CREATE TABLE IF NOT …; rows affected: 0, rows returned: 0, elapsed: 243.250µs
CREATE TABLE IF NOT EXISTS cones (
id TEXT PRIMARY KEY,
name TEXT NOT NULL UNIQUE,
model_id TEXT NOT NULL,
system_prompt TEXT,
tree_id TEXT NOT NULL,
canonical_head TEXT NOT NULL,
metadata TEXT,
created_at INTEGER NOT NULL,
updated_at INTEGER NOT NULL
);
CREATE TABLE IF NOT EXISTS messages (
id TEXT PRIMARY KEY,
cone_id TEXT NOT NULL,
role TEXT NOT NULL,
content TEXT NOT NULL,
model_id TEXT,
input_tokens INTEGER,
output_tokens INTEGER,
created_at INTEGER NOT NULL,
FOREIGN KEY (cone_id) REFERENCES cones(id) ON DELETE CASCADE
);
CREATE INDEX IF NOT EXISTS idx_cones_name ON cones(name);
CREATE INDEX IF NOT EXISTS idx_cones_tree ON cones(tree_id);
CREATE INDEX IF NOT EXISTS idx_messages_cone ON messages(cone_id);
[2m2025-12-19T21:06:04.871545Z[0m [32m INFO[0m [2msqlx::query[0m[2m:[0m CREATE TABLE IF NOT …; rows affected: 0, rows returned: 0, elapsed: 243.250µs
CREATE TABLE IF NOT EXISTS cones (
id TEXT PRIMARY KEY,
name TEXT NOT NULL UNIQUE,
model_id TEXT NOT NULL,
system_prompt TEXT,
tree_id TEXT NOT NULL,
canonical_head TEXT NOT NULL,
metadata TEXT,
created_at INTEGER NOT NULL,
updated_at INTEGER NOT NULL
);
CREATE TABLE IF NOT EXISTS messages (
id TEXT PRIMARY KEY,
cone_id TEXT NOT NULL,
role TEXT NOT NULL,
content TEXT NOT NULL,
model_id TEXT,
input_tokens INTEGER,
output_tokens INTEGER,
created_at INTEGER NOT NULL,
FOREIGN KEY (cone_id) REFERENCES cones(id) ON DELETE CASCADE
);
CREATE INDEX IF NOT EXISTS idx_cones_name ON cones(name);
CREATE INDEX IF NOT EXISTS idx_cones_tree ON cones(tree_id);
CREATE INDEX IF NOT EXISTS idx_messages_cone ON messages(cone_id);
[2m2025-12-19T21:06:04.928146Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m Substrate plexus started at ws://127.0.0.1:4444
[2m2025-12-19T21:06:04.928146Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m Substrate plexus started at ws://127.0.0.1:4444
[2m2025-12-19T21:06:04.928202Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m Data directory: /Users/user/dev/controlflow/control-flow/re/humanlayer/introspection/.substrate
[2m2025-12-19T21:06:04.928212Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m Plexus hash: 49df07e4f596ea6a
[2m2025-12-19T21:06:04.928202Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m Data directory: /Users/user/dev/controlflow/control-flow/re/humanlayer/introspection/.substrate
[2m2025-12-19T21:06:04.928212Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m Plexus hash: 49df07e4f596ea6a
[2m2025-12-19T21:06:04.928227Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m
[2m2025-12-19T21:06:04.928231Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m Plexus methods (4):
[2m2025-12-19T21:06:04.928227Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m
[2m2025-12-19T21:06:04.928231Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m Plexus methods (4):
[2m2025-12-19T21:06:04.928246Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - plexus_schema
[2m2025-12-19T21:06:04.928262Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - plexus_activation_schema
[2m2025-12-19T21:06:04.928246Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - plexus_schema
[2m2025-12-19T21:06:04.928262Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - plexus_activation_schema
[2m2025-12-19T21:06:04.928265Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - plexus_full_schema
[2m2025-12-19T21:06:04.928269Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - plexus_hash
[2m2025-12-19T21:06:04.928265Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - plexus_full_schema
[2m2025-12-19T21:06:04.928269Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - plexus_hash
[2m2025-12-19T21:06:04.928272Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m
[2m2025-12-19T21:06:04.928276Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m Activations (5):
[2m2025-12-19T21:06:04.928272Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m
[2m2025-12-19T21:06:04.928276Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m Activations (5):
[2m2025-12-19T21:06:04.928280Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m arbor v1.0.0 - Manage conversation trees with context tracking
[2m2025-12-19T21:06:04.928280Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m arbor v1.0.0 - Manage conversation trees with context tracking
[2m2025-12-19T21:06:04.928286Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_create
[2m2025-12-19T21:06:04.928289Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_get
[2m2025-12-19T21:06:04.928286Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_create
[2m2025-12-19T21:06:04.928289Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_get
[2m2025-12-19T21:06:04.928292Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_get_skeleton
[2m2025-12-19T21:06:04.928296Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_list
[2m2025-12-19T21:06:04.928292Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_get_skeleton
[2m2025-12-19T21:06:04.928296Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_list
[2m2025-12-19T21:06:04.928299Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_update_metadata
[2m2025-12-19T21:06:04.928303Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_claim
[2m2025-12-19T21:06:04.928299Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_update_metadata
[2m2025-12-19T21:06:04.928303Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_claim
[2m2025-12-19T21:06:04.928307Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_release
[2m2025-12-19T21:06:04.928307Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_release
[2m2025-12-19T21:06:04.928311Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_list_scheduled
[2m2025-12-19T21:06:04.928311Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_list_scheduled
[2m2025-12-19T21:06:04.928322Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_list_archived
[2m2025-12-19T21:06:04.928326Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_node_create_text
[2m2025-12-19T21:06:04.928329Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_node_create_external
[2m2025-12-19T21:06:04.928332Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_node_get
[2m2025-12-19T21:06:04.928335Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_node_get_children
[2m2025-12-19T21:06:04.928338Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_node_get_parent
[2m2025-12-19T21:06:04.928341Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_node_get_path
[2m2025-12-19T21:06:04.928343Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_context_list_leaves
[2m2025-12-19T21:06:04.928346Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_context_get_path
[2m2025-12-19T21:06:04.928322Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_list_archived
[2m2025-12-19T21:06:04.928326Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_node_create_text
[2m2025-12-19T21:06:04.928329Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_node_create_external
[2m2025-12-19T21:06:04.928332Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_node_get
[2m2025-12-19T21:06:04.928335Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_node_get_children
[2m2025-12-19T21:06:04.928338Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_node_get_parent
[2m2025-12-19T21:06:04.928341Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_node_get_path
[2m2025-12-19T21:06:04.928343Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_context_list_leaves
[2m2025-12-19T21:06:04.928346Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_context_get_path
[2m2025-12-19T21:06:04.928352Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_context_get_handles
[2m2025-12-19T21:06:04.928352Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_context_get_handles
[2m2025-12-19T21:06:04.928358Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_render
[2m2025-12-19T21:06:04.928358Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - arbor_tree_render
[2m2025-12-19T21:06:04.928361Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m bash v1.0.0 - Execute bash commands and stream output
[2m2025-12-19T21:06:04.928361Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m bash v1.0.0 - Execute bash commands and stream output
[2m2025-12-19T21:06:04.928365Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - bash_execute
[2m2025-12-19T21:06:04.928365Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - bash_execute
[2m2025-12-19T21:06:04.928368Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m claudecode v1.0.0 - Manage Claude Code sessions with Arbor-backed conversation history
[2m2025-12-19T21:06:04.928368Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m claudecode v1.0.0 - Manage Claude Code sessions with Arbor-backed conversation history
[2m2025-12-19T21:06:04.928373Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - claudecode_create
[2m2025-12-19T21:06:04.928373Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - claudecode_create
[2m2025-12-19T21:06:04.928375Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - claudecode_chat
[2m2025-12-19T21:06:04.928375Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - claudecode_chat
[2m2025-12-19T21:06:04.928378Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - claudecode_get
[2m2025-12-19T21:06:04.928378Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - claudecode_get
[2m2025-12-19T21:06:04.928381Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - claudecode_list
[2m2025-12-19T21:06:04.928385Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - claudecode_delete
[2m2025-12-19T21:06:04.928388Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - claudecode_fork
[2m2025-12-19T21:06:04.928381Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - claudecode_list
[2m2025-12-19T21:06:04.928385Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - claudecode_delete
[2m2025-12-19T21:06:04.928388Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - claudecode_fork
[2m2025-12-19T21:06:04.928390Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m cone v1.0.0 - LLM cone with persistent conversation context
[2m2025-12-19T21:06:04.928390Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m cone v1.0.0 - LLM cone with persistent conversation context
[2m2025-12-19T21:06:04.928394Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - cone_create
[2m2025-12-19T21:06:04.928394Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - cone_create
[2m2025-12-19T21:06:04.928397Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - cone_get
[2m2025-12-19T21:06:04.928397Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - cone_get
[2m2025-12-19T21:06:04.928400Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - cone_list
[2m2025-12-19T21:06:04.928400Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - cone_list
[2m2025-12-19T21:06:04.928403Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - cone_delete
[2m2025-12-19T21:06:04.928403Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - cone_delete
[2m2025-12-19T21:06:04.928406Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - cone_chat
[2m2025-12-19T21:06:04.928406Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - cone_chat
[2m2025-12-19T21:06:04.928409Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - cone_set_head
[2m2025-12-19T21:06:04.928409Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - cone_set_head
[2m2025-12-19T21:06:04.928412Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - cone_registry
[2m2025-12-19T21:06:04.928412Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - cone_registry
[2m2025-12-19T21:06:04.928415Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m health v1.0.0 - Check hub health and uptime
[2m2025-12-19T21:06:04.928415Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m health v1.0.0 - Check hub health and uptime
[2m2025-12-19T21:06:04.928419Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - health_check
[2m2025-12-19T21:06:04.928419Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m - health_check
[2m2025-12-19T21:06:04.928422Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m
[2m2025-12-19T21:06:04.928422Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m
[2m2025-12-19T21:06:04.928425Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m Total methods: 34 (+4 plexus)
[2m2025-12-19T21:06:04.928425Z[0m [32m INFO[0m [2msubstrate[0m[2m:[0m Total methods: 34 (+4 plexus)