From 841990bde158a996be65feabcef4aa5e18fc3a4b Mon Sep 17 00:00:00 2001 From: morluto <76467478+morluto@users.noreply.github.com> Date: Mon, 13 Jul 2026 17:15:22 +0800 Subject: [PATCH] docs(process): preserve capture invariants --- ...ProcessCheckpoints.ProcessCheckpoints.html | 4 +- ...ion_TerminalRenderer.TerminalRenderer.html | 19 +++++---- ...mandShimReplay.startCommandShimReplay.html | 5 ++- ...ProcessHarness.captureProcessScenario.html | 2 +- ...essOwnership.cleanupOwnedProcessGroup.html | 5 ++- ...ocessCapture.authorizeProcessScenario.html | 2 +- ...n_processCapture.parseProcessScenario.html | 2 +- ...cessComparison.compareProcessCaptures.html | 6 ++- ...on_ProcessOwnership.OwnedProcessGroup.html | 15 ++++--- ...ProcessOwnership.ProcessOwnershipHost.html | 11 +++-- .../domain_processCapture.FileState.html | 14 +++---- ...n_processCapture.FilesystemCheckpoint.html | 14 +++---- ...omain_processCapture.InteractionEvent.html | 16 ++++---- .../domain_processCapture.ProcessCapture.html | 40 ++++++++++--------- ...processCapture.ProcessExecutionPolicy.html | 14 +++---- .../domain_processCapture.ProcessSample.html | 14 +++---- .../domain_processCapture.ProtocolEvent.html | 18 ++++----- ..._processCapture.RenderedTerminalFrame.html | 22 +++++----- .../domain_processCapture.ShimEvent.html | 16 ++++---- .../domain_processCapture.TerminalFrame.html | 10 ++--- ...ProcessOwnership.ProcessCleanupResult.html | 6 ++- ..._processCapture.ProcessPolicyDecision.html | 4 +- ...domain_processCapture.ProcessScenario.html | 4 +- ...n_processCapture.processCaptureSchema.html | 2 +- ..._processCapture.processScenarioSchema.html | 5 ++- src/application/CommandShimReplay.ts | 8 +++- src/application/ProcessCheckpoints.ts | 3 ++ src/application/ProcessHarness.ts | 9 ++++- src/application/ProcessOwnership.ts | 11 ++++- src/application/TerminalRenderer.ts | 7 ++++ src/artifacts/AsarArtifactReader.ts | 8 +++- src/domain/processCapture.ts | 20 ++++++++++ src/domain/processComparison.ts | 6 +++ 33 files changed, 214 insertions(+), 128 deletions(-) diff --git a/docs/api/classes/application_ProcessCheckpoints.ProcessCheckpoints.html b/docs/api/classes/application_ProcessCheckpoints.ProcessCheckpoints.html index 01b732a78..cb38fb733 100644 --- a/docs/api/classes/application_ProcessCheckpoints.ProcessCheckpoints.html +++ b/docs/api/classes/application_ProcessCheckpoints.ProcessCheckpoints.html @@ -80,7 +80,7 @@
Start bounded executable replay wrappers and their private invocation ledger.
+Exact argument matching is deliberate: a fallback to the host executable +would make an unmatched dependency call look authoritative. Unmatched and +exhausted routes therefore fail visibly and remain part of the capture.
Optionalsignal: AbortSignalVerify run-token ownership before signaling a POSIX process group.
+Process IDs and group IDs can be reused. REA therefore re-reads every live +member's environment immediately before signaling and fails closed if any +member cannot be inspected or lacks the per-capture run token.
Compare bounded captures without equating missing or incompatible evidence.
+Compare two Process Capture v3 observations without treating absence as proof.
+Observed differences outrank residual unknowns. A capture may therefore be +definitively changed in one dimension while completeness remains unknown.
Identity proof required before REA may signal a captured process group.
+Expected launcher identity, checked only while the leader exists.
Optional ReadonlyexpectedExpected launcher parent, checked only while the leader exists.
ReadonlyleaderReadonlyprocessReadonlyrunNarrow operating-system seam used to inspect and signal process groups.
+ReadonlypathReadonlysha256ReadonlysizeReadonlysymlink_ReadonlytypeA named filesystem observation captured during a process lifecycle.
+Named filesystem state whose effects are relative to the prior checkpoint.
ReadonlyeffectsReadonlyfilesReadonlynameReadonlytruncatedOne attempted scripted interaction with the PTY.
+Scheduled input, resize, or signal with its observed dispatch outcome.
Readonlydispatched_ReadonlyoutcomeReadonlyscheduled_ReadonlysequenceReadonlytypeA bounded process observation with explicit incompleteness metadata.
+Process Capture v3 observation set.
+truncated and residual_unknowns are semantic evidence: consumers must not
+infer equivalence from matching bounded observations when either is present.
ReadonlyexitReadonlyfiles_Readonlyfiles_Readonlyfilesystem_Readonlyfilesystem_ReadonlyframesReadonlyinteraction_ReadonlylimitationsReadonlynormalizationReadonlyprocess_Readonlyprotocol_Readonlyrendered_Readonlyresidual_Readonlyschema_Readonlyshim_ReadonlytruncatedOperator-owned policy for process capture.
+Operator-owned ceiling applied in addition to per-scenario approval.
ReadonlyallowReadonlyenabledReadonlyexecutableReadonlyworkingReadonlycommandReadonlyparent_ReadonlypidReadonlyprocess_Readonlysession_ReadonlydataReadonlydirectionReadonlymethodReadonlyoutcomeReadonlypathReadonlyprotocolReadonlysequenceOne rendered terminal state after xterm has parsed a PTY chunk or resize.
+Serialized terminal state after interpreting control and resize sequences.
Readonlyat_ReadonlycolumnsReadonlycursor_Readonlycursor_ReadonlylinesReadonlyrowsReadonlysequenceReadonlyserialized_One invocation observed by the declarative command-shim replay adapter.
+Recorded deterministic dependency invocation and route-match outcome.
Readonlyat_ReadonlycommandReadonlyoutcomeReadonlysequenceReadonlyworking_One bounded terminal observation.
+Normalized raw PTY chunk, preserving transport-level output differences.
ReadonlydataReadonlysequenceA safe, caller-visible process-policy decision.
+Explicit authorization result; denial reasons are safe to show callers.
A parsed, bounded dynamic process observation scenario.
+Parsed instructions and resource bounds for one process experiment.
Exact serialized shape of a bounded process capture.
ConstExact boundary schema for bounded dynamic process scenarios.
+Boundary schema for one explicitly approved, bounded process experiment. +Defaults are part of the evidence contract and must remain deterministic.
Owns one headless terminal and serializes writes into deterministic frames.
+Reconstructs bounded terminal states while raw PTY chunks remain authoritative.
+Rendered frames answer what an operator saw after control-sequence handling; +raw frames preserve byte/chunk differences that can render identically. +Comparisons retain both because neither representation subsumes the other.
@@ -48,7 +51,7 @@options: TerminalRendererOptions
Returns TerminalRenderer