Skip to content

seed/authoring

seed/authoring

Type Aliases

ComputationDefinition

type ComputationDefinition = object;

Defined in: std/build/reckon/definition.d.ts:73

A declarative computation graph.

No input schema is declared — the caller passes any object and optionally types it via the generic <TInput> on runComputation. The engine resolves expr dependencies by walking CEL ASTs, topo-sorts, and evaluates.

Example

const def: ComputationDefinition = {
  id: 'my-pcb-2026',
  tables: {
    pcbTable: {
      kind: 'progressive',
      rows: [
        { max: 5000, rate: 0.0, base: 0 },
        { max: 20000, rate: 0.01, base: 0 },
      ],
    },
  },
  exprs: {
    annualized: 'taxableEarnings * 12',
    pcb: 'round(applyProgressive(annualized, "pcbTable") / 12, "NEAREST_CENT")',
  },
  outputs: ['pcb'],
};

Properties

Property Type Description Defined in
components? Record<string, ComputationComponent> Optional mapping from output expr ids to payslip component metadata. std/build/reckon/definition.d.ts:83
dependsOn? string[] Other computation definition ids whose outputs feed into this one's inputs. std/build/reckon/definition.d.ts:85
exprs Record<string, string> Named CEL expressions. Each expr can reference inputs, other exprs, and registered ops. std/build/reckon/definition.d.ts:79
id string Unique identifier for this definition. std/build/reckon/definition.d.ts:75
outputs string[] Which expr names are exposed as outputs. std/build/reckon/definition.d.ts:81
tables Record<string, InlinedTable> Inlined rate/classification tables, keyed by name. Referenced in exprs via string literals. std/build/reckon/definition.d.ts:77

ComputationManifest

type ComputationManifest = object;

Defined in: std/build/reckon/definition.d.ts:113

Structured, replayable record of a computation run.

Properties

Property Type Description Defined in
computationId string The computation definition id. std/build/reckon/definition.d.ts:115
definitionHash string SHA-256 hash of the canonicalized definition (exprs + inlined tables). std/build/reckon/definition.d.ts:117
inputSnapshot Record<string, unknown> Snapshot of input values — enables replay without live source records. std/build/reckon/definition.d.ts:119
nodes ComputationManifestNode[] One node per named expr, in evaluation order. std/build/reckon/definition.d.ts:121
outputs Record<string, { nodeId: string; value: unknown; }> The declared outputs with their values and source node ids. std/build/reckon/definition.d.ts:123

ComputationManifestNode

type ComputationManifestNode = object;

Defined in: std/build/reckon/definition.d.ts:95

A single node in the computation manifest — one per named expr.

Properties

Property Type Description Defined in
expr string The CEL source string. std/build/reckon/definition.d.ts:99
id string The expr name. std/build/reckon/definition.d.ts:97
inputs Record<string, unknown> Values of referenced identifiers at evaluation time. std/build/reckon/definition.d.ts:101
iterations? object[] Per-iteration traces for fold nodes. Collapsed by default in viewers. std/build/reckon/definition.d.ts:107
opAudit? unknown Structured audit from registered ops (e.g. matched tier, rounding before/after). std/build/reckon/definition.d.ts:105
output unknown The computed result (scalar or list). std/build/reckon/definition.d.ts:103

InlinedTable

type InlinedTable = 
  | {
  kind: "flat";
  rows: FlatTableRow[];
}
  | {
  kind: "tier";
  rows: TierTableRow[];
}
  | {
  kind: "progressive";
  rows: ProgressiveTableRow[];
}
  | {
  dimensions: MatrixDimension[];
  kind: "matrix";
  rows: FlatTableRow[];
};

Defined in: std/build/reckon/definition.d.ts:31

Rate tables inlined directly into the computation definition. The definition hash covers exprs + tables, so old results always reference the exact table that was used.


ReckonResult

type ReckonResult<TOutput> = object;

Defined in: std/build/reckon/definition.d.ts:129

Result of running a computation — typed outputs + full manifest.

Type Parameters

Type Parameter Default type
TOutput Record<string, unknown>

Properties

Property Type Description Defined in
manifest ComputationManifest Full structured manifest for audit and replay. std/build/reckon/definition.d.ts:133
outputs TOutput The declared outputs, typed by the caller via <TOutput>. std/build/reckon/definition.d.ts:131

RoundingMethod

type RoundingMethod = 
  | "NONE"
  | "NEAREST_CENT"
  | "NEAREST_5_CENTS"
  | "TRUNCATE_CENT"
  | "UP_5_CENTS";

Defined in: std/build/reckon/definition.d.ts:93

Rounding modes for the round op.


ValidationError

type ValidationError = object;

Defined in: std/build/reckon/definition.d.ts:136

Validation error for a computation definition.

Properties

Property Type Defined in
expr? string std/build/reckon/definition.d.ts:137
message string std/build/reckon/definition.d.ts:138

ValidationResult

type ValidationResult = 
  | {
  definitionHash: string;
  ok: true;
  order: string[];
}
  | {
  errors: ValidationError[];
  ok: false;
};

Defined in: std/build/reckon/definition.d.ts:141

Result of validating a computation definition.

Functions

hashDefinition()

function hashDefinition(def): string;

Defined in: std/build/reckon/hash.d.ts:2

Parameters

Parameter Type
def ComputationDefinition

Returns

string

References

CompiledSeedPlan

Re-exports CompiledSeedPlan


compiledSeedPlanFromManifest

Re-exports compiledSeedPlanFromManifest


compileSeedManifest

Re-exports compileSeedManifest


defineSeed

Re-exports defineSeed


parseSeedManifest

Re-exports parseSeedManifest


SEED_MANIFEST_CONTRACT_VERSION

Re-exports SEED_MANIFEST_CONTRACT_VERSION


SeedInsertRecord

Re-exports SeedInsertRecord


SeedManifest

Re-exports SeedManifest


seedManifestJson

Re-exports seedManifestJson


SeedManifestStep

Re-exports SeedManifestStep


SeedMutationStep

Re-exports SeedMutationStep


SeedRecordRef

Re-exports SeedRecordRef


seedRef

Re-exports seedRef


SeedRelationRow

Re-exports SeedRelationRow


seedRow

Re-exports seedRow


seedRows

Re-exports seedRows


seedStep

Re-exports seedStep


SeedStepId

Re-exports SeedStepId


SeedSystemFields

Re-exports SeedSystemFields


sortSeedSteps

Re-exports sortSeedSteps


WorkspaceSeedDefinition

Re-exports WorkspaceSeedDefinition