Coverage for domain/__init__.py: 100%
7 statements
« prev ^ index » next coverage.py v7.17.0, created at 2026-11-04 17:24 +0000
« prev ^ index » next coverage.py v7.17.0, created at 2026-11-04 17:24 +0000
1"""Pure domain logic for Lumen Lending OS.
3This package imports NO Django and depends on NO database. Everything here is
4deterministic, side-effect-free math/validation that can be unit-tested in
5isolation and reused from API schemas, services, or scripts alike.
6"""
8from domain.disclosures import can_generate_package
9from domain.enums import (
10 KEY_DATE_KEYS,
11 TrackerStatus,
12 tracker_status_choices,
13)
14from domain.fees import (
15 BucketCure,
16 FeeInput,
17 QmFinding,
18 QmResult,
19 QmTier,
20 ToleranceResult,
21 bucket_of,
22 compute_tolerance_cure,
23 qm_points_and_fees_test,
24)
25from domain.pricing import (
26 ClosingCostBreakdown,
27 ClosingCostItem,
28 IneligibleProduct,
29 LoCompDetail,
30 PriceAdjustment,
31 PricedProduct,
32 PricingResult,
33 PricingScenario,
34 RateProductInput,
35 RateStackItem,
36 Recommendation,
37 approximate_apr,
38 price_adjustments,
39 price_manual,
40 price_scenario,
41 recommend,
42 to_pricing_result,
43)
44from domain.rules import (
45 SEED_RULES,
46 AutomationRuleDef,
47 RuleAction,
48 RuleCondition,
49 RuleEffect,
50 RuleEvent,
51 RuleOutcome,
52 condition_holds,
53 evaluate_rules,
54)
55from domain.trackers import (
56 TRACKER_DEFS,
57 TrackerDef,
58 TrackerRow,
59 fresh_trackers,
60)
62__all__ = [
63 "BucketCure",
64 "FeeInput",
65 "QmFinding",
66 "QmResult",
67 "QmTier",
68 "ToleranceResult",
69 "bucket_of",
70 "compute_tolerance_cure",
71 "qm_points_and_fees_test",
72 "ClosingCostBreakdown",
73 "ClosingCostItem",
74 "IneligibleProduct",
75 "LoCompDetail",
76 "PriceAdjustment",
77 "PricedProduct",
78 "PricingResult",
79 "PricingScenario",
80 "RateProductInput",
81 "RateStackItem",
82 "Recommendation",
83 "approximate_apr",
84 "price_adjustments",
85 "price_manual",
86 "price_scenario",
87 "recommend",
88 "to_pricing_result",
89 "TRACKER_DEFS",
90 "TrackerDef",
91 "TrackerRow",
92 "fresh_trackers",
93 "can_generate_package",
94 "KEY_DATE_KEYS",
95 "TrackerStatus",
96 "tracker_status_choices",
97 "SEED_RULES",
98 "AutomationRuleDef",
99 "RuleAction",
100 "RuleCondition",
101 "RuleEffect",
102 "RuleEvent",
103 "RuleOutcome",
104 "condition_holds",
105 "evaluate_rules",
106]