Class: BehaviorLedger
August 8, 2026 ยท View on GitHub
@plures/praxis / index / BehaviorLedger
Class: BehaviorLedger
Defined in: packages/praxis-core/src/decision-ledger/ledger.ts:37
Immutable, append-only behavior ledger.
Constructors
Constructor
new BehaviorLedger():
BehaviorLedger
Returns
BehaviorLedger
Methods
append()
append(
entry):void
Defined in: packages/praxis-core/src/decision-ledger/ledger.ts:47
Append a new entry to the ledger.
Parameters
entry
The entry to append
Returns
void
Throws
Error if entry ID already exists
findAssumptionsByImpact()
findAssumptionsByImpact(
impactType):Assumption[]
Defined in: packages/praxis-core/src/decision-ledger/ledger.ts:153
Find assumptions that impact a specific artifact type.
Parameters
impactType
"tests" | "spec" | "code"
The artifact type ('spec', 'tests', 'code')
Returns
Array of assumptions
getActiveAssumptions()
getActiveAssumptions():
Map<string,Assumption>
Defined in: packages/praxis-core/src/decision-ledger/ledger.ts:127
Get all active assumptions across all entries.
Returns
Map<string, Assumption>
Map of assumption ID to assumption
getAllEntries()
getAllEntries():
LedgerEntry[]
Defined in: packages/praxis-core/src/decision-ledger/ledger.ts:87
Get all entries (in order of append) with current status.
Returns
Array of all entries with current status from the map
getEntriesForRule()
getEntriesForRule(
ruleId):LedgerEntry[]
Defined in: packages/praxis-core/src/decision-ledger/ledger.ts:98
Get entries for a specific rule ID.
Parameters
ruleId
string
The rule ID
Returns
Array of entries for this rule with current status
getEntry()
getEntry(
id):LedgerEntry|undefined
Defined in: packages/praxis-core/src/decision-ledger/ledger.ts:78
Get an entry by ID.
Parameters
id
string
The entry ID
Returns
LedgerEntry | undefined
The entry, or undefined if not found
getLatestEntry()
getLatestEntry(
ruleId):LedgerEntry|undefined
Defined in: packages/praxis-core/src/decision-ledger/ledger.ts:110
Get the latest active entry for a rule.
Parameters
ruleId
string
The rule ID
Returns
LedgerEntry | undefined
The latest active entry, or undefined if none
getStats()
getStats():
object
Defined in: packages/praxis-core/src/decision-ledger/ledger.ts:176
Get ledger statistics.
Returns
object
activeEntries
activeEntries:
number
deprecatedEntries
deprecatedEntries:
number
supersededEntries
supersededEntries:
number
totalEntries
totalEntries:
number
uniqueRules
uniqueRules:
number
toJSON()
toJSON():
string
Defined in: packages/praxis-core/src/decision-ledger/ledger.ts:204
Export ledger as JSON.
Returns
string
JSON string with current entry status
fromJSON()
staticfromJSON(json):BehaviorLedger
Defined in: packages/praxis-core/src/decision-ledger/ledger.ts:227
Import ledger from JSON.
Note: The JSON must contain entries in the order they were originally appended. If a superseding entry appears before the entry it supersedes, the superseding logic will not work correctly. The toJSON method preserves this order.
Parameters
json
string
The JSON string
Returns
BehaviorLedger
A new BehaviorLedger instance