provenance: set POC_PROVENANCE for agent subprocesses, Jaccard initial strength

Agent subprocess calls now set POC_PROVENANCE=agent:{name} so any
nodes/links created via tool calls are tagged with the creating agent.
This makes agent transcripts indistinguishable from conscious sessions
in format — important for future model training.

new_relation() now reads POC_PROVENANCE env var directly (raw string,
not enum) since agent names are dynamic.

link-add now computes initial strength from Jaccard similarity instead
of hardcoded 0.8. New links start at a strength reflecting actual
neighborhood overlap.

Co-Authored-By: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
ProofOfConcept 2026-03-14 12:27:30 -04:00
parent 58a95a22a0
commit 51ee082faf
3 changed files with 16 additions and 4 deletions

View file

@ -1642,14 +1642,19 @@ fn cmd_link_add(source: &str, target: &str, reason: &[String]) -> Result<(), Str
return Ok(());
}
// Compute initial strength from Jaccard neighborhood similarity
let graph = store.build_graph();
let jaccard = graph.jaccard(&source, &target);
let strength = (jaccard * 3.0).clamp(0.1, 1.0);
let rel = store::new_relation(
source_uuid, target_uuid,
store::RelationType::Link, 0.8,
store::RelationType::Link, strength,
&source, &target,
);
store.add_relation(rel)?;
store.save()?;
println!("Linked: {}{} ({})", source, target, reason);
println!("Linked: {}{} (strength={:.2}, {})", source, target, strength, reason);
Ok(())
}