feat: freeze Host Journal context across compaction
This commit is contained in:
@@ -69,6 +69,8 @@ pub enum LoggedSessionHistoryOrigin {
|
||||
},
|
||||
/// Host-produced opening context summary; not auto-read or TaskStore material.
|
||||
CompactionSummary,
|
||||
/// Frozen Host Journal reference, never independent observation evidence.
|
||||
JournalContext,
|
||||
DerivedSummary,
|
||||
LegacyUnknown,
|
||||
}
|
||||
|
||||
@@ -829,7 +829,9 @@ fn boundary_reference(
|
||||
fn canonical_body(entry: &LoggedHistoryEntry) -> Option<CanonicalBody<'_>> {
|
||||
if matches!(
|
||||
entry.metadata.origin,
|
||||
LoggedSessionHistoryOrigin::DerivedSummary | LoggedSessionHistoryOrigin::CompactionSummary
|
||||
LoggedSessionHistoryOrigin::DerivedSummary
|
||||
| LoggedSessionHistoryOrigin::CompactionSummary
|
||||
| LoggedSessionHistoryOrigin::JournalContext
|
||||
) {
|
||||
return None;
|
||||
}
|
||||
|
||||
@@ -543,6 +543,14 @@ fn reasoning_proves_rollback_safety_but_private_and_derived_items_are_not_materi
|
||||
let segment = crate::new_segment_id();
|
||||
let mut derived = message("derived", LoggedRole::User, "summary");
|
||||
derived.metadata.origin = LoggedSessionHistoryOrigin::DerivedSummary;
|
||||
let mut journal = message("journal", LoggedRole::User, "frozen Journal reference");
|
||||
journal.metadata.origin = LoggedSessionHistoryOrigin::JournalContext;
|
||||
let mut summary = message(
|
||||
"compaction-summary",
|
||||
LoggedRole::User,
|
||||
"complementary summary",
|
||||
);
|
||||
summary.metadata.origin = LoggedSessionHistoryOrigin::CompactionSummary;
|
||||
let reasoning = entry(
|
||||
"reasoning",
|
||||
LoggedItem::Reasoning {
|
||||
@@ -559,7 +567,12 @@ fn reasoning_proves_rollback_safety_but_private_and_derived_items_are_not_materi
|
||||
&[
|
||||
seed(
|
||||
session,
|
||||
vec![derived, message("system", LoggedRole::System, "secret")],
|
||||
vec![
|
||||
derived,
|
||||
journal,
|
||||
summary,
|
||||
message("system", LoggedRole::System, "secret"),
|
||||
],
|
||||
),
|
||||
LogEntry::AnnotatedSystemItem {
|
||||
ts: 1,
|
||||
|
||||
@@ -1889,6 +1889,7 @@ fn provenance(origin: &LoggedSessionHistoryOrigin) -> SessionEntryProvenance {
|
||||
LoggedSessionHistoryOrigin::ModelOutput { .. } => SessionEntryProvenance::ModelOutput,
|
||||
LoggedSessionHistoryOrigin::ToolOutput { .. } => SessionEntryProvenance::ToolOutput,
|
||||
LoggedSessionHistoryOrigin::CompactionSummary
|
||||
| LoggedSessionHistoryOrigin::JournalContext
|
||||
| LoggedSessionHistoryOrigin::DerivedSummary => SessionEntryProvenance::DerivedSummary,
|
||||
LoggedSessionHistoryOrigin::LegacyUnknown => SessionEntryProvenance::LegacyUnknown,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user