@yottagraph-app/data-model-skill 0.0.17 → 0.0.18

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yottagraph-app/data-model-skill",
3
- "version": "0.0.17",
3
+ "version": "0.0.18",
4
4
  "description": "Data model skill documentation for AI agents - entity types, properties, and schemas from Lovelace fetch sources",
5
5
  "repository": {
6
6
  "type": "git",
@@ -149,6 +149,14 @@ flavors:
149
149
  strong_id_properties: ["accession_number"]
150
150
  passive: true
151
151
 
152
+ - name: "form_d"
153
+ namespace: "sec"
154
+ description: "Regulation D offering notice (Form D or D/A) filed with the SEC to claim an exemption from registration for a private placement. Covers VC/PE funds, hedge funds, and operating company raises."
155
+ display_name: "Form D"
156
+ mergeability: not_mergeable
157
+ strong_id_properties: ["accession_number"]
158
+ passive: true
159
+
152
160
  - name: "valuation_method_change"
153
161
  namespace: "sec"
154
162
  description: "A material change to fund valuation methodology disclosed under N-CEN Item B.20. Each entity records one valuationMethodsChange record (date, asset type, regulatory basis, free-text explanation) and links to the disclosing N-CEN filing plus any per-series fund(s) affected."
@@ -166,7 +174,7 @@ flavors:
166
174
  passive: true
167
175
 
168
176
  - name: "person"
169
- description: "A real person as opposed to a fictional character, such as a CEO, politician, or public figure"
177
+ description: "A real person as opposed to a fictional character, such as a CEO, politician, or public figure. Also used for individual registered broker-dealer representatives identified by their FINRA CRD number."
170
178
  display_name: "Person"
171
179
  mergeability: not_mergeable
172
180
  # crd_number is FINRA's individual Central Registration Depository
@@ -204,7 +212,7 @@ properties:
204
212
  description: "SEC Central Index Key, 10-digit zero-padded"
205
213
  display_name: "CIK"
206
214
  mergeability: not_mergeable
207
- domain_flavors: ["organization", "sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "sec::form_3", "sec::form_4", "sec::sc_13d", "sec::sc_13g", "sec::13f_hr", "sec::def_14a", "sec::nport_p", "sec::ncen"]
215
+ domain_flavors: ["organization", "sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "sec::form_3", "sec::form_4", "sec::sc_13d", "sec::sc_13g", "sec::13f_hr", "sec::def_14a", "sec::nport_p", "sec::ncen", "sec::form_d"]
208
216
  passive: true
209
217
 
210
218
  - name: "ticker"
@@ -241,7 +249,7 @@ properties:
241
249
 
242
250
  - name: "state_of_incorporation"
243
251
  type: string
244
- description: "Two-letter US state or country code of incorporation"
252
+ description: "State or country of incorporation or formation. Submission-derived values are two-letter US state / ISO country codes (e.g. DE, KY); Form D reports the same concept as a full uppercase jurisdiction name (e.g. DELAWARE, CAYMAN ISLANDS) and is emitted as-is. Consumers should treat the value as an opaque jurisdiction string and match by case-insensitive equality after normalising whitespace."
245
253
  display_name: "State of Incorporation"
246
254
  mergeability: not_mergeable
247
255
  domain_flavors: ["organization"]
@@ -626,7 +634,7 @@ properties:
626
634
  description: "SEC accession number uniquely identifying a filing"
627
635
  display_name: "Accession Number"
628
636
  mergeability: not_mergeable
629
- domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "sec::form_3", "sec::form_4", "sec::sc_13d", "sec::sc_13g", "sec::13f_hr", "sec::def_14a", "sec::nport_p", "sec::ncen", "sec::filing"]
637
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "sec::form_3", "sec::form_4", "sec::sc_13d", "sec::sc_13g", "sec::13f_hr", "sec::def_14a", "sec::nport_p", "sec::ncen", "sec::form_d", "sec::filing"]
630
638
  passive: true
631
639
 
632
640
  - name: "form_type"
@@ -634,7 +642,7 @@ properties:
634
642
  description: "Normalized SEC form type (e.g. 10-K, SC 13D, 4)"
635
643
  display_name: "Form Type"
636
644
  mergeability: not_mergeable
637
- domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "sec::form_3", "sec::form_4", "sec::sc_13d", "sec::sc_13g", "sec::13f_hr", "sec::def_14a", "sec::nport_p", "sec::ncen", "sec::filing"]
645
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "sec::form_3", "sec::form_4", "sec::sc_13d", "sec::sc_13g", "sec::13f_hr", "sec::def_14a", "sec::nport_p", "sec::ncen", "sec::form_d", "sec::filing"]
638
646
  passive: true
639
647
 
640
648
  - name: "filing_date"
@@ -642,7 +650,7 @@ properties:
642
650
  description: "Date the filing was submitted to the SEC (YYYY-MM-DD)"
643
651
  display_name: "Filing Date"
644
652
  mergeability: not_mergeable
645
- domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "sec::form_3", "sec::form_4", "sec::sc_13d", "sec::sc_13g", "sec::13f_hr", "sec::def_14a", "sec::nport_p", "sec::ncen", "sec::filing"]
653
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "sec::form_3", "sec::form_4", "sec::sc_13d", "sec::sc_13g", "sec::13f_hr", "sec::def_14a", "sec::nport_p", "sec::ncen", "sec::form_d", "sec::filing"]
646
654
  passive: true
647
655
 
648
656
  - name: "report_date"
@@ -650,7 +658,7 @@ properties:
650
658
  description: "End date of the primary reporting period (YYYY-MM-DD)"
651
659
  display_name: "Report Date"
652
660
  mergeability: not_mergeable
653
- domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "sec::form_3", "sec::form_4", "sec::sc_13d", "sec::sc_13g", "sec::13f_hr", "sec::def_14a", "sec::nport_p", "sec::ncen", "sec::filing"]
661
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "sec::form_3", "sec::form_4", "sec::sc_13d", "sec::sc_13g", "sec::13f_hr", "sec::def_14a", "sec::nport_p", "sec::ncen", "sec::form_d", "sec::filing"]
654
662
  passive: true
655
663
 
656
664
  # ── XBRL Financial Facts (key concepts) ──
@@ -2098,6 +2106,158 @@ properties:
2098
2106
  domain_flavors: ["financial_instrument"]
2099
2107
  passive: true
2100
2108
 
2109
+ # ── Form D: Issuer Attributes (on organization) ──
2110
+
2111
+ # Form-D-specific issuer attributes are scoped with form_d_ prefixes when
2112
+ # they overlap conceptually with broader properties (industry_group →
2113
+ # form_d_industry_group disambiguates from sic_code and the 'industry'
2114
+ # flavor). Truly Form-D-only attributes (legal_entity_form,
2115
+ # private_fund_type, year_of_inc) keep simple names. Fields that change
2116
+ # over time relative to the filing date (e.g. "incorporated within the
2117
+ # last 5 years") are deliberately not stored: they're derivable from
2118
+ # year_of_inc + filing_date and would otherwise accumulate conflicting
2119
+ # answers across filings.
2120
+
2121
+ - name: "legal_entity_form"
2122
+ type: string
2123
+ description: "Legal entity structure as reported in Form D: e.g. Limited Partnership, Limited Liability Company, Corporation, Business Trust"
2124
+ display_name: "Legal Entity Form"
2125
+ mergeability: not_mergeable
2126
+ domain_flavors: ["organization"]
2127
+ examples: ["Limited Partnership", "Limited Liability Company", "Corporation"]
2128
+ passive: true
2129
+
2130
+ - name: "form_d_industry_group"
2131
+ type: string
2132
+ description: "Form D's coarse industry classification (e.g. Pooled Investment Fund, Technology, Real Estate, Banking). Distinct from the SIC taxonomy carried by sic_code/sic_description and the 'industry' flavor — Form D's enum is much coarser and self-reported by the issuer."
2133
+ display_name: "Form D Industry Group"
2134
+ mergeability: not_mergeable
2135
+ domain_flavors: ["organization"]
2136
+ examples: ["Pooled Investment Fund", "Technology", "Real Estate"]
2137
+ passive: true
2138
+
2139
+ - name: "private_fund_type"
2140
+ type: string
2141
+ description: "Fund type for pooled investment fund issuers in Form D: Venture Capital Fund, Hedge Fund, Private Equity Fund, Real Estate Fund, etc."
2142
+ display_name: "Private Fund Type"
2143
+ mergeability: not_mergeable
2144
+ domain_flavors: ["organization"]
2145
+ examples: ["Venture Capital Fund", "Hedge Fund", "Private Equity Fund"]
2146
+ passive: true
2147
+
2148
+ - name: "year_of_inc"
2149
+ type: string
2150
+ description: "Year the issuer was incorporated or formed (from Form D)"
2151
+ display_name: "Year of Incorporation"
2152
+ mergeability: not_mergeable
2153
+ domain_flavors: ["organization"]
2154
+ examples: ["2024", "1985"]
2155
+ passive: true
2156
+
2157
+ # ── Form D: Offering Attributes (on sec::form_d) ──
2158
+ #
2159
+ # Offering-level facts use the `offering_` prefix to scope them clearly
2160
+ # to the offering record (sec::form_d) and avoid collisions with future
2161
+ # broader concepts of "amount" or "investors" on other filing types.
2162
+ # Booleans derivable from other properties (e.g. is_amendment, recoverable
2163
+ # from form_type ending in "/A") are intentionally omitted — see the
2164
+ # Form D handler for the derivation contract.
2165
+
2166
+ - name: "date_of_first_sale"
2167
+ type: string
2168
+ description: "Date on which the first securities were sold in this offering (from Form D)"
2169
+ display_name: "Date of First Sale"
2170
+ mergeability: not_mergeable
2171
+ domain_flavors: ["sec::form_d"]
2172
+ examples: ["2026-02-26"]
2173
+ passive: true
2174
+
2175
+ - name: "offering_total_amount"
2176
+ type: float
2177
+ description: "Total target offering size in USD (from Form D). Empty when the offering amount is Indefinite — see offering_amount_indefinite."
2178
+ display_name: "Offering Total Amount"
2179
+ mergeability: not_mergeable
2180
+ domain_flavors: ["sec::form_d"]
2181
+ passive: true
2182
+
2183
+ - name: "offering_amount_sold"
2184
+ type: float
2185
+ description: "Total amount already sold/raised from investors in USD (from Form D)"
2186
+ display_name: "Offering Amount Sold"
2187
+ mergeability: not_mergeable
2188
+ domain_flavors: ["sec::form_d"]
2189
+ passive: true
2190
+
2191
+ - name: "offering_total_investors"
2192
+ type: float
2193
+ description: "Number of investors who have already participated in this offering (from Form D). Typed as float to match the schema-wide convention for numeric counts (entity_number_of_employees, board_size, us_gaap:number_of_segments)."
2194
+ display_name: "Offering Total Investors"
2195
+ mergeability: not_mergeable
2196
+ domain_flavors: ["sec::form_d"]
2197
+ passive: true
2198
+
2199
+ - name: "offering_min_investment"
2200
+ type: float
2201
+ description: "Minimum investment accepted from a single investor in USD (from Form D)"
2202
+ display_name: "Offering Min Investment"
2203
+ mergeability: not_mergeable
2204
+ domain_flavors: ["sec::form_d"]
2205
+ passive: true
2206
+
2207
+ - name: "federal_exemption"
2208
+ type: string
2209
+ description: "Primary Reg D federal exemption claimed: 06b (Rule 506(b) accredited), 06c (Rule 506(c) general solicitation), 04a5, 04a6, etc."
2210
+ display_name: "Federal Exemption"
2211
+ mergeability: not_mergeable
2212
+ domain_flavors: ["sec::form_d"]
2213
+ examples: ["06b", "06c", "04a5"]
2214
+ passive: true
2215
+
2216
+ - name: "offering_amount_indefinite"
2217
+ type: string
2218
+ description: "Whether the total offering amount is Indefinite (open-ended offering with no fixed cap): Y or N"
2219
+ display_name: "Indefinite Offering"
2220
+ mergeability: not_mergeable
2221
+ domain_flavors: ["sec::form_d"]
2222
+ examples: ["Y", "N"]
2223
+ passive: true
2224
+
2225
+ - name: "issuer_size_range"
2226
+ type: string
2227
+ description: "Verbal size range of the issuer from Form D: aggregateNetAssetValueRange for funds or revenueRange for operating companies"
2228
+ display_name: "Issuer Size Range"
2229
+ mergeability: not_mergeable
2230
+ domain_flavors: ["sec::form_d"]
2231
+ examples: ["$1 - $5,000,000", "Over $1,000,000,000", "Decline to Disclose"]
2232
+ passive: true
2233
+
2234
+ - name: "more_than_one_year"
2235
+ type: string
2236
+ description: "Whether the offering is expected to last more than one year: true or false (from Form D durationOfOffering)"
2237
+ display_name: "Multi-Year Offering"
2238
+ mergeability: not_mergeable
2239
+ domain_flavors: ["sec::form_d"]
2240
+ examples: ["true", "false"]
2241
+ passive: true
2242
+
2243
+ - name: "has_non_accredited_investors"
2244
+ type: string
2245
+ description: "Whether the offering has sold securities to any non-accredited investors: true or false (from Form D)"
2246
+ display_name: "Non-Accredited Investors"
2247
+ mergeability: not_mergeable
2248
+ domain_flavors: ["sec::form_d"]
2249
+ examples: ["true", "false"]
2250
+ passive: true
2251
+
2252
+ - name: "is_40_act_fund"
2253
+ type: string
2254
+ description: "Whether the issuer is a fund registered under the Investment Company Act of 1940: true or false. Registered funds are subject to stricter regulation than exempt funds under 3(c)(1) or 3(c)(7). This is the issuer's own assertion at Form D filing time; the canonical durable registrant attribute for the same concept is investment_company_type on organization (a non-empty value there implies 1940 Act registration)."
2255
+ display_name: "40 Act Registered"
2256
+ mergeability: not_mergeable
2257
+ domain_flavors: ["sec::form_d"]
2258
+ examples: ["true", "false"]
2259
+ passive: true
2260
+
2101
2261
  # ── Financial Instrument: N-PORT Fund Financials ──
2102
2262
 
2103
2263
  - name: "fund_total_assets"
@@ -2375,8 +2535,8 @@ relationships:
2375
2535
  description: "Link from a company or person to an SEC filing document they filed, or from a sub-record (event, transaction, holding) to its parent filing"
2376
2536
  display_name: "Filed"
2377
2537
  mergeability: not_mergeable
2378
- domain_flavors: ["organization", "person", "sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "sec::form_3", "sec::form_4", "sec::sc_13d", "sec::sc_13g", "sec::13f_hr", "sec::def_14a", "sec::nport_p", "sec::ncen", "sec::filing"]
2379
- target_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "sec::form_3", "sec::form_4", "sec::sc_13d", "sec::sc_13g", "sec::13f_hr", "sec::def_14a", "sec::nport_p", "sec::ncen", "sec::filing"]
2538
+ domain_flavors: ["organization", "person", "sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "sec::form_3", "sec::form_4", "sec::sc_13d", "sec::sc_13g", "sec::13f_hr", "sec::def_14a", "sec::nport_p", "sec::ncen", "sec::form_d", "sec::filing"]
2539
+ target_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "sec::form_3", "sec::form_4", "sec::sc_13d", "sec::sc_13g", "sec::13f_hr", "sec::def_14a", "sec::nport_p", "sec::ncen", "sec::form_d", "sec::filing"]
2380
2540
  passive: true
2381
2541
 
2382
2542
  - name: "is_issuer_of"
@@ -2392,7 +2552,7 @@ relationships:
2392
2552
  display_name: "Filing Reference"
2393
2553
  mergeability: not_mergeable
2394
2554
  domain_flavors: ["organization", "person", "financial_instrument"]
2395
- target_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "sec::form_3", "sec::form_4", "sec::sc_13d", "sec::sc_13g", "sec::13f_hr", "sec::def_14a", "sec::nport_p", "sec::ncen"]
2555
+ target_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "sec::form_3", "sec::form_4", "sec::sc_13d", "sec::sc_13g", "sec::13f_hr", "sec::def_14a", "sec::nport_p", "sec::ncen", "sec::form_d"]
2396
2556
  passive: true
2397
2557
 
2398
2558
  # ── Filing → Organization ──
@@ -2401,7 +2561,7 @@ relationships:
2401
2561
  description: "Link from a filing or financial instrument to the company it pertains to (the filer for most forms; the issuer for ownership forms and 13F holdings)"
2402
2562
  display_name: "Issued By"
2403
2563
  mergeability: not_mergeable
2404
- domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "sec::form_3", "sec::form_4", "sec::sc_13d", "sec::sc_13g", "sec::13f_hr", "sec::def_14a", "sec::nport_p", "sec::ncen", "sec::filing", "financial_instrument"]
2564
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "sec::form_3", "sec::form_4", "sec::sc_13d", "sec::sc_13g", "sec::13f_hr", "sec::def_14a", "sec::nport_p", "sec::ncen", "sec::form_d", "sec::filing", "financial_instrument"]
2405
2565
  target_flavors: ["organization"]
2406
2566
  passive: true
2407
2567
 
@@ -2417,7 +2577,23 @@ relationships:
2417
2577
  description: "Link from a filing to the entity (person or organization) who filed it"
2418
2578
  display_name: "Filer"
2419
2579
  mergeability: not_mergeable
2420
- domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "sec::form_3", "sec::form_4", "sec::sc_13d", "sec::sc_13g", "sec::13f_hr", "sec::def_14a", "sec::nport_p", "sec::ncen", "sec::filing"]
2580
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "sec::form_3", "sec::form_4", "sec::sc_13d", "sec::sc_13g", "sec::13f_hr", "sec::def_14a", "sec::nport_p", "sec::ncen", "sec::form_d", "sec::filing"]
2581
+ target_flavors: ["organization", "person"]
2582
+ passive: true
2583
+
2584
+ # placed_offering is a per-offering transactional edge from the Form D
2585
+ # filing to a sales compensation recipient — distinct from the N-CEN
2586
+ # service-provider edges (audited_by, advised_by, has_principal_underwriter,
2587
+ # has_transfer_agent, custodied_by, sub_advised_by, has_securities_lending_
2588
+ # agent), which are durable registrant-↔-provider relationships that live
2589
+ # on the organization or financial_instrument. A single broker-dealer may
2590
+ # appear as `placed_offering` from many Form D filings while never
2591
+ # appearing on an N-CEN service-provider edge for those same issuers.
2592
+ - name: "placed_offering"
2593
+ description: "Link from a Form D filing to a broker-dealer, investment adviser, or registered representative receiving sales compensation for placing the Reg D offering"
2594
+ display_name: "Placed Offering"
2595
+ mergeability: not_mergeable
2596
+ domain_flavors: ["sec::form_d"]
2421
2597
  target_flavors: ["organization", "person"]
2422
2598
  passive: true
2423
2599