@uwmd/core 2.0.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/browser.d.ts +10 -0
  2. package/dist/browser.d.ts.map +1 -1
  3. package/dist/browser.js +5 -0
  4. package/dist/browser.js.map +1 -1
  5. package/dist/calc/dated-flows.d.ts +26 -0
  6. package/dist/calc/dated-flows.d.ts.map +1 -0
  7. package/dist/calc/dated-flows.js +163 -0
  8. package/dist/calc/dated-flows.js.map +1 -0
  9. package/dist/calc/day-count.d.ts +27 -0
  10. package/dist/calc/day-count.d.ts.map +1 -0
  11. package/dist/calc/day-count.js +95 -0
  12. package/dist/calc/day-count.js.map +1 -0
  13. package/dist/calc/errors.d.ts +1 -1
  14. package/dist/calc/errors.d.ts.map +1 -1
  15. package/dist/calc/errors.js.map +1 -1
  16. package/dist/cash-flow-series.d.ts +106 -0
  17. package/dist/cash-flow-series.d.ts.map +1 -0
  18. package/dist/cash-flow-series.js +298 -0
  19. package/dist/cash-flow-series.js.map +1 -0
  20. package/dist/cli-portfolio.d.ts +7 -0
  21. package/dist/cli-portfolio.d.ts.map +1 -0
  22. package/dist/cli-portfolio.js +68 -0
  23. package/dist/cli-portfolio.js.map +1 -0
  24. package/dist/cli.js +25 -0
  25. package/dist/cli.js.map +1 -1
  26. package/dist/index.d.ts +10 -0
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +5 -0
  29. package/dist/index.js.map +1 -1
  30. package/dist/parser.d.ts.map +1 -1
  31. package/dist/parser.js +2 -0
  32. package/dist/parser.js.map +1 -1
  33. package/dist/portfolio.d.ts +71 -0
  34. package/dist/portfolio.d.ts.map +1 -0
  35. package/dist/portfolio.js +174 -0
  36. package/dist/portfolio.js.map +1 -0
  37. package/dist/protocol.d.ts +8 -4
  38. package/dist/protocol.d.ts.map +1 -1
  39. package/dist/protocol.js +87 -2
  40. package/dist/protocol.js.map +1 -1
  41. package/dist/renderer.js +44 -1
  42. package/dist/renderer.js.map +1 -1
  43. package/dist/validator.d.ts.map +1 -1
  44. package/dist/validator.js +239 -0
  45. package/dist/validator.js.map +1 -1
  46. package/dist/version.d.ts +1 -1
  47. package/dist/version.js +1 -1
  48. package/dist/waterfall.d.ts +126 -0
  49. package/dist/waterfall.d.ts.map +1 -0
  50. package/dist/waterfall.js +384 -0
  51. package/dist/waterfall.js.map +1 -0
  52. package/package.json +2 -2
@@ -0,0 +1,71 @@
1
+ import type { ProtocolError } from './protocol.js';
2
+ import type { UWEntityEdge } from './deal-package.js';
3
+ /** The sidecar's own semver line, independent of format and protocol. */
4
+ export declare const PORTFOLIO_PROFILE_VERSION: "1.0";
5
+ /** Initial entity types. Extension types are preserved, never refused. */
6
+ export declare const PORTFOLIO_ENTITY_TYPES: readonly ["property", "deal", "borrower", "loan", "document"];
7
+ export type PortfolioEntityType = (typeof PORTFOLIO_ENTITY_TYPES)[number];
8
+ /**
9
+ * One provenance entry: which artifact says so, and where. `source` is a
10
+ * stable document/source identifier — deliberately NOT the RFC 0031
11
+ * `_meta.source` actor grammar; the two vocabularies stay apart.
12
+ */
13
+ export interface PortfolioProvenance {
14
+ source: string;
15
+ locator?: string;
16
+ note?: string;
17
+ retrieved_at?: string;
18
+ [key: string]: unknown;
19
+ }
20
+ export interface PortfolioEntity {
21
+ /** Opaque, case-sensitive, unique within the profile. */
22
+ id: string;
23
+ /** A registered type, or an extension type (preserved, reportable). */
24
+ type: string;
25
+ display_name?: string;
26
+ /** MUST equal the referenced deal's frontmatter `deal_id` when available. */
27
+ deal_id?: string;
28
+ [key: string]: unknown;
29
+ }
30
+ /** Exactly the RFC 0018 `UWEntityEdge` shape plus a profile-unique `id`. */
31
+ export interface PortfolioEdge extends UWEntityEdge {
32
+ id: string;
33
+ provenance: PortfolioProvenance[];
34
+ [key: string]: unknown;
35
+ }
36
+ export interface PortfolioProfile {
37
+ portfolio_version: string;
38
+ portfolio_id?: string;
39
+ entities: PortfolioEntity[];
40
+ edges: PortfolioEdge[];
41
+ [key: string]: unknown;
42
+ }
43
+ /**
44
+ * Validate a candidate profile. Returns structural refusals only — unknown
45
+ * entity fields, unknown entity types, and unknown edge types are NOT errors
46
+ * (they are preserved, and reportable via `uninterpretedPortfolioTypes`).
47
+ * A *known* edge type not valid on the entity layer IS an error: that is the
48
+ * registry's one-table-two-layers rule, enforced from the sidecar side.
49
+ */
50
+ export declare function validatePortfolioProfile(candidate: unknown): ProtocolError[];
51
+ /**
52
+ * The types this implementation cannot interpret — extension entity and edge
53
+ * types that validation preserved. Reportable, never refusable (RFC 0015).
54
+ */
55
+ export declare function uninterpretedPortfolioTypes(profile: PortfolioProfile): {
56
+ entity_types: string[];
57
+ edge_types: string[];
58
+ };
59
+ /**
60
+ * The edges touching `entityId` (either endpoint), or every edge when no id
61
+ * is given. A convenience over the array, not a query language — traversal
62
+ * semantics stay out of scope by design.
63
+ */
64
+ export declare function getPortfolioRelationships(profile: PortfolioProfile, entityId?: string): PortfolioEdge[];
65
+ /**
66
+ * Bridge from the RFC 0018 producer: wrap `projectPackageLinksToEntityEdges`
67
+ * output (or any `UWEntityEdge[]`) as profile edges with generated ids.
68
+ * Deterministic: `<prefix>:<1-based index>` in input order.
69
+ */
70
+ export declare function entityEdgesToPortfolioEdges(edges: readonly UWEntityEdge[], idPrefix?: string): PortfolioEdge[];
71
+ //# sourceMappingURL=portfolio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portfolio.d.ts","sourceRoot":"","sources":["../src/portfolio.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAItD,yEAAyE;AACzE,eAAO,MAAM,yBAAyB,EAAG,KAAc,CAAC;AAExD,0EAA0E;AAC1E,eAAO,MAAM,sBAAsB,+DAMxB,CAAC;AAEZ,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,yDAAyD;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,4EAA4E;AAC5E,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAYD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,OAAO,GAAG,aAAa,EAAE,CAiG5E;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,gBAAgB,GAAG;IACtE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAYA;AAID;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gBAAgB,EACzB,QAAQ,CAAC,EAAE,MAAM,GAChB,aAAa,EAAE,CAIjB;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,QAAQ,SAAS,GAChB,aAAa,EAAE,CAEjB"}
@@ -0,0 +1,174 @@
1
+ // Portfolio & relationship profiles — RFC 0015 (protocol §XV).
2
+ //
3
+ // The portable carrier for the ENTITY layer of the RFC 0018 edge registry: a
4
+ // `.uwportfolio.json` sidecar holding typed entities and provenance-backed
5
+ // edges that span deals. Core can already *produce* entity-layer edges
6
+ // (`projectPackageLinksToEntityEdges`) — this module gives them a home, a
7
+ // validator, and a projection bridge.
8
+ //
9
+ // Deliberately read-only and descriptive: no storage contract, no query
10
+ // semantics, no aggregate math (stated fund-level numbers belong to RFC 0021
11
+ // composites + rollup receipts). Edge types resolve through the canonical
12
+ // `BUILTIN_EDGE_TYPES` registry — this module adds no rows, and a *known*
13
+ // type used on the wrong layer refuses while an *unknown* type is preserved
14
+ // and merely reportable (`uninterpretedPortfolioTypes`). Provenance `source`
15
+ // here is a document/source identifier (the lease-abstract SourceRef
16
+ // posture), NOT the `_meta.source` actor grammar RFC 0031 defined.
17
+ // Browser-safe; performs no I/O.
18
+ import { lookupEdgeType } from './protocol.js';
19
+ // ─── Types (RFC 0015) ────────────────────────────────────────────────────────
20
+ /** The sidecar's own semver line, independent of format and protocol. */
21
+ export const PORTFOLIO_PROFILE_VERSION = '1.0';
22
+ /** Initial entity types. Extension types are preserved, never refused. */
23
+ export const PORTFOLIO_ENTITY_TYPES = Object.freeze([
24
+ 'property',
25
+ 'deal',
26
+ 'borrower',
27
+ 'loan',
28
+ 'document',
29
+ ]);
30
+ // ─── Validation ──────────────────────────────────────────────────────────────
31
+ function portfolioError(code, message, pointer) {
32
+ return { category: 'portfolio', code, message, ...(pointer ? { pointer } : {}) };
33
+ }
34
+ function isRecord(v) {
35
+ return typeof v === 'object' && v !== null && !Array.isArray(v);
36
+ }
37
+ /**
38
+ * Validate a candidate profile. Returns structural refusals only — unknown
39
+ * entity fields, unknown entity types, and unknown edge types are NOT errors
40
+ * (they are preserved, and reportable via `uninterpretedPortfolioTypes`).
41
+ * A *known* edge type not valid on the entity layer IS an error: that is the
42
+ * registry's one-table-two-layers rule, enforced from the sidecar side.
43
+ */
44
+ export function validatePortfolioProfile(candidate) {
45
+ const errors = [];
46
+ if (!isRecord(candidate)) {
47
+ return [portfolioError('PORT-001', 'Portfolio profile must be an object.')];
48
+ }
49
+ const profile = candidate;
50
+ if (profile.portfolio_version !== PORTFOLIO_PROFILE_VERSION) {
51
+ errors.push(portfolioError('PORT-002', `Unsupported portfolio_version ${JSON.stringify(profile.portfolio_version)}; expected ${PORTFOLIO_PROFILE_VERSION}.`, 'portfolio_version'));
52
+ }
53
+ const entities = Array.isArray(profile.entities) ? profile.entities : null;
54
+ if (!entities) {
55
+ errors.push(portfolioError('PORT-003', 'entities must be an array.', 'entities'));
56
+ }
57
+ const edges = Array.isArray(profile.edges) ? profile.edges : null;
58
+ if (!edges) {
59
+ errors.push(portfolioError('PORT-004', 'edges must be an array.', 'edges'));
60
+ }
61
+ if (!entities || !edges)
62
+ return errors;
63
+ const entityTypeById = new Map();
64
+ const seenIds = new Set();
65
+ entities.forEach((entity, i) => {
66
+ if (!isRecord(entity) || typeof entity.id !== 'string' || entity.id.length === 0
67
+ || typeof entity.type !== 'string' || entity.type.length === 0) {
68
+ errors.push(portfolioError('PORT-005', `Entity ${i} must state a non-empty id and type.`, `entities[${i}]`));
69
+ return;
70
+ }
71
+ if (seenIds.has(entity.id)) {
72
+ errors.push(portfolioError('PORT-006', `Duplicate id ${JSON.stringify(entity.id)}; ids are unique within a profile.`, `entities[${i}].id`));
73
+ return;
74
+ }
75
+ seenIds.add(entity.id);
76
+ entityTypeById.set(entity.id, entity.type);
77
+ });
78
+ edges.forEach((edge, i) => {
79
+ if (!isRecord(edge) || typeof edge.id !== 'string' || edge.id.length === 0
80
+ || typeof edge.type !== 'string' || edge.type.length === 0
81
+ || typeof edge.from !== 'string' || typeof edge.to !== 'string') {
82
+ errors.push(portfolioError('PORT-007', `Edge ${i} must state a non-empty id, type, from, and to.`, `edges[${i}]`));
83
+ return;
84
+ }
85
+ if (seenIds.has(edge.id)) {
86
+ errors.push(portfolioError('PORT-006', `Duplicate id ${JSON.stringify(edge.id)}; ids are unique within a profile.`, `edges[${i}].id`));
87
+ }
88
+ else {
89
+ seenIds.add(edge.id);
90
+ }
91
+ for (const [end, label] of [[edge.from, 'from'], [edge.to, 'to']]) {
92
+ if (!entityTypeById.has(end)) {
93
+ errors.push(portfolioError('PORT-008', `Edge ${JSON.stringify(edge.id)} ${label} ${JSON.stringify(end)} does not resolve to an entity in this profile.`, `edges[${i}].${label}`));
94
+ }
95
+ }
96
+ const provenance = edge.provenance;
97
+ if (!Array.isArray(provenance) || provenance.length === 0) {
98
+ errors.push(portfolioError('PORT-009', `Edge ${JSON.stringify(edge.id)} must carry a non-empty provenance array.`, `edges[${i}].provenance`));
99
+ }
100
+ else {
101
+ provenance.forEach((entry, j) => {
102
+ if (!isRecord(entry) || typeof entry.source !== 'string' || entry.source.length === 0) {
103
+ errors.push(portfolioError('PORT-009', `Edge ${JSON.stringify(edge.id)} provenance entry ${j} must state a source identifier.`, `edges[${i}].provenance[${j}]`));
104
+ }
105
+ });
106
+ }
107
+ // Registry resolution: unknown → preserved; known-but-member-layer → refused.
108
+ const def = lookupEdgeType(edge.type);
109
+ if (def) {
110
+ if (!def.layers.includes('entity')) {
111
+ errors.push(portfolioError('PORT-010', `Edge type ${JSON.stringify(edge.type)} is registered on the member layer only and cannot relate entities (RFC 0018 §5).`, `edges[${i}].type`));
112
+ }
113
+ else {
114
+ // Builtin from/to entity-kind constraints, checked only when the
115
+ // endpoint's type is itself a registered entity type — an extension
116
+ // entity type is outside the constraint's vocabulary, not in
117
+ // violation of it.
118
+ const checks = [[edge.from, def.from, 'from'], [edge.to, def.to, 'to']];
119
+ for (const [end, allowed, label] of checks) {
120
+ const endType = entityTypeById.get(end);
121
+ if (!endType)
122
+ continue;
123
+ if (!PORTFOLIO_ENTITY_TYPES.includes(endType))
124
+ continue;
125
+ if (allowed.includes('any'))
126
+ continue;
127
+ if (!allowed.includes(endType)) {
128
+ errors.push(portfolioError('PORT-011', `Edge ${JSON.stringify(edge.id)} (${edge.type}) ${label} must be one of [${allowed.join(', ')}], not ${endType}.`, `edges[${i}].${label}`));
129
+ }
130
+ }
131
+ }
132
+ }
133
+ });
134
+ return errors;
135
+ }
136
+ /**
137
+ * The types this implementation cannot interpret — extension entity and edge
138
+ * types that validation preserved. Reportable, never refusable (RFC 0015).
139
+ */
140
+ export function uninterpretedPortfolioTypes(profile) {
141
+ const entity_types = new Set();
142
+ for (const e of profile.entities ?? []) {
143
+ if (typeof e?.type === 'string' && !PORTFOLIO_ENTITY_TYPES.includes(e.type)) {
144
+ entity_types.add(e.type);
145
+ }
146
+ }
147
+ const edge_types = new Set();
148
+ for (const e of profile.edges ?? []) {
149
+ if (typeof e?.type === 'string' && !lookupEdgeType(e.type))
150
+ edge_types.add(e.type);
151
+ }
152
+ return { entity_types: [...entity_types].sort(), edge_types: [...edge_types].sort() };
153
+ }
154
+ // ─── Queries and projection ──────────────────────────────────────────────────
155
+ /**
156
+ * The edges touching `entityId` (either endpoint), or every edge when no id
157
+ * is given. A convenience over the array, not a query language — traversal
158
+ * semantics stay out of scope by design.
159
+ */
160
+ export function getPortfolioRelationships(profile, entityId) {
161
+ const edges = profile.edges ?? [];
162
+ if (entityId === undefined)
163
+ return [...edges];
164
+ return edges.filter((e) => e.from === entityId || e.to === entityId);
165
+ }
166
+ /**
167
+ * Bridge from the RFC 0018 producer: wrap `projectPackageLinksToEntityEdges`
168
+ * output (or any `UWEntityEdge[]`) as profile edges with generated ids.
169
+ * Deterministic: `<prefix>:<1-based index>` in input order.
170
+ */
171
+ export function entityEdgesToPortfolioEdges(edges, idPrefix = 'edge') {
172
+ return edges.map((e, i) => ({ ...e, id: `${idPrefix}:${i + 1}` }));
173
+ }
174
+ //# sourceMappingURL=portfolio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portfolio.js","sourceRoot":"","sources":["../src/portfolio.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { AssetClass, ConfidenceLevel, DealStage, FinancialThresholds, ParsedUWFile, PipelineStatus, UWBlock, UWMeta, UWSignatureAlgorithm, ValidationMessage, ValidationSeverity } from './types.js';
2
2
  /** Semver of this protocol. Bumped independently of @uwmd/core's npm version. */
3
- export declare const PROTOCOL_VERSION: "2.0.0";
3
+ export declare const PROTOCOL_VERSION: "2.3.0";
4
4
  /**
5
5
  * The format version this implementation *authors* — what a fresh scaffold
6
6
  * declares. Reading is wider: see {@link SUPPORTED_FORMAT_VERSIONS}.
@@ -22,7 +22,7 @@ export declare const SUPPORTED_FORMAT_VERSIONS: readonly ["1.0", "1.1", "2.0"];
22
22
  * v2 §1.3), so a module written against the 1.x protocol line still loads:
23
23
  * its `requires_protocol` range is satisfied against any member of this set.
24
24
  */
25
- export declare const SUPPORTED_PROTOCOL_VERSIONS: readonly ["1.14.0", "2.0.0"];
25
+ export declare const SUPPORTED_PROTOCOL_VERSIONS: readonly ["1.14.0", "2.0.0", "2.1.0", "2.2.0", "2.3.0"];
26
26
  /** The four conformance tiers defined in UW_PROTOCOL_v1.md Part II. */
27
27
  export type ViewerTier = 'tier-1-reader' | 'tier-2-editor' | 'tier-3-calc-host' | 'tier-4-agent-host';
28
28
  /** What kind of actor the implementation serves. Informational. */
@@ -36,7 +36,11 @@ export type ViewerCapability = 'parse' | 'validate' | 'render-json' | 'render-cs
36
36
  /** Evaluates stochastic declarations (§VIII.8, RFC 0005). */
37
37
  | 'calc-stochastic'
38
38
  /** Evaluates sensitivity declarations (§VIII.7, RFC 0007). */
39
- | 'calc-sensitivity' | 'agent-host' | 'module-load'
39
+ | 'calc-sensitivity'
40
+ /** Evaluates cash-flow metric declarations over dated series (§VIII.9, RFC 0034). */
41
+ | 'calc-cash-flow'
42
+ /** Reads and validates `.uwportfolio.json` sidecars (§XV, RFC 0015). */
43
+ | 'portfolio-relationships' | 'agent-host' | 'module-load'
40
44
  /** Verifies `_meta.signature` on blocks (§V.11.5, RFC 0010). */
41
45
  | 'signing'
42
46
  /** Enforces capability tokens on writes (§XIV, RFC 0011). */
@@ -785,7 +789,7 @@ export declare const BUILTIN_EDGE_TYPES: readonly UWEdgeTypeDef[];
785
789
  */
786
790
  export declare function lookupEdgeType(type: string): UWEdgeTypeDef | undefined;
787
791
  export declare function isEdgeTypeValidOnLayer(type: string, layer: UWEdgeLayer): boolean;
788
- export type ProtocolErrorCategory = 'parse' | 'validate' | 'render' | 'edit' | 'calc' | 'agent' | 'module' | 'version' | 'package';
792
+ export type ProtocolErrorCategory = 'parse' | 'validate' | 'render' | 'edit' | 'calc' | 'agent' | 'module' | 'version' | 'package' | 'portfolio';
789
793
  export interface ProtocolError {
790
794
  category: ProtocolErrorCategory;
791
795
  code: string;
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
package/dist/protocol.js CHANGED
@@ -13,7 +13,7 @@ import { deepGet, getSection, getSectionVariant } from './parser.js';
13
13
  import { CORE_VERSION } from './version.js';
14
14
  // ─── Versioning ───────────────────────────────────────────────────────────────
15
15
  /** Semver of this protocol. Bumped independently of @uwmd/core's npm version. */
16
- export const PROTOCOL_VERSION = '2.0.0';
16
+ export const PROTOCOL_VERSION = '2.3.0';
17
17
  /**
18
18
  * The format version this implementation *authors* — what a fresh scaffold
19
19
  * declares. Reading is wider: see {@link SUPPORTED_FORMAT_VERSIONS}.
@@ -35,7 +35,7 @@ export const SUPPORTED_FORMAT_VERSIONS = Object.freeze(['1.0', '1.1', '2.0']);
35
35
  * v2 §1.3), so a module written against the 1.x protocol line still loads:
36
36
  * its `requires_protocol` range is satisfied against any member of this set.
37
37
  */
38
- export const SUPPORTED_PROTOCOL_VERSIONS = Object.freeze(['1.14.0', PROTOCOL_VERSION]);
38
+ export const SUPPORTED_PROTOCOL_VERSIONS = Object.freeze(['1.14.0', '2.0.0', '2.1.0', '2.2.0', PROTOCOL_VERSION]);
39
39
  /**
40
40
  * What `@uwmd/core` itself self-certifies to — the answer `uwmd manifest`
41
41
  * returns, and the reference entry in any cross-implementation report.
@@ -85,6 +85,8 @@ export const REFERENCE_IMPLEMENTATION_MANIFEST = Object.freeze({
85
85
  'calc-deterministic',
86
86
  'calc-stochastic',
87
87
  'calc-sensitivity',
88
+ 'calc-cash-flow',
89
+ 'portfolio-relationships',
88
90
  'agent-host',
89
91
  'module-load',
90
92
  // Both are gated on the optional @uwmd/signing package being installed.
@@ -573,6 +575,8 @@ export const STANDARD_SECTION_IDS = Object.freeze([
573
575
  'components',
574
576
  'capital_stack',
575
577
  'lease_up_schedule',
578
+ 'cash_flow_series',
579
+ 'distribution_waterfall',
576
580
  ]);
577
581
  const STANDARD_SECTION_ID_SET = new Set(STANDARD_SECTION_IDS);
578
582
  /** True when `id` is a section registered by FORMAT_SPEC Part IV. */
@@ -995,6 +999,43 @@ export const BUILTIN_VIEW_MODELS = Object.freeze({
995
999
  { path: 'stabilized_summary.annualized_egi', label: 'Stab. EGI', kind: 'currency' },
996
1000
  ],
997
1001
  },
1002
+ cash_flow_series: {
1003
+ section_id: 'cash_flow_series',
1004
+ display_name: 'Cash Flow Series',
1005
+ display_order: 23,
1006
+ description: 'Dated, irregular cash flows on a real calendar (RFC 0034). State-and-verify: stated metrics are recomputed by verifyCashFlowSeries over the §VIII.9 procedures, never trusted.',
1007
+ multi_variant: true,
1008
+ primary_fields: [
1009
+ { path: 'label', label: 'Series', kind: 'string', primary: true },
1010
+ { path: 'stated_metrics.xirr', label: 'XIRR', kind: 'percent', primary: true },
1011
+ { path: 'stated_metrics.total_net', label: 'Net Total', kind: 'currency' },
1012
+ { path: 'stated_metrics.moic', label: 'MOIC', kind: 'ratio' },
1013
+ ],
1014
+ detail_fields: [
1015
+ { path: 'day_count', label: 'Day Count', kind: 'string' },
1016
+ { path: 'stated_metrics.xnpv.rate', label: 'XNPV Rate', kind: 'percent' },
1017
+ { path: 'stated_metrics.xnpv.value', label: 'XNPV', kind: 'currency' },
1018
+ ],
1019
+ },
1020
+ distribution_waterfall: {
1021
+ section_id: 'distribution_waterfall',
1022
+ display_name: 'Distribution Waterfall',
1023
+ display_order: 24,
1024
+ description: 'Tiered LP/GP split of equity cash flows over a §4.26 dated series (RFC 0035). State-and-verify: the whole allocation is recomputed by verifyWaterfall per protocol §VIII.10, never trusted.',
1025
+ multi_variant: true,
1026
+ primary_fields: [
1027
+ { path: 'stated_outcomes.lp.xirr', label: 'LP XIRR', kind: 'percent', primary: true },
1028
+ { path: 'stated_outcomes.lp.moic', label: 'LP MOIC', kind: 'ratio', primary: true },
1029
+ { path: 'stated_outcomes.promote_total', label: 'Promote', kind: 'currency' },
1030
+ { path: 'equity_split.lp', label: 'LP Split', kind: 'percent' },
1031
+ ],
1032
+ detail_fields: [
1033
+ { path: 'cash_flow_ref.variant', label: 'Cash Ref', kind: 'string' },
1034
+ { path: 'stated_outcomes.gp.xirr', label: 'GP XIRR', kind: 'percent' },
1035
+ { path: 'stated_outcomes.gp.moic', label: 'GP MOIC', kind: 'ratio' },
1036
+ { path: 'stated_outcomes.profit_total', label: 'Profit', kind: 'currency' },
1037
+ ],
1038
+ },
998
1039
  gaps: {
999
1040
  section_id: 'gaps', display_name: 'Gaps', display_order: 21,
1000
1041
  description: 'Open data gaps blocking stage advancement or carrying provisional defaults. Maintained by the editor when --maintain-gaps is on; otherwise hand-curated.',
@@ -1053,6 +1094,8 @@ export const VALIDATOR_CODE_FAMILIES = Object.freeze([
1053
1094
  { prefix: 'MU', description: 'Mixed-use composition', capabilities: ['validate'] },
1054
1095
  { prefix: 'CS', description: 'Capital stack', capabilities: ['validate'] },
1055
1096
  { prefix: 'LU', description: 'Lease-up schedule (RFC 0008)', capabilities: ['validate'] },
1097
+ { prefix: 'CF', description: 'Cash-flow series (RFC 0034)', capabilities: ['validate'] },
1098
+ { prefix: 'WF', description: 'Distribution waterfall (RFC 0035)', capabilities: ['validate'] },
1056
1099
  { prefix: 'LOC', description: 'Display locale (RFC 0001)', capabilities: ['validate'] },
1057
1100
  { prefix: 'META', description: '_meta shape by uw_version (RFC 0009)', capabilities: ['validate'] },
1058
1101
  {
@@ -1231,6 +1274,48 @@ export const BUILTIN_REMEDIATIONS = Object.freeze([
1231
1274
  remediation: 'Add the current rent_roll the turnover model departs from, or switch model_type to absorption_curve if there is genuinely no in-place tenancy.',
1232
1275
  spec_ref: '§4.25 LU-04',
1233
1276
  },
1277
+ {
1278
+ code: 'CF-01', severity: 'error',
1279
+ title: 'Cash-flow row outside the grammar',
1280
+ description: 'A cash_flow_series row has an invalid ISO-8601 calendar date or non-finite amount, or the section declares an unknown day_count or kind (closed enums, RFC 0034).',
1281
+ remediation: 'State every date as a real YYYY-MM-DD calendar day and every amount as a finite signed number; use a registered day_count (actual/365f, actual/360, 30/360us) and kind.',
1282
+ spec_ref: '§4.26 CF-01',
1283
+ },
1284
+ {
1285
+ code: 'CF-02', severity: 'error',
1286
+ title: 'Cash-flow series empty or out of order',
1287
+ description: 'The series array is empty, or its dates are not non-decreasing. The first row\'s date anchors every year fraction, so order is part of the contract.',
1288
+ remediation: 'State at least one flow and sort rows by date. Same-day flows are legal and keep their own rows — do not merge them.',
1289
+ spec_ref: '§4.26 CF-02',
1290
+ },
1291
+ {
1292
+ code: 'WF-01', severity: 'error',
1293
+ title: 'Waterfall ladder outside the grammar',
1294
+ description: 'The tier ladder violates the closed §4.27 grammar: unknown or duplicated singleton tiers, out-of-order ladder, no uncapped terminal split, shares/rates/hurdles outside their stated ranges or sums, gp_share not exceeding target_promote, or the reserved until_lp_irr (RFC 0035).',
1295
+ remediation: 'State the ladder as return_of_capital? → preferred_return? → catch_up? → split+ with an uncapped final split; shares in [0,1] with equity_split and each split summing to 1.0; rate in (0,1); until_lp_em > 0 on a tier whose lp_share > 0; gp_share > target_promote. IRR hurdles are reserved for a future RFC.',
1296
+ spec_ref: '§4.27 WF-01',
1297
+ },
1298
+ {
1299
+ code: 'WF-02', severity: 'error',
1300
+ title: 'Waterfall cash reference does not resolve',
1301
+ description: 'cash_flow_ref.variant names a cash_flow_series variant the document does not carry (or the document has no cash_flow_series at all).',
1302
+ remediation: 'Add the referenced cash_flow_series variant (§4.26), or point cash_flow_ref at one that exists. A waterfall without its cash vector is not reviewable.',
1303
+ spec_ref: '§4.27 WF-02',
1304
+ },
1305
+ {
1306
+ code: 'WF-03', severity: 'error',
1307
+ title: 'Waterfall over a series with no capital',
1308
+ description: 'The referenced series contains no negative amount — no equity contribution — so there is no capital to return and every tier is vacuous.',
1309
+ remediation: 'Include the contribution rows (capital calls, closing equity) in the referenced series; outflows are negative amounts.',
1310
+ spec_ref: '§4.27 WF-03',
1311
+ },
1312
+ {
1313
+ code: 'CF-03', severity: 'error',
1314
+ title: 'Stated XIRR with no sign change',
1315
+ description: 'stated_metrics.xirr is stated but the series has no sign change (at least one negative and one positive amount), so the stated number cannot be the root of anything.',
1316
+ remediation: 'Remove the stated xirr, or state the complete series — an XIRR needs both the investment outflow and the return inflows.',
1317
+ spec_ref: '§4.26 CF-03',
1318
+ },
1234
1319
  {
1235
1320
  code: 'MU-01', severity: 'error',
1236
1321
  title: 'Too few components',