Glossary

This glossary defines key terms and concepts used throughout the Underwriting Service API documentation and codebase. Keep this page up to date as terminology evolves.

Products

Float Check

API endpoint that evaluates user eligibility for a float advance.

Loan Check

API endpoint that evaluates user eligibility for a loan product.

Lambda Functions

Rule Runner

Lambda function that executes business rules against user data. Triggered by SQS messages from the API Lambda.

Result Runner

Lambda function that aggregates rule outcomes into final eligibility decisions. Triggered after all rules have been evaluated.

Float Created Handler

Lambda function that creates historical evaluation records when a float is successfully disbursed.

Profile Handler

Lambda function that manages default FloatProfile creation for new users.

Rule Engine

Rule

A single business logic check that evaluates one aspect of user eligibility (e.g., account age, deposit frequency, balance requirements).

Rule Interface

Go interface (Rule) that all business rules must implement, defining Execute() and Name() methods.

Rulebook

A YAML-defined collection of rules with a priority level and configuration. Multiple rulebooks can exist for A/B testing or different user segments.

Rule Outcome

The result of executing a single rule, stored in DynamoDB with pass/fail status and reasoning.

Evaluation Result

The final aggregated outcome of all rule executions for a given eligibility check, including approved/denied status and the deciding rulebook.

Superseding Logic

Rulebook logic where certain mandatory rules must pass regardless of other rule outcomes. Used to enforce critical eligibility requirements.

Custom Properties

Rule-specific configuration values defined in rulebook YAML files (e.g., minimum account age in days, required deposit count).

CFI (Continuous Float Increase)

CFI

Continuous Float Increase - a system that automatically increases user float limits based on positive repayment and subscription history.

Float Rank

A score from 0-8 based on the user’s history of successful float repayments. Higher ranks qualify for larger float amounts.

Subscription Rank

A score from 0-8 based on the user’s history of completed subscription payments. Used in combination with Float Rank for CFI eligibility.

IncreaseChecks

A table of criteria that determines CFI eligibility. Each row specifies minimum Float Rank, Subscription Rank, balance, and previous float requirements for a given tier.

CFI Enabled

Boolean flag on FloatProfile indicating whether the user is enrolled in the Continuous Float Increase program.

DynamoDB Entities

FloatProfile

DynamoDB entity storing user float eligibility configuration, CFI status, ranks, and limit information. Primary key: PROFILE#{userId}.

EvaluationResult

DynamoDB entity representing the outcome of a complete rules evaluation. Includes approval status, deciding rulebook, and timestamp. TTL: 32 days.

RuleOutcome

DynamoDB entity storing the result of a single rule execution. Includes pass/fail status, rule name, and detailed message. TTL: 32 days.

TemporaryFloatProfile

DynamoDB entity that temporarily overrides a user’s FloatProfile settings for testing or special cases. Has a configurable TTL.

CachedRulebook

DynamoDB entity caching rulebook configurations to reduce load times. TTL: 60 minutes.

Architecture Patterns

Async Evaluation

Pattern where eligibility checks return HTTP 202 immediately and process rules asynchronously via SQS. Clients poll for results.

Cache Hit

When a recent evaluation result (< 7 days old) exists and can be returned immediately without re-running rules.

Cache Miss

When no recent evaluation exists, triggering the async rule evaluation pipeline.

Idempotency

Design principle ensuring that processing the same event multiple times produces the same result without side effects.