CompactCheckpointRecord class final

A text checkpoint the structured compaction engine compacts a range into (issue #148, pass 2). The checkpoint's text replaces the range in the context projection, but every segment it covers stays listed with its expand id — nothing becomes unreachable (the anti-#81 pin).

Inheritance

Constructors

CompactCheckpointRecord({required String id, required String? parentId, required DateTime timestamp, required String firstRecordId, required String lastRecordId, required String text, required List<String> coversRecordIds, required List<String> flattenedRecordIds})
Creates a CompactCheckpointRecord.
const

Properties

coversRecordIds → List<String>
Every record id the checkpoint replaces — hidden segments, inner checkpoints, and newly swallowed records alike. Written as ranges at render time; stored as stable record ids.
final
firstRecordId → String
Id of the first record in the compacted range (inclusive).
final
flattenedRecordIds → List<String>
Inner checkpoints whose text was folded into this one by the depth cap (issue #148 D5: nesting depth ≤ 4, flattening merges the deepest level's text and covers transitively). Those records stop counting for nesting depth — they are dead nodes in the checkpoint DAG.
final
hashCode → int
The hash code for this object.
no setterinherited
id → String
Unique record id (short random id generated by the storage).
finalinherited
lastRecordId → String
Id of the last record in the compacted range (inclusive).
final
parentId → String?
Id of the parent record, or null for a tree root.
finalinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
text → String
The LLM-generated checkpoint text.
final
timestamp → DateTime
When the record was created.
finalinherited
type → String
The type discriminator written to JSON (pi's type field).
no setteroverride

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
payloadJson() → Map<String, dynamic>
Type-specific fields merged into toJson by subclasses.
override
toJson() → Map<String, dynamic>
Serializes to a JSON map with the type discriminator (pi shape).
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited