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

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.15",
3
+ "version": "0.0.17",
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",
@@ -27,7 +27,14 @@ flavors:
27
27
  description: "A particular business, institution, or organization such as a corporation, university, government agency, or non-profit"
28
28
  display_name: "Organization"
29
29
  mergeability: not_mergeable
30
- strong_id_properties: ["company_cik"]
30
+ # lei, crd_number, sec_file_number, and pcaob_number let us merge N-CEN
31
+ # service providers (custodians, investment advisers, transfer agents,
32
+ # auditors, etc.) across filings even when the SEC doesn't assign them a
33
+ # CIK. pcaob_number is auditor-specific and is the canonical fallback for
34
+ # PCAOB-registered audit firms whose filer didn't supply an LEI. crd_number
35
+ # carries the firm-level FINRA CRD here; the same property on person
36
+ # carries the individual CRD — the flavor scopes the namespace.
37
+ strong_id_properties: ["company_cik", "lei", "pcaob_number", "crd_number", "sec_file_number"]
31
38
  passive: true
32
39
 
33
40
  - name: "10_k"
@@ -126,6 +133,30 @@ flavors:
126
133
  strong_id_properties: ["accession_number"]
127
134
  passive: true
128
135
 
136
+ - name: "nport_p"
137
+ namespace: "sec"
138
+ description: "Monthly portfolio investments report (Form N-PORT) for a registered investment company"
139
+ display_name: "N-PORT"
140
+ mergeability: not_mergeable
141
+ strong_id_properties: ["accession_number"]
142
+ passive: true
143
+
144
+ - name: "ncen"
145
+ namespace: "sec"
146
+ description: "Annual report (Form N-CEN) for a registered investment company capturing fund structure, service providers, and operational data"
147
+ display_name: "N-CEN"
148
+ mergeability: not_mergeable
149
+ strong_id_properties: ["accession_number"]
150
+ passive: true
151
+
152
+ - name: "valuation_method_change"
153
+ namespace: "sec"
154
+ 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."
155
+ display_name: "Valuation Method Change"
156
+ mergeability: not_mergeable
157
+ strong_id_properties: ["valuation_change_id"]
158
+ passive: true
159
+
129
160
  - name: "filing"
130
161
  namespace: "sec"
131
162
  description: "SEC filing (generic, for form types without a specific modeled flavor)"
@@ -138,14 +169,20 @@ flavors:
138
169
  description: "A real person as opposed to a fictional character, such as a CEO, politician, or public figure"
139
170
  display_name: "Person"
140
171
  mergeability: not_mergeable
141
- strong_id_properties: ["person_cik"]
172
+ # crd_number is FINRA's individual Central Registration Depository
173
+ # identifier, disclosed for fund directors and chief compliance officers
174
+ # on N-CEN. Adding it as a strong ID lets the same person merge across
175
+ # all the registrants (and historical filings) where they're disclosed.
176
+ # The same crd_number property exists on organization (for firm-level
177
+ # CRDs) — flavor scoping prevents cross-namespace collisions.
178
+ strong_id_properties: ["person_cik", "crd_number"]
142
179
  passive: true
143
180
 
144
181
  - name: "financial_instrument"
145
182
  description: "A specific asset that can be traded, such as a stock, ETF, bond, CD, or fund. Companies are organizations, NOT financial instruments. Specific currency amounts are NOT financial instruments."
146
183
  display_name: "Financial Instrument"
147
184
  mergeability: not_mergeable
148
- strong_id_properties: ["cusip_number"]
185
+ strong_id_properties: ["cusip_number", "holding_isin", "series_id", "series_lei", "nport_holding_id"]
149
186
  passive: true
150
187
 
151
188
  - name: "industry"
@@ -167,7 +204,7 @@ properties:
167
204
  description: "SEC Central Index Key, 10-digit zero-padded"
168
205
  display_name: "CIK"
169
206
  mergeability: not_mergeable
170
- 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"]
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"]
171
208
  passive: true
172
209
 
173
210
  - name: "ticker"
@@ -589,7 +626,7 @@ properties:
589
626
  description: "SEC accession number uniquely identifying a filing"
590
627
  display_name: "Accession Number"
591
628
  mergeability: not_mergeable
592
- 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::filing"]
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"]
593
630
  passive: true
594
631
 
595
632
  - name: "form_type"
@@ -597,7 +634,7 @@ properties:
597
634
  description: "Normalized SEC form type (e.g. 10-K, SC 13D, 4)"
598
635
  display_name: "Form Type"
599
636
  mergeability: not_mergeable
600
- 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::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::filing"]
601
638
  passive: true
602
639
 
603
640
  - name: "filing_date"
@@ -605,7 +642,7 @@ properties:
605
642
  description: "Date the filing was submitted to the SEC (YYYY-MM-DD)"
606
643
  display_name: "Filing Date"
607
644
  mergeability: not_mergeable
608
- 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::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::filing"]
609
646
  passive: true
610
647
 
611
648
  - name: "report_date"
@@ -613,7 +650,7 @@ properties:
613
650
  description: "End date of the primary reporting period (YYYY-MM-DD)"
614
651
  display_name: "Report Date"
615
652
  mergeability: not_mergeable
616
- 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::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::filing"]
617
654
  passive: true
618
655
 
619
656
  # ── XBRL Financial Facts (key concepts) ──
@@ -1550,10 +1587,10 @@ properties:
1550
1587
 
1551
1588
  - name: "report_period_date"
1552
1589
  type: string
1553
- description: "Quarter-end date for the 13F-HR report period"
1590
+ description: "End date for the report period (e.g. quarter-end for 13F-HR, month-end for N-PORT, fiscal year-end for N-CEN)"
1554
1591
  display_name: "Report Period Date"
1555
1592
  mergeability: not_mergeable
1556
- domain_flavors: ["sec::13f_hr"]
1593
+ domain_flavors: ["sec::13f_hr", "sec::nport_p", "sec::ncen"]
1557
1594
  passive: true
1558
1595
 
1559
1596
  - name: "confidential_treatment_flag"
@@ -1724,6 +1761,609 @@ properties:
1724
1761
  domain_flavors: ["organization", "financial_instrument"]
1725
1762
  passive: true
1726
1763
 
1764
+ # ── Financial Instrument: N-PORT Fund Identity ──
1765
+
1766
+ - name: "series_id"
1767
+ type: string
1768
+ description: "SEC series identifier for a registered investment company fund"
1769
+ display_name: "Series ID"
1770
+ mergeability: not_mergeable
1771
+ domain_flavors: ["financial_instrument"]
1772
+ examples: ["S000002859", "S000001671"]
1773
+ passive: true
1774
+
1775
+ - name: "series_name"
1776
+ type: string
1777
+ description: "Fund series name as registered with the SEC"
1778
+ display_name: "Series Name"
1779
+ mergeability: not_mergeable
1780
+ domain_flavors: ["financial_instrument"]
1781
+ passive: true
1782
+
1783
+ - name: "series_lei"
1784
+ type: string
1785
+ description: "LEI of the fund series (if assigned)"
1786
+ display_name: "Series LEI"
1787
+ mergeability: not_mergeable
1788
+ domain_flavors: ["financial_instrument"]
1789
+ passive: true
1790
+
1791
+ - name: "lei"
1792
+ type: string
1793
+ description: "Legal Entity Identifier (ISO 17442) — 20-character alphanumeric code for cross-border entity resolution"
1794
+ display_name: "LEI"
1795
+ mergeability: not_mergeable
1796
+ domain_flavors: ["organization"]
1797
+ passive: true
1798
+
1799
+ # ── Organization: N-CEN Service Provider Identifiers ──
1800
+ # These are strong IDs on organization (see flavor definition above) so
1801
+ # N-CEN service providers (advisers, transfer agents) merge across filings
1802
+ # even when the SEC hasn't assigned them a CIK.
1803
+
1804
+ - name: "sec_file_number"
1805
+ type: string
1806
+ description: "SEC file number — registrant identifier assigned by the SEC (e.g. 801-XXXXX for advisers, 084-XXXXX for transfer agents, 811-XXXXX for investment-company / fund issuers)"
1807
+ display_name: "SEC File Number"
1808
+ mergeability: not_mergeable
1809
+ domain_flavors: ["organization", "financial_instrument"]
1810
+ passive: true
1811
+
1812
+ - name: "pcaob_number"
1813
+ type: string
1814
+ description: "PCAOB firm ID — the Public Company Accounting Oversight Board's registration number for an audit firm. Mandatory for any auditor of an SEC-registered fund and stable across filings, so it serves as the canonical fallback identifier when a filer doesn't supply the auditor's LEI on N-CEN Item C.7."
1815
+ display_name: "PCAOB Number"
1816
+ mergeability: not_mergeable
1817
+ domain_flavors: ["organization"]
1818
+ passive: true
1819
+
1820
+ # ── N-CEN Filing Metadata ──
1821
+
1822
+ # SEC investment-company classification under the Investment Company
1823
+ # Act of 1940. A durable registrant trait — an adviser complex is
1824
+ # permanently N-1A (open-end), N-2 (closed-end), N-3/N-4 (variable
1825
+ # insurance), N-6 (variable life), etc., barring rare re-organisation.
1826
+ # Lives on the organization for cross-filing querying ("which
1827
+ # registrants are N-1A?") and on the sec::ncen filing that disclosed
1828
+ # it for per-filing provenance. Populated from N-CEN today; any
1829
+ # future form carrying the same classification can emit it.
1830
+ - name: "investment_company_type"
1831
+ type: string
1832
+ description: "SEC investment-company classification under the Investment Company Act of 1940 (e.g. N-1A open-end, N-2 closed-end, N-3/N-4 variable insurance, N-6 variable life). A durable registrant attribute."
1833
+ display_name: "Investment Company Type"
1834
+ mergeability: not_mergeable
1835
+ domain_flavors: ["organization", "sec::ncen"]
1836
+ passive: true
1837
+
1838
+ # Filing-preparer contact. Every SEC submission carries a CONTACT_TYPE
1839
+ # block in the SGML/XML header naming the person SEC should reach about
1840
+ # the submission — typically inside counsel or a fund-admin paralegal,
1841
+ # distinct from the registrant. Flattened into a single comma-joined
1842
+ # "name, email, phone" string because the contact has no stable
1843
+ # identifier across filings (no CIK, no CRD) and no downstream queries
1844
+ # branch on the individual fields. Empty pieces are omitted from the
1845
+ # join. Lives on the filing rather than the registrant org (which has
1846
+ # its own business_phone). Currently populated only by the N-CEN
1847
+ # handler; the full SEC filings domain is declared so other form
1848
+ # handlers can lift the same CONTACT_TYPE block without schema changes.
1849
+ - name: "contact"
1850
+ type: string
1851
+ description: "Filing-preparer contact from the SEC submission CONTACT_TYPE header, formatted as 'Name, email, phone' (e.g. 'Jane Doe, jane@filer.com, 412-444-4444'); empty pieces are omitted. Distinct from the registrant — typically inside counsel or fund-admin staff."
1852
+ display_name: "Contact"
1853
+ mergeability: not_mergeable
1854
+ 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"]
1855
+ passive: true
1856
+
1857
+ # N-CEN Item B.* signals. Each property attaches to its single natural
1858
+ # home: durable registrant attributes (fund_family_name) live on the
1859
+ # organization; per-filing lifecycle facts and per-period event flags
1860
+ # (is_first/last_filing, is_material_weakness, is_public_accountant_
1861
+ # changed, is_accounting_principle_change, had_nav_error,
1862
+ # had_dividend_error) live on the sec::ncen filing. Putting per-period
1863
+ # facts on the org would accumulate conflicting Y/N atoms across years
1864
+ # (a fund that had a material weakness in 2018 but not 2019-2025 isn't
1865
+ # permanently a "material weakness" org). To answer "did this fund
1866
+ # ever..." or "what's its current state", join through the filer edge
1867
+ # to the most recent or all sec::ncen filings. Material valuation
1868
+ # method changes (Item B.20) are intentionally modelled only as the
1869
+ # sec::valuation_method_change sub-record flavor — no rollup boolean
1870
+ # on the filing or fund — since the per-change detail (date, asset
1871
+ # type, regulatory basis, free-text explanation) is the meaningful
1872
+ # signal and "did it happen?" is recoverable by existence check on
1873
+ # the sub-records' disclosed_in / affects_series edges.
1874
+ - name: "fund_family_name"
1875
+ type: string
1876
+ description: "Name of the fund family (registrantFamilyInvComp) the registrant belongs to per N-CEN — useful for grouping registrants that share advisers, distributors, and boards (e.g. 'Vanguard', 'BlackRock')."
1877
+ display_name: "Fund Family"
1878
+ mergeability: not_mergeable
1879
+ domain_flavors: ["organization"]
1880
+ passive: true
1881
+
1882
+ # Filing position on the registrant's N-CEN lifecycle. One enum
1883
+ # rather than two independent booleans because a filing is in exactly
1884
+ # one of three positions: first submission (fund launch), last
1885
+ # submission (wind-down), or ongoing. "last" wins when both B.2 and
1886
+ # B.3 are Y on the same filing (rare same-year launch-and-terminate).
1887
+ - name: "filing_lifecycle_position"
1888
+ type: string
1889
+ description: "N-CEN filing's position on the registrant's lifecycle per Items B.2 / B.3. One of: 'first' (fund launch, B.2=Y), 'last' (fund wind-down, B.3=Y), 'ongoing' (neither). 'last' takes precedence if both B.2 and B.3 are Y."
1890
+ display_name: "Filing Lifecycle Position"
1891
+ mergeability: not_mergeable
1892
+ domain_flavors: ["sec::ncen"]
1893
+ passive: true
1894
+
1895
+ - name: "is_material_weakness"
1896
+ type: string
1897
+ description: "Whether the auditor reported a material weakness in internal control (Y or N) per N-CEN Item B.6"
1898
+ display_name: "Material Weakness"
1899
+ mergeability: not_mergeable
1900
+ domain_flavors: ["sec::ncen"]
1901
+ passive: true
1902
+
1903
+ - name: "is_public_accountant_changed"
1904
+ type: string
1905
+ description: "Whether the registrant's public accountant changed during the period (Y or N) per N-CEN Item B.5 — auditor turnover signal"
1906
+ display_name: "Public Accountant Changed"
1907
+ mergeability: not_mergeable
1908
+ domain_flavors: ["sec::ncen"]
1909
+ passive: true
1910
+
1911
+ - name: "is_accounting_principle_change"
1912
+ type: string
1913
+ description: "Whether the registrant changed accounting principles during the period (Y or N) per N-CEN Item B.7"
1914
+ display_name: "Accounting Principle Change"
1915
+ mergeability: not_mergeable
1916
+ domain_flavors: ["sec::ncen"]
1917
+ passive: true
1918
+
1919
+ # NAV- and dividend-error flags live on both the sec::ncen filing
1920
+ # (registrant-wide "did any series have an error?") and on each
1921
+ # affected financial_instrument series. Same concept, two
1922
+ # granularities, so one property per concept with dual flavors.
1923
+ # Registrant-level emission is Y or N (B.22 / B.23 is always
1924
+ # answered); per-series emission is Y-only (absence reads as "this
1925
+ # series was not listed as affected").
1926
+ - name: "had_nav_error"
1927
+ type: string
1928
+ description: "Whether a NAV calculation error occurred during the N-CEN reporting period per Item B.22. On the sec::ncen filing, Y/N registrant-wide. On a financial_instrument, Y when that series appeared in the B.22.a.i affected-series list (absence means not disclosed as affected)."
1929
+ display_name: "Had NAV Error"
1930
+ mergeability: not_mergeable
1931
+ domain_flavors: ["sec::ncen", "financial_instrument"]
1932
+ passive: true
1933
+
1934
+ - name: "had_dividend_error"
1935
+ type: string
1936
+ description: "Whether a dividend or distribution payment error occurred during the N-CEN reporting period per Item B.23. On the sec::ncen filing, Y/N registrant-wide. On a financial_instrument, Y when that series appeared in the B.23.a.i affected-series list (absence means not disclosed as affected)."
1937
+ display_name: "Had Dividend Error"
1938
+ mergeability: not_mergeable
1939
+ domain_flavors: ["sec::ncen", "financial_instrument"]
1940
+ passive: true
1941
+
1942
+ # FINRA Central Registration Depository identifier — applied to both
1943
+ # firms (an investment-adviser, principal underwriter, sub-adviser
1944
+ # disclosed on an N-CEN service-provider list) and individuals (fund
1945
+ # directors and chief compliance officers). Flavor scopes the
1946
+ # namespace, so the same numeric value on an org and a person resolves
1947
+ # to two distinct entities (FINRA does maintain separate firm vs.
1948
+ # individual registries, but flavor scoping is the durable safeguard).
1949
+ - name: "crd_number"
1950
+ type: string
1951
+ description: "FINRA Central Registration Depository identifier. On organization entities the firm-level CRD (e.g. investment-adviser firms, principal underwriters); on person entities the individual CRD (e.g. fund directors, chief compliance officers). The flavor disambiguates the namespace."
1952
+ display_name: "CRD Number"
1953
+ mergeability: not_mergeable
1954
+ domain_flavors: ["organization", "person"]
1955
+ passive: true
1956
+
1957
+ # Valuation method change entity properties (N-CEN Item B.20).
1958
+ - name: "valuation_change_id"
1959
+ type: string
1960
+ description: "Synthetic strong ID for an N-CEN valuation method change record (accession_number::index)"
1961
+ display_name: "Valuation Change ID"
1962
+ mergeability: not_mergeable
1963
+ domain_flavors: ["sec::valuation_method_change"]
1964
+ passive: true
1965
+
1966
+ # Scoped field names — "change_date"/"change_explanation" would be
1967
+ # magnets for future collisions with other change-event sub-records
1968
+ # (auditor change, name change, fiscal-year change, …). Keeping the
1969
+ # valuation_ prefix means each future sub-record can coin its own
1970
+ # scoped pair (auditor_change_date, …) without re-writing history.
1971
+ - name: "valuation_change_date"
1972
+ type: string
1973
+ description: "Date the valuation methodology change took effect (YYYY-MM-DD) per N-CEN Item B.20"
1974
+ display_name: "Valuation Change Date"
1975
+ mergeability: not_mergeable
1976
+ domain_flavors: ["sec::valuation_method_change"]
1977
+ passive: true
1978
+
1979
+ - name: "valuation_change_explanation"
1980
+ type: string
1981
+ description: "Free-text explanation of the valuation methodology change per N-CEN Item B.20"
1982
+ display_name: "Valuation Change Explanation"
1983
+ mergeability: not_mergeable
1984
+ domain_flavors: ["sec::valuation_method_change"]
1985
+ passive: true
1986
+
1987
+ - name: "affected_asset_type"
1988
+ type: string
1989
+ description: "Asset category whose valuation methodology changed (N-CEN ASSET_TYPE enum: equity, debt, derivative, etc.)"
1990
+ display_name: "Affected Asset Type"
1991
+ mergeability: not_mergeable
1992
+ domain_flavors: ["sec::valuation_method_change"]
1993
+ passive: true
1994
+
1995
+ - name: "affected_investment_type"
1996
+ type: string
1997
+ description: "Free-text sub-classification of investments affected by the valuation methodology change per N-CEN"
1998
+ display_name: "Affected Investment Type"
1999
+ mergeability: not_mergeable
2000
+ domain_flavors: ["sec::valuation_method_change"]
2001
+ passive: true
2002
+
2003
+ - name: "regulatory_basis"
2004
+ type: string
2005
+ description: "Statutory or regulatory basis cited for the valuation methodology change per N-CEN (e.g. 'Rule 2a-5 fair value designee determination')"
2006
+ display_name: "Regulatory Basis"
2007
+ mergeability: not_mergeable
2008
+ domain_flavors: ["sec::valuation_method_change"]
2009
+ passive: true
2010
+
2011
+ # ── Financial Instrument: N-CEN Fund Operational Data ──
2012
+
2013
+ - name: "is_fund_of_funds"
2014
+ type: string
2015
+ description: "Whether the fund is a fund-of-funds (Y or N) per N-CEN"
2016
+ display_name: "Fund of Funds"
2017
+ mergeability: not_mergeable
2018
+ domain_flavors: ["financial_instrument"]
2019
+ passive: true
2020
+
2021
+ - name: "is_etf"
2022
+ type: string
2023
+ description: "Whether the fund is an exchange-traded fund (Y or N) per N-CEN"
2024
+ display_name: "ETF"
2025
+ mergeability: not_mergeable
2026
+ domain_flavors: ["financial_instrument"]
2027
+ passive: true
2028
+
2029
+ - name: "securities_lending_enabled"
2030
+ type: string
2031
+ description: "Whether the fund engages in securities lending (Y or N) per N-CEN"
2032
+ display_name: "Securities Lending Enabled"
2033
+ mergeability: not_mergeable
2034
+ domain_flavors: ["financial_instrument"]
2035
+ passive: true
2036
+
2037
+ - name: "avg_portfolio_securities_value"
2038
+ type: float
2039
+ description: "Average value of portfolio securities on loan during the reporting period (USD) per N-CEN"
2040
+ display_name: "Avg Portfolio Securities Value"
2041
+ mergeability: not_mergeable
2042
+ domain_flavors: ["financial_instrument"]
2043
+ passive: true
2044
+
2045
+ - name: "net_income_securities_lending"
2046
+ type: float
2047
+ description: "Net income from securities lending during the reporting period (USD) per N-CEN"
2048
+ display_name: "Net Income (Securities Lending)"
2049
+ mergeability: not_mergeable
2050
+ domain_flavors: ["financial_instrument"]
2051
+ passive: true
2052
+
2053
+ - name: "avg_net_assets_monthly"
2054
+ type: float
2055
+ description: "Average net assets of the fund computed monthly during the reporting period (USD) per N-CEN Item C.19"
2056
+ display_name: "Avg Net Assets (Monthly)"
2057
+ mergeability: not_mergeable
2058
+ domain_flavors: ["financial_instrument"]
2059
+ passive: true
2060
+
2061
+ - name: "avg_net_assets_daily"
2062
+ type: float
2063
+ description: "Average net assets of the fund computed daily during the reporting period (USD) per N-CEN Item C.19"
2064
+ display_name: "Avg Net Assets (Daily)"
2065
+ mergeability: not_mergeable
2066
+ domain_flavors: ["financial_instrument"]
2067
+ passive: true
2068
+
2069
+ - name: "index_tracking_diff_pre_fees"
2070
+ type: float
2071
+ description: "Index fund tracking difference vs. benchmark before fees and expenses (per N-CEN indexFundInfo)"
2072
+ display_name: "Index Tracking Diff (Pre-Fees)"
2073
+ mergeability: not_mergeable
2074
+ domain_flavors: ["financial_instrument"]
2075
+ passive: true
2076
+
2077
+ - name: "index_tracking_diff_post_fees"
2078
+ type: float
2079
+ description: "Index fund tracking difference vs. benchmark after fees and expenses (per N-CEN indexFundInfo)"
2080
+ display_name: "Index Tracking Diff (Post-Fees)"
2081
+ mergeability: not_mergeable
2082
+ domain_flavors: ["financial_instrument"]
2083
+ passive: true
2084
+
2085
+ - name: "index_tracking_stdev_pre_fees"
2086
+ type: float
2087
+ description: "Daily standard deviation of index fund tracking difference before fees and expenses (per N-CEN indexFundInfo)"
2088
+ display_name: "Index Tracking Stdev (Pre-Fees)"
2089
+ mergeability: not_mergeable
2090
+ domain_flavors: ["financial_instrument"]
2091
+ passive: true
2092
+
2093
+ - name: "index_tracking_stdev_post_fees"
2094
+ type: float
2095
+ description: "Daily standard deviation of index fund tracking difference after fees and expenses (per N-CEN indexFundInfo)"
2096
+ display_name: "Index Tracking Stdev (Post-Fees)"
2097
+ mergeability: not_mergeable
2098
+ domain_flavors: ["financial_instrument"]
2099
+ passive: true
2100
+
2101
+ # ── Financial Instrument: N-PORT Fund Financials ──
2102
+
2103
+ - name: "fund_total_assets"
2104
+ type: float
2105
+ description: "Total assets of the fund (USD)"
2106
+ display_name: "Total Assets"
2107
+ mergeability: not_mergeable
2108
+ domain_flavors: ["financial_instrument"]
2109
+ passive: true
2110
+
2111
+ - name: "fund_total_liabilities"
2112
+ type: float
2113
+ description: "Total liabilities of the fund (USD)"
2114
+ display_name: "Total Liabilities"
2115
+ mergeability: not_mergeable
2116
+ domain_flavors: ["financial_instrument"]
2117
+ passive: true
2118
+
2119
+ - name: "fund_net_assets"
2120
+ type: float
2121
+ description: "Net assets of the fund (USD)"
2122
+ display_name: "Net Assets"
2123
+ mergeability: not_mergeable
2124
+ domain_flavors: ["financial_instrument"]
2125
+ passive: true
2126
+
2127
+ - name: "fund_cash_not_reported"
2128
+ type: float
2129
+ description: "Cash and cash equivalents not reported in portfolio holdings (USD)"
2130
+ display_name: "Cash Not Reported"
2131
+ mergeability: not_mergeable
2132
+ domain_flavors: ["financial_instrument"]
2133
+ passive: true
2134
+
2135
+ # ── Financial Instrument: N-PORT Monthly Returns ──
2136
+
2137
+ - name: "monthly_return_1"
2138
+ type: float
2139
+ description: "Monthly total return for the first month of the reporting period"
2140
+ display_name: "Monthly Return (M1)"
2141
+ mergeability: not_mergeable
2142
+ domain_flavors: ["financial_instrument"]
2143
+ passive: true
2144
+
2145
+ - name: "monthly_return_2"
2146
+ type: float
2147
+ description: "Monthly total return for the second month of the reporting period"
2148
+ display_name: "Monthly Return (M2)"
2149
+ mergeability: not_mergeable
2150
+ domain_flavors: ["financial_instrument"]
2151
+ passive: true
2152
+
2153
+ - name: "monthly_return_3"
2154
+ type: float
2155
+ description: "Monthly total return for the third month of the reporting period"
2156
+ display_name: "Monthly Return (M3)"
2157
+ mergeability: not_mergeable
2158
+ domain_flavors: ["financial_instrument"]
2159
+ passive: true
2160
+
2161
+ # ── Financial Instrument: N-PORT Monthly Flows ──
2162
+
2163
+ - name: "monthly_flow_sales_1"
2164
+ type: float
2165
+ description: "Sales (creations) for month 1 of the reporting period (USD)"
2166
+ display_name: "Flow Sales (M1)"
2167
+ mergeability: not_mergeable
2168
+ domain_flavors: ["financial_instrument"]
2169
+ passive: true
2170
+
2171
+ - name: "monthly_flow_sales_2"
2172
+ type: float
2173
+ description: "Sales (creations) for month 2 of the reporting period (USD)"
2174
+ display_name: "Flow Sales (M2)"
2175
+ mergeability: not_mergeable
2176
+ domain_flavors: ["financial_instrument"]
2177
+ passive: true
2178
+
2179
+ - name: "monthly_flow_sales_3"
2180
+ type: float
2181
+ description: "Sales (creations) for month 3 of the reporting period (USD)"
2182
+ display_name: "Flow Sales (M3)"
2183
+ mergeability: not_mergeable
2184
+ domain_flavors: ["financial_instrument"]
2185
+ passive: true
2186
+
2187
+ - name: "monthly_flow_redemptions_1"
2188
+ type: float
2189
+ description: "Redemptions for month 1 of the reporting period (USD)"
2190
+ display_name: "Flow Redemptions (M1)"
2191
+ mergeability: not_mergeable
2192
+ domain_flavors: ["financial_instrument"]
2193
+ passive: true
2194
+
2195
+ - name: "monthly_flow_redemptions_2"
2196
+ type: float
2197
+ description: "Redemptions for month 2 of the reporting period (USD)"
2198
+ display_name: "Flow Redemptions (M2)"
2199
+ mergeability: not_mergeable
2200
+ domain_flavors: ["financial_instrument"]
2201
+ passive: true
2202
+
2203
+ - name: "monthly_flow_redemptions_3"
2204
+ type: float
2205
+ description: "Redemptions for month 3 of the reporting period (USD)"
2206
+ display_name: "Flow Redemptions (M3)"
2207
+ mergeability: not_mergeable
2208
+ domain_flavors: ["financial_instrument"]
2209
+ passive: true
2210
+
2211
+ - name: "monthly_flow_reinvestment_1"
2212
+ type: float
2213
+ description: "Reinvestment for month 1 of the reporting period (USD)"
2214
+ display_name: "Flow Reinvestment (M1)"
2215
+ mergeability: not_mergeable
2216
+ domain_flavors: ["financial_instrument"]
2217
+ passive: true
2218
+
2219
+ - name: "monthly_flow_reinvestment_2"
2220
+ type: float
2221
+ description: "Reinvestment for month 2 of the reporting period (USD)"
2222
+ display_name: "Flow Reinvestment (M2)"
2223
+ mergeability: not_mergeable
2224
+ domain_flavors: ["financial_instrument"]
2225
+ passive: true
2226
+
2227
+ - name: "monthly_flow_reinvestment_3"
2228
+ type: float
2229
+ description: "Reinvestment for month 3 of the reporting period (USD)"
2230
+ display_name: "Flow Reinvestment (M3)"
2231
+ mergeability: not_mergeable
2232
+ domain_flavors: ["financial_instrument"]
2233
+ passive: true
2234
+
2235
+ # ── Financial Instrument: N-PORT Holding Detail ──
2236
+
2237
+ - name: "nport_holding_id"
2238
+ type: string
2239
+ description: "Synthetic strong ID for N-PORT holdings that lack a CUSIP or ISIN (accession::index::name composite)"
2240
+ display_name: "N-PORT Holding ID"
2241
+ mergeability: not_mergeable
2242
+ domain_flavors: ["financial_instrument"]
2243
+ passive: true
2244
+
2245
+ - name: "holding_isin"
2246
+ type: string
2247
+ description: "ISIN identifier for the security"
2248
+ display_name: "ISIN"
2249
+ mergeability: not_mergeable
2250
+ domain_flavors: ["financial_instrument"]
2251
+ passive: true
2252
+
2253
+ - name: "holding_lei"
2254
+ type: string
2255
+ description: "LEI of the security issuer"
2256
+ display_name: "Holding LEI"
2257
+ mergeability: not_mergeable
2258
+ domain_flavors: ["financial_instrument"]
2259
+ passive: true
2260
+
2261
+ - name: "holding_ticker"
2262
+ type: string
2263
+ description: "Ticker symbol for the security"
2264
+ display_name: "Ticker"
2265
+ mergeability: not_mergeable
2266
+ domain_flavors: ["financial_instrument"]
2267
+ passive: true
2268
+
2269
+ - name: "holding_title"
2270
+ type: string
2271
+ description: "Title of the security class"
2272
+ display_name: "Security Title"
2273
+ mergeability: not_mergeable
2274
+ domain_flavors: ["financial_instrument"]
2275
+ passive: true
2276
+
2277
+ - name: "holding_asset_category"
2278
+ type: string
2279
+ description: "SEC asset category code: EC (equity common), EP (equity preferred), DB (debt), DE (derivative), etc."
2280
+ display_name: "Asset Category"
2281
+ mergeability: not_mergeable
2282
+ domain_flavors: ["financial_instrument"]
2283
+ passive: true
2284
+
2285
+ - name: "holding_issuer_category"
2286
+ type: string
2287
+ description: "Issuer category: CORP, UST, USGA, MUN, SOVN, FN, etc."
2288
+ display_name: "Issuer Category"
2289
+ mergeability: not_mergeable
2290
+ domain_flavors: ["financial_instrument"]
2291
+ passive: true
2292
+
2293
+ - name: "holding_country"
2294
+ type: string
2295
+ description: "Country of investment (ISO 3166-1 alpha-2)"
2296
+ display_name: "Country"
2297
+ mergeability: not_mergeable
2298
+ domain_flavors: ["financial_instrument"]
2299
+ passive: true
2300
+
2301
+ - name: "fair_value_level"
2302
+ type: string
2303
+ description: "Fair value hierarchy level: 1 (quoted prices), 2 (observable inputs), 3 (unobservable inputs)"
2304
+ display_name: "Fair Value Level"
2305
+ mergeability: not_mergeable
2306
+ domain_flavors: ["financial_instrument"]
2307
+ passive: true
2308
+
2309
+ - name: "is_restricted_security"
2310
+ type: string
2311
+ description: "Whether the security is restricted: Y or N"
2312
+ display_name: "Restricted"
2313
+ mergeability: not_mergeable
2314
+ domain_flavors: ["financial_instrument"]
2315
+ passive: true
2316
+
2317
+ # ── Financial Instrument: Debt Security Detail ──
2318
+
2319
+ - name: "debt_maturity_date"
2320
+ type: string
2321
+ description: "Maturity date of the debt instrument"
2322
+ display_name: "Maturity Date"
2323
+ mergeability: not_mergeable
2324
+ domain_flavors: ["financial_instrument"]
2325
+ passive: true
2326
+
2327
+ - name: "debt_coupon_kind"
2328
+ type: string
2329
+ description: "Coupon type: Fixed, Floating, Variable, None, Other"
2330
+ display_name: "Coupon Kind"
2331
+ mergeability: not_mergeable
2332
+ domain_flavors: ["financial_instrument"]
2333
+ passive: true
2334
+
2335
+ - name: "debt_annualized_rate"
2336
+ type: float
2337
+ description: "Annualized coupon rate of the debt instrument"
2338
+ display_name: "Annualized Rate"
2339
+ mergeability: not_mergeable
2340
+ domain_flavors: ["financial_instrument"]
2341
+ passive: true
2342
+
2343
+ - name: "debt_is_default"
2344
+ type: string
2345
+ description: "Whether the debt instrument is in default: Y or N"
2346
+ display_name: "In Default"
2347
+ mergeability: not_mergeable
2348
+ domain_flavors: ["financial_instrument"]
2349
+ passive: true
2350
+
2351
+ - name: "debt_interest_in_arrears"
2352
+ type: string
2353
+ description: "Whether interest payments are in arrears: Y or N"
2354
+ display_name: "Interest in Arrears"
2355
+ mergeability: not_mergeable
2356
+ domain_flavors: ["financial_instrument"]
2357
+ passive: true
2358
+
2359
+ - name: "debt_paid_in_kind"
2360
+ type: string
2361
+ description: "Whether interest is paid in kind: Y or N"
2362
+ display_name: "Paid in Kind"
2363
+ mergeability: not_mergeable
2364
+ domain_flavors: ["financial_instrument"]
2365
+ passive: true
2366
+
1727
2367
  # =============================================================================
1728
2368
  # RELATIONSHIPS
1729
2369
  # =============================================================================
@@ -1735,8 +2375,8 @@ relationships:
1735
2375
  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"
1736
2376
  display_name: "Filed"
1737
2377
  mergeability: not_mergeable
1738
- 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::filing"]
1739
- 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::filing"]
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"]
1740
2380
  passive: true
1741
2381
 
1742
2382
  - name: "is_issuer_of"
@@ -1752,7 +2392,7 @@ relationships:
1752
2392
  display_name: "Filing Reference"
1753
2393
  mergeability: not_mergeable
1754
2394
  domain_flavors: ["organization", "person", "financial_instrument"]
1755
- 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"]
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"]
1756
2396
  passive: true
1757
2397
 
1758
2398
  # ── Filing → Organization ──
@@ -1761,7 +2401,7 @@ relationships:
1761
2401
  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)"
1762
2402
  display_name: "Issued By"
1763
2403
  mergeability: not_mergeable
1764
- 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::filing", "financial_instrument"]
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"]
1765
2405
  target_flavors: ["organization"]
1766
2406
  passive: true
1767
2407
 
@@ -1777,7 +2417,7 @@ relationships:
1777
2417
  description: "Link from a filing to the entity (person or organization) who filed it"
1778
2418
  display_name: "Filer"
1779
2419
  mergeability: not_mergeable
1780
- 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::filing"]
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"]
1781
2421
  target_flavors: ["organization", "person"]
1782
2422
  passive: true
1783
2423
 
@@ -1870,13 +2510,137 @@ relationships:
1870
2510
  # ── Organization → Financial Instrument (issuer link) ──
1871
2511
 
1872
2512
  - name: "issues_security"
1873
- description: "Link from an issuing company to a financial instrument it has issued, identified by CUSIP (SC 13D/G)"
2513
+ description: "Link from an issuing company to a financial instrument it has issued or manages"
1874
2514
  display_name: "Issues Security"
1875
2515
  mergeability: not_mergeable
1876
2516
  domain_flavors: ["organization"]
1877
2517
  target_flavors: ["financial_instrument"]
1878
2518
  passive: true
1879
2519
 
2520
+ - name: "lends_securities_to"
2521
+ description: "Link from a fund to an organization that borrows securities from it (N-PORT securities lending)"
2522
+ display_name: "Lends Securities To"
2523
+ mergeability: not_mergeable
2524
+ domain_flavors: ["financial_instrument"]
2525
+ target_flavors: ["organization"]
2526
+ passive: true
2527
+
2528
+ # ── N-CEN Service Provider Relationships ──
2529
+ # N-CEN filings disclose a registrant's service providers (auditors,
2530
+ # underwriters, advisers, custodians, transfer agents, securities lending
2531
+ # agents). Registrant-level providers attach to the organization; per-series
2532
+ # providers attach to the fund's financial_instrument.
2533
+
2534
+ - name: "audited_by"
2535
+ description: "Link from a registrant to its public accountant / auditor (N-CEN)"
2536
+ display_name: "Audited By"
2537
+ mergeability: not_mergeable
2538
+ domain_flavors: ["organization"]
2539
+ target_flavors: ["organization"]
2540
+ passive: true
2541
+
2542
+ - name: "has_principal_underwriter"
2543
+ description: "Link from a registrant to its principal underwriter (N-CEN)"
2544
+ display_name: "Has Principal Underwriter"
2545
+ mergeability: not_mergeable
2546
+ domain_flavors: ["organization"]
2547
+ target_flavors: ["organization"]
2548
+ passive: true
2549
+
2550
+ - name: "advised_by"
2551
+ description: "Link from a registrant or fund series to an investment adviser (N-CEN)"
2552
+ display_name: "Advised By"
2553
+ mergeability: not_mergeable
2554
+ domain_flavors: ["organization", "financial_instrument"]
2555
+ target_flavors: ["organization"]
2556
+ passive: true
2557
+
2558
+ - name: "has_transfer_agent"
2559
+ description: "Link from a registrant or fund series to a transfer agent (N-CEN)"
2560
+ display_name: "Has Transfer Agent"
2561
+ mergeability: not_mergeable
2562
+ domain_flavors: ["organization", "financial_instrument"]
2563
+ target_flavors: ["organization"]
2564
+ passive: true
2565
+
2566
+ - name: "custodied_by"
2567
+ description: "Link from a fund series to its primary custodian (N-CEN). Sub-custodians are excluded; the custody_type attribute captures the custodian's role."
2568
+ display_name: "Custodied By"
2569
+ mergeability: not_mergeable
2570
+ domain_flavors: ["financial_instrument"]
2571
+ target_flavors: ["organization"]
2572
+ passive: true
2573
+
2574
+ - name: "has_securities_lending_agent"
2575
+ description: "Link from a fund series to its securities lending agent (N-CEN)"
2576
+ display_name: "Has Securities Lending Agent"
2577
+ mergeability: not_mergeable
2578
+ domain_flavors: ["financial_instrument"]
2579
+ target_flavors: ["organization"]
2580
+ passive: true
2581
+
2582
+ - name: "sub_advised_by"
2583
+ description: "Link from a fund series to a sub-adviser organization (N-CEN Item C.9.c). Sub-advisers are delegated portfolio-management authority by the primary investment adviser, so this complements 'advised_by' rather than replacing it."
2584
+ display_name: "Sub-Advised By"
2585
+ mergeability: not_mergeable
2586
+ domain_flavors: ["financial_instrument"]
2587
+ target_flavors: ["organization"]
2588
+ passive: true
2589
+
2590
+ - name: "has_master_fund"
2591
+ description: "Link from a feeder fund to its master fund in a master-feeder structure (N-CEN Item C.3). The feeder invests substantially all assets in the master, so resolving this edge is required to see the feeder's true portfolio (which lives on the master's N-PORT)."
2592
+ display_name: "Has Master Fund"
2593
+ mergeability: not_mergeable
2594
+ domain_flavors: ["financial_instrument"]
2595
+ target_flavors: ["financial_instrument"]
2596
+ passive: true
2597
+
2598
+ - name: "has_feeder_fund"
2599
+ description: "Link from a master fund to one of its feeder funds (N-CEN master-feeder structure)."
2600
+ display_name: "Has Feeder Fund"
2601
+ mergeability: not_mergeable
2602
+ domain_flavors: ["financial_instrument"]
2603
+ target_flavors: ["financial_instrument"]
2604
+ passive: true
2605
+
2606
+ # ── N-CEN Governance (board + compliance) ──
2607
+ # is_director already exists for person → organization; we attach board
2608
+ # service from N-CEN directors to the registrant organization (board
2609
+ # service is registrant-wide, not per-fund). is_chief_compliance_officer
2610
+ # is a distinct edge from is_officer because the SEC discloses CCOs as
2611
+ # a separate registrant-level role with its own change-since-last-filing
2612
+ # signal.
2613
+ - name: "is_chief_compliance_officer"
2614
+ description: "A person serves as the Chief Compliance Officer of a registered investment company. Disclosed under N-CEN Item B.10."
2615
+ display_name: "Is CCO"
2616
+ mergeability: not_mergeable
2617
+ domain_flavors: ["person"]
2618
+ target_flavors: ["organization"]
2619
+ passive: true
2620
+
2621
+ # ── N-CEN Operational Incidents (Item B.20) ──
2622
+ # A valuation_method_change entity records a single materially-changed
2623
+ # valuation methodology. It links back to the disclosing N-CEN filing
2624
+ # (disclosed_in) and to each fund series the change applied to
2625
+ # (affects_series). Item B.22 / B.23 (NAV / dividend errors) are modelled
2626
+ # as per-fund booleans rather than separate entities since the XSD
2627
+ # carries no per-incident metadata for them.
2628
+ - name: "disclosed_in"
2629
+ description: "Link from an operational-incident sub-record (e.g. a valuation method change) to the SEC filing where it was disclosed."
2630
+ display_name: "Disclosed In"
2631
+ mergeability: not_mergeable
2632
+ domain_flavors: ["sec::valuation_method_change"]
2633
+ target_flavors: ["sec::ncen"]
2634
+ passive: true
2635
+
2636
+ - name: "affects_series"
2637
+ description: "Link from an operational-incident sub-record to a fund series the incident applied to (N-CEN per-incident series fan-out)."
2638
+ display_name: "Affects Series"
2639
+ mergeability: not_mergeable
2640
+ domain_flavors: ["sec::valuation_method_change"]
2641
+ target_flavors: ["financial_instrument"]
2642
+ passive: true
2643
+
1880
2644
  # =============================================================================
1881
2645
  # ATTRIBUTES
1882
2646
  # =============================================================================
@@ -1982,3 +2746,162 @@ attributes:
1982
2746
  description: "Shares with no voting authority"
1983
2747
  display_name: "Voting Authority (None)"
1984
2748
  mergeability: not_mergeable
2749
+
2750
+ # ── holds_position relationship attributes (N-PORT) ──
2751
+
2752
+ - property: "holds_position"
2753
+ name: "holding_pct_of_nav"
2754
+ type: string
2755
+ description: "Position value as percentage of fund net asset value"
2756
+ display_name: "% of NAV"
2757
+ mergeability: not_mergeable
2758
+
2759
+ - property: "holds_position"
2760
+ name: "holding_units"
2761
+ type: string
2762
+ description: "Unit type: NS (number of shares), PA (principal amount), NC (number of contracts)"
2763
+ display_name: "Units"
2764
+ mergeability: not_mergeable
2765
+
2766
+ - property: "holds_position"
2767
+ name: "holding_currency"
2768
+ type: string
2769
+ description: "Currency of the position (ISO 4217)"
2770
+ display_name: "Currency"
2771
+ mergeability: not_mergeable
2772
+
2773
+ - property: "holds_position"
2774
+ name: "payoff_profile"
2775
+ type: string
2776
+ description: "Payoff profile: Long, Short, or N/A"
2777
+ display_name: "Payoff Profile"
2778
+ mergeability: not_mergeable
2779
+
2780
+ - property: "holds_position"
2781
+ name: "is_on_loan"
2782
+ type: string
2783
+ description: "Whether the security is currently on loan by this fund: Y or N"
2784
+ display_name: "On Loan"
2785
+ mergeability: not_mergeable
2786
+
2787
+ - property: "holds_position"
2788
+ name: "derivative_category"
2789
+ type: string
2790
+ description: "Derivative type: SWP (swap), FUT (future), OPT (option), FWD (forward)"
2791
+ display_name: "Derivative Type"
2792
+ mergeability: not_mergeable
2793
+
2794
+ - property: "holds_position"
2795
+ name: "counterparty_name"
2796
+ type: string
2797
+ description: "Name of the derivative counterparty or exchange"
2798
+ display_name: "Counterparty"
2799
+ mergeability: not_mergeable
2800
+
2801
+ - property: "holds_position"
2802
+ name: "counterparty_lei"
2803
+ type: string
2804
+ description: "LEI of the derivative counterparty"
2805
+ display_name: "Counterparty LEI"
2806
+ mergeability: not_mergeable
2807
+
2808
+ - property: "holds_position"
2809
+ name: "derivative_notional"
2810
+ type: string
2811
+ description: "Notional amount of the derivative contract"
2812
+ display_name: "Notional Amount"
2813
+ mergeability: not_mergeable
2814
+
2815
+ - property: "holds_position"
2816
+ name: "derivative_expiration"
2817
+ type: string
2818
+ description: "Expiration or termination date of the derivative contract"
2819
+ display_name: "Expiration"
2820
+ mergeability: not_mergeable
2821
+
2822
+ - property: "holds_position"
2823
+ name: "derivative_unrealized"
2824
+ type: string
2825
+ description: "Unrealized appreciation or depreciation on the derivative (USD)"
2826
+ display_name: "Unrealized Gain/Loss"
2827
+ mergeability: not_mergeable
2828
+
2829
+ - property: "holds_position"
2830
+ name: "option_put_or_call"
2831
+ type: string
2832
+ description: "Whether the option is a Put or Call"
2833
+ display_name: "Put/Call"
2834
+ mergeability: not_mergeable
2835
+
2836
+ - property: "holds_position"
2837
+ name: "option_written_or_purchased"
2838
+ type: string
2839
+ description: "Whether the option was Written (sold) or Purchased (bought)"
2840
+ display_name: "Written/Purchased"
2841
+ mergeability: not_mergeable
2842
+
2843
+ - property: "holds_position"
2844
+ name: "option_strike_price"
2845
+ type: string
2846
+ description: "Strike price of the option contract"
2847
+ display_name: "Strike Price"
2848
+ mergeability: not_mergeable
2849
+
2850
+ - property: "holds_position"
2851
+ name: "option_delta"
2852
+ type: string
2853
+ description: "Option delta (sensitivity to underlying price)"
2854
+ display_name: "Delta"
2855
+ mergeability: not_mergeable
2856
+
2857
+ - property: "holds_position"
2858
+ name: "cash_collateral_value"
2859
+ type: string
2860
+ description: "Cash collateral value for securities on loan (USD)"
2861
+ display_name: "Collateral Value"
2862
+ mergeability: not_mergeable
2863
+
2864
+ # ── lends_securities_to relationship attributes (N-PORT) ──
2865
+
2866
+ - property: "lends_securities_to"
2867
+ name: "aggregate_lending_value"
2868
+ type: string
2869
+ description: "Aggregate value of securities lent to this borrower (USD)"
2870
+ display_name: "Lending Value"
2871
+ mergeability: not_mergeable
2872
+
2873
+ # ── custodied_by relationship attributes (N-CEN) ──
2874
+
2875
+ - property: "custodied_by"
2876
+ name: "custody_type"
2877
+ type: string
2878
+ description: "Custodian's role per N-CEN (e.g. SECURITIES, CASH, BANK_CUSTODIAN)"
2879
+ display_name: "Custody Type"
2880
+ mergeability: not_mergeable
2881
+
2882
+ # ── sub_advised_by relationship attributes (N-CEN) ──
2883
+
2884
+ - property: "sub_advised_by"
2885
+ name: "is_sub_adviser_affiliated"
2886
+ type: string
2887
+ description: "Whether the sub-adviser is affiliated with the registrant or primary adviser (Y or N) per N-CEN"
2888
+ display_name: "Sub-Adviser Affiliated"
2889
+ mergeability: not_mergeable
2890
+
2891
+ # ── is_director relationship attributes (N-CEN) ──
2892
+
2893
+ - property: "is_director"
2894
+ name: "is_interested_person"
2895
+ type: string
2896
+ description: "Whether the director is an 'interested person' (Y or N) of the registrant under section 2(a)(19) of the Investment Company Act per N-CEN Item B.9. Distinguishes affiliated/inside directors from independents."
2897
+ display_name: "Interested Person"
2898
+ mergeability: not_mergeable
2899
+
2900
+ # ── is_chief_compliance_officer relationship attributes (N-CEN) ──
2901
+
2902
+ - property: "is_chief_compliance_officer"
2903
+ name: "is_changed_since_last_filing"
2904
+ type: string
2905
+ description: "Whether the CCO changed since the registrant's last N-CEN filing (Y or N) per Item B.10"
2906
+ display_name: "Changed Since Last Filing"
2907
+ mergeability: not_mergeable