review: memory writes from a secret session are not written to Honcho
The journal now records each call's class (absent on the owner's undo and on older lines, which still read). The mirror turns everything a secret write would conclude or send to the fleet into one Skip, after its deletions, which still go; a note whose own header says secret is skipped the same way. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -35,6 +35,10 @@ pub struct Record {
|
||||
/// For an undo, the edit it reverted.
|
||||
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||
pub undoes: Option<String>,
|
||||
/// The call's class (`public`, `private` or `secret`, as on the wire): what its session had
|
||||
/// read. `None` for the owner's undo and for lines from before it was recorded.
|
||||
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||
pub class: Option<String>,
|
||||
}
|
||||
|
||||
fn file_of(name: &str) -> Option<MemoryFile> {
|
||||
@@ -132,6 +136,7 @@ pub fn record(store: &Store, ctx: &Context, outcome: &Outcome) -> Result<String,
|
||||
untrusted: ctx.untrusted,
|
||||
flag: outcome.flag.map(str::to_string),
|
||||
undoes: None,
|
||||
class: Some(crate::notes::class_name(ctx.taint).to_string()),
|
||||
},
|
||||
ctx.now,
|
||||
)
|
||||
@@ -227,6 +232,7 @@ pub fn undo(store: &Store, id: &str, now: Timestamp) -> Result<String, String> {
|
||||
untrusted: false,
|
||||
flag: None,
|
||||
undoes: Some(id.to_string()),
|
||||
class: None,
|
||||
},
|
||||
now,
|
||||
)?;
|
||||
|
||||
Reference in New Issue
Block a user