@yottagraph-app/aether-instructions 1.1.8 → 1.1.9

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 (34) hide show
  1. package/commands/update_instructions.md +30 -23
  2. package/package.json +1 -1
  3. package/skills/data-model/SKILL.md +58 -0
  4. package/skills/data-model/edgar/DATA_DICTIONARY.md +306 -0
  5. package/skills/data-model/edgar/schema.yaml +1893 -0
  6. package/skills/data-model/fdic/DATA_DICTIONARY.md +243 -0
  7. package/skills/data-model/fdic/schema.yaml +356 -0
  8. package/skills/data-model/fred/DATA_DICTIONARY.md +313 -0
  9. package/skills/data-model/fred/schema.yaml +155 -0
  10. package/skills/data-model/gleif/DATA_DICTIONARY.md +211 -0
  11. package/skills/data-model/gleif/schema.yaml +254 -0
  12. package/skills/data-model/newsdata/schema.yaml +650 -0
  13. package/skills/data-model/overview.md +77 -0
  14. package/skills/data-model/polymarket/DATA_DICTIONARY.md +384 -0
  15. package/skills/data-model/polymarket/schema.yaml +601 -0
  16. package/skills/data-model/sanctions/DATA_DICTIONARY.md +140 -0
  17. package/skills/data-model/sanctions/schema.yaml +153 -0
  18. package/skills/data-model/stocks/DATA_DICTIONARY.md +122 -0
  19. package/skills/data-model/stocks/schema.yaml +131 -0
  20. package/skills/data-model/system_schema.yaml +71 -0
  21. package/skills/data-model/wikipedia/DATA_DICTIONARY.md +185 -0
  22. package/skills/data-model/wikipedia/schema.yaml +255 -0
  23. package/skills/elemental-api/SKILL.md +37 -0
  24. package/skills/elemental-api/articles.md +386 -0
  25. package/skills/elemental-api/entities.md +393 -0
  26. package/skills/elemental-api/events.md +145 -0
  27. package/skills/elemental-api/find.md +279 -0
  28. package/skills/elemental-api/graph.md +239 -0
  29. package/skills/elemental-api/llm.md +18 -0
  30. package/skills/elemental-api/overview.md +51 -0
  31. package/skills/elemental-api/relationships.md +310 -0
  32. package/skills/elemental-api/schema.md +379 -0
  33. package/skills/elemental-api/sentiment.md +93 -0
  34. package/skills/elemental-api/server.md +186 -0
@@ -0,0 +1,1893 @@
1
+ # Dataset schema for SEC EDGAR structured data extraction.
2
+ #
3
+ # Edgar is a structured source — all entities, properties, and relationships
4
+ # are built deterministically by the atomizer from SEC API data (XBRL, JSON,
5
+ # HTML/XML filings). There is no LLM extraction, so all elements are passive
6
+ # and no extraction_config is used.
7
+ #
8
+ # XBRL financial properties (~40 concepts) are defined in the field map
9
+ # (fetchlib/edgar_field_map.go XBRLConceptMappings) and validated against the
10
+ # KG schema. Only the most commonly queried XBRL properties are listed here;
11
+ # the full set is authoritative in the field map.
12
+ name: "sec"
13
+ description: "SEC EDGAR filings: company registrations, XBRL financial facts, insider ownership, institutional holdings, and corporate events"
14
+
15
+ extraction:
16
+ flavors: closed
17
+ properties: closed
18
+ relationships: closed
19
+ attributes: open
20
+
21
+ # =============================================================================
22
+ # FLAVORS
23
+ # =============================================================================
24
+
25
+ flavors:
26
+ - name: "organization"
27
+ description: "A particular business, institution, or organization such as a corporation, university, government agency, or non-profit"
28
+ display_name: "Organization"
29
+ mergeability: not_mergeable
30
+ strong_id_properties: ["company_cik"]
31
+ passive: true
32
+
33
+ - name: "10_k"
34
+ namespace: "sec"
35
+ description: "Annual report filing (Form 10-K)"
36
+ display_name: "10-K"
37
+ mergeability: not_mergeable
38
+ strong_id_properties: ["accession_number"]
39
+ passive: true
40
+
41
+ - name: "10_q"
42
+ namespace: "sec"
43
+ description: "Quarterly report filing (Form 10-Q)"
44
+ display_name: "10-Q"
45
+ mergeability: not_mergeable
46
+ strong_id_properties: ["accession_number"]
47
+ passive: true
48
+
49
+ - name: "20_f"
50
+ namespace: "sec"
51
+ description: "Foreign private issuer annual report (Form 20-F)"
52
+ display_name: "20-F"
53
+ mergeability: not_mergeable
54
+ strong_id_properties: ["accession_number"]
55
+ passive: true
56
+
57
+ - name: "8_k"
58
+ namespace: "sec"
59
+ description: "Current report filing (Form 8-K)"
60
+ display_name: "8-K"
61
+ mergeability: not_mergeable
62
+ strong_id_properties: ["accession_number"]
63
+ passive: true
64
+
65
+ - name: "form_3"
66
+ namespace: "sec"
67
+ description: "Initial statement of beneficial ownership"
68
+ display_name: "Form 3"
69
+ mergeability: not_mergeable
70
+ strong_id_properties: ["accession_number"]
71
+ passive: true
72
+
73
+ - name: "form_4"
74
+ namespace: "sec"
75
+ description: "Statement of changes in beneficial ownership"
76
+ display_name: "Form 4"
77
+ mergeability: not_mergeable
78
+ strong_id_properties: ["accession_number"]
79
+ passive: true
80
+
81
+ - name: "sc_13d"
82
+ namespace: "sec"
83
+ description: "Beneficial ownership report (activist)"
84
+ display_name: "SC 13D"
85
+ mergeability: not_mergeable
86
+ strong_id_properties: ["accession_number"]
87
+ passive: true
88
+
89
+ - name: "sc_13g"
90
+ namespace: "sec"
91
+ description: "Beneficial ownership report (passive)"
92
+ display_name: "SC 13G"
93
+ mergeability: not_mergeable
94
+ strong_id_properties: ["accession_number"]
95
+ passive: true
96
+
97
+ - name: "13f_hr"
98
+ namespace: "sec"
99
+ description: "Institutional investment manager holdings report"
100
+ display_name: "13F-HR"
101
+ mergeability: not_mergeable
102
+ strong_id_properties: ["accession_number"]
103
+ passive: true
104
+
105
+ - name: "def_14a"
106
+ namespace: "sec"
107
+ description: "Definitive proxy statement"
108
+ display_name: "DEF 14A"
109
+ mergeability: not_mergeable
110
+ strong_id_properties: ["accession_number"]
111
+ passive: true
112
+
113
+ - name: "6_k"
114
+ namespace: "sec"
115
+ description: "Foreign private issuer current report (Form 6-K)"
116
+ display_name: "6-K"
117
+ mergeability: not_mergeable
118
+ strong_id_properties: ["accession_number"]
119
+ passive: true
120
+
121
+ - name: "40_f"
122
+ namespace: "sec"
123
+ description: "Canadian cross-border annual report (Form 40-F)"
124
+ display_name: "40-F"
125
+ mergeability: not_mergeable
126
+ strong_id_properties: ["accession_number"]
127
+ passive: true
128
+
129
+ - name: "person"
130
+ description: "A real person as opposed to a fictional character, such as a CEO, politician, or public figure"
131
+ display_name: "Person"
132
+ mergeability: not_mergeable
133
+ strong_id_properties: ["person_cik"]
134
+ passive: true
135
+
136
+ - name: "financial_instrument"
137
+ 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."
138
+ display_name: "Financial Instrument"
139
+ mergeability: not_mergeable
140
+ strong_id_properties: ["cusip_number"]
141
+ passive: true
142
+
143
+ # =============================================================================
144
+ # PROPERTIES — Organization
145
+ # =============================================================================
146
+
147
+ properties:
148
+ # ── Organization: Identity (source: edgar submissions) ──
149
+
150
+ - name: "company_cik"
151
+ type: string
152
+ description: "SEC Central Index Key, 10-digit zero-padded"
153
+ display_name: "CIK"
154
+ mergeability: not_mergeable
155
+ 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"]
156
+ passive: true
157
+
158
+ - name: "ticker"
159
+ type: string
160
+ description: "Primary stock ticker symbol"
161
+ display_name: "Ticker"
162
+ mergeability: not_mergeable
163
+ domain_flavors: ["organization"]
164
+ passive: true
165
+
166
+ - name: "exchange"
167
+ type: string
168
+ description: "Securities exchange listing"
169
+ display_name: "Exchange"
170
+ mergeability: not_mergeable
171
+ domain_flavors: ["organization"]
172
+ passive: true
173
+
174
+ - name: "sic_code"
175
+ type: string
176
+ description: "Four-digit Standard Industrial Classification code"
177
+ display_name: "SIC Code"
178
+ mergeability: not_mergeable
179
+ domain_flavors: ["organization"]
180
+ passive: true
181
+
182
+ - name: "sic_description"
183
+ type: string
184
+ description: "Human-readable SIC code description"
185
+ display_name: "SIC Description"
186
+ mergeability: not_mergeable
187
+ domain_flavors: ["organization"]
188
+ passive: true
189
+
190
+ - name: "state_of_incorporation"
191
+ type: string
192
+ description: "Two-letter US state or country code of incorporation"
193
+ display_name: "State of Incorporation"
194
+ mergeability: not_mergeable
195
+ domain_flavors: ["organization"]
196
+ passive: true
197
+
198
+ - name: "fiscal_year_end"
199
+ type: string
200
+ description: "Fiscal year end as MMDD string"
201
+ display_name: "Fiscal Year End"
202
+ mergeability: not_mergeable
203
+ domain_flavors: ["organization"]
204
+ passive: true
205
+
206
+ - name: "ein"
207
+ type: string
208
+ description: "IRS Employer Identification Number (9 digits)"
209
+ display_name: "EIN"
210
+ mergeability: not_mergeable
211
+ domain_flavors: ["organization"]
212
+ passive: true
213
+
214
+ - name: "business_phone"
215
+ type: string
216
+ description: "Primary business phone number"
217
+ display_name: "Business Phone"
218
+ mergeability: not_mergeable
219
+ domain_flavors: ["organization"]
220
+ passive: true
221
+
222
+ - name: "filer_category"
223
+ type: string
224
+ description: "SEC filer size category"
225
+ display_name: "Filer Category"
226
+ mergeability: not_mergeable
227
+ domain_flavors: ["organization"]
228
+ passive: true
229
+
230
+ - name: "physical_address"
231
+ type: string
232
+ description: "Physical street address of the entity"
233
+ display_name: "Physical Address"
234
+ mergeability: not_mergeable
235
+ domain_flavors: ["organization"]
236
+ passive: true
237
+
238
+ - name: "mailing_address"
239
+ type: string
240
+ description: "Mailing address as formatted string"
241
+ display_name: "Mailing Address"
242
+ mergeability: not_mergeable
243
+ domain_flavors: ["organization"]
244
+ passive: true
245
+
246
+ - name: "former_name"
247
+ type: string
248
+ description: "A previous legal name of the entity"
249
+ display_name: "Former Name"
250
+ mergeability: not_mergeable
251
+ domain_flavors: ["organization"]
252
+ passive: true
253
+
254
+ # ── Organization: Financials (source: edgar_10k/10q/20f form parsers) ──
255
+
256
+ - name: "total_revenue"
257
+ type: float
258
+ description: "Total revenues for the reporting period (USD)"
259
+ display_name: "Total Revenue"
260
+ mergeability: not_mergeable
261
+ domain_flavors: ["organization", "sec::10_k", "sec::10_q", "sec::20_f"]
262
+ passive: true
263
+
264
+ - name: "net_income"
265
+ type: float
266
+ description: "Net income or loss for the reporting period"
267
+ display_name: "Net Income"
268
+ mergeability: not_mergeable
269
+ domain_flavors: ["organization", "sec::10_k", "sec::10_q", "sec::20_f"]
270
+ passive: true
271
+
272
+ - name: "total_assets"
273
+ type: float
274
+ description: "Total assets"
275
+ display_name: "Total Assets"
276
+ mergeability: not_mergeable
277
+ domain_flavors: ["organization", "sec::10_k", "sec::10_q", "sec::20_f"]
278
+ passive: true
279
+
280
+ - name: "total_liabilities"
281
+ type: float
282
+ description: "Total liabilities"
283
+ display_name: "Total Liabilities"
284
+ mergeability: not_mergeable
285
+ domain_flavors: ["organization", "sec::10_k", "sec::10_q", "sec::20_f"]
286
+ passive: true
287
+
288
+ - name: "shareholders_equity"
289
+ type: float
290
+ description: "Total stockholders' or shareholders' equity"
291
+ display_name: "Shareholders' Equity"
292
+ mergeability: not_mergeable
293
+ domain_flavors: ["organization", "sec::10_k", "sec::10_q", "sec::20_f"]
294
+ passive: true
295
+
296
+ - name: "shares_outstanding"
297
+ type: float
298
+ description: "Common shares outstanding"
299
+ display_name: "Shares Outstanding"
300
+ mergeability: not_mergeable
301
+ domain_flavors: ["organization", "sec::10_k", "sec::10_q", "sec::20_f"]
302
+ passive: true
303
+
304
+ - name: "entity_shell_company"
305
+ type: string
306
+ description: "Whether the entity is a shell company per SEC definition"
307
+ display_name: "Shell Company"
308
+ mergeability: not_mergeable
309
+ domain_flavors: ["organization"]
310
+ passive: true
311
+
312
+ - name: "entity_number_of_employees"
313
+ type: float
314
+ description: "Workforce size from DEI cover page (10-K only)"
315
+ display_name: "Number of Employees"
316
+ mergeability: not_mergeable
317
+ domain_flavors: ["organization"]
318
+ passive: true
319
+
320
+ - name: "entity_filer_category_dei"
321
+ type: string
322
+ description: "Filer category from DEI cover page (e.g. Large Accelerated Filer)"
323
+ display_name: "Filer Category (DEI)"
324
+ mergeability: not_mergeable
325
+ domain_flavors: ["organization"]
326
+ passive: true
327
+
328
+ - name: "entity_small_business"
329
+ type: string
330
+ description: "Whether the entity is an emerging small business per SEC definition"
331
+ display_name: "Small Business"
332
+ mergeability: not_mergeable
333
+ domain_flavors: ["organization"]
334
+ passive: true
335
+
336
+ - name: "entity_emerging_growth_company"
337
+ type: string
338
+ description: "Whether the entity is an emerging growth company (JOBS Act)"
339
+ display_name: "Emerging Growth Company"
340
+ mergeability: not_mergeable
341
+ domain_flavors: ["organization"]
342
+ passive: true
343
+
344
+ - name: "entity_voluntary_filers"
345
+ type: string
346
+ description: "Voluntary vs mandatory filer status (10-K only)"
347
+ display_name: "Voluntary Filer"
348
+ mergeability: not_mergeable
349
+ domain_flavors: ["organization"]
350
+ passive: true
351
+
352
+ - name: "entity_well_known_seasoned_issuer"
353
+ type: string
354
+ description: "Well-known seasoned issuer (WKSI) flag — shelf registration eligible (10-K only)"
355
+ display_name: "WKSI"
356
+ mergeability: not_mergeable
357
+ domain_flavors: ["organization"]
358
+ passive: true
359
+
360
+ - name: "security_12b_title"
361
+ type: string
362
+ description: "Title of listed security class from DEI cover page"
363
+ display_name: "Security 12b Title"
364
+ mergeability: not_mergeable
365
+ domain_flavors: ["organization"]
366
+ passive: true
367
+
368
+ - name: "entity_listing_exchange"
369
+ type: string
370
+ description: "Securities exchange from DEI cover page (cross-check vs submissions API)"
371
+ display_name: "Listing Exchange (DEI)"
372
+ mergeability: not_mergeable
373
+ domain_flavors: ["organization"]
374
+ passive: true
375
+
376
+ - name: "document_fiscal_period_focus"
377
+ type: string
378
+ description: "Fiscal period focus from DEI cover page (FY, Q1, Q2, Q3)"
379
+ display_name: "Fiscal Period Focus"
380
+ mergeability: not_mergeable
381
+ domain_flavors: ["organization"]
382
+ passive: true
383
+
384
+ - name: "entity_incorporation_state_dei"
385
+ type: string
386
+ description: "State or country of incorporation from DEI cover page"
387
+ display_name: "Incorporation State (DEI)"
388
+ mergeability: not_mergeable
389
+ domain_flavors: ["organization"]
390
+ passive: true
391
+
392
+ - name: "entity_tax_id_number"
393
+ type: string
394
+ description: "IRS tax identification number from DEI cover page (10-K only)"
395
+ display_name: "Tax ID (DEI)"
396
+ mergeability: not_mergeable
397
+ domain_flavors: ["organization"]
398
+ passive: true
399
+
400
+ - name: "reporting_currency"
401
+ type: string
402
+ description: "ISO 4217 currency code for foreign private issuers (20-F only)"
403
+ display_name: "Reporting Currency"
404
+ mergeability: not_mergeable
405
+ domain_flavors: ["sec::20_f"]
406
+ passive: true
407
+
408
+ - name: "country_of_incorporation"
409
+ type: string
410
+ description: "Country of incorporation for foreign private issuers (20-F only)"
411
+ display_name: "Country of Incorporation"
412
+ mergeability: not_mergeable
413
+ domain_flavors: ["sec::20_f"]
414
+ passive: true
415
+
416
+ # ── Organization: SC 13D/G Beneficial Ownership ──
417
+
418
+ - name: "group_shares_declared"
419
+ type: float
420
+ description: "Total shares beneficially owned by the filing group (SC 13D Row 11)"
421
+ display_name: "Group Shares Declared"
422
+ mergeability: not_mergeable
423
+ domain_flavors: ["organization", "person", "sec::sc_13d", "sec::sc_13g"]
424
+ passive: true
425
+
426
+ - name: "group_ownership_percent"
427
+ type: float
428
+ description: "Percentage of share class owned by the group (SC 13D Row 13)"
429
+ display_name: "Group Ownership %"
430
+ mergeability: not_mergeable
431
+ domain_flavors: ["organization", "person", "sec::sc_13d", "sec::sc_13g"]
432
+ passive: true
433
+
434
+ - name: "is_group_filing"
435
+ type: float
436
+ description: "Whether the SC 13D was filed by a group (1.0 = group, 0.0 = single)"
437
+ display_name: "Group Filing"
438
+ mergeability: not_mergeable
439
+ domain_flavors: ["organization", "person", "sec::sc_13d", "sec::sc_13g"]
440
+ passive: true
441
+
442
+ - name: "shares_declared"
443
+ type: float
444
+ description: "Shares declared by an individual group member"
445
+ display_name: "Shares Declared"
446
+ mergeability: not_mergeable
447
+ domain_flavors: ["organization", "person", "sec::form_3"]
448
+ passive: true
449
+
450
+ - name: "ownership_percent"
451
+ type: float
452
+ description: "Ownership percentage declared by an individual member or SC 13G filer"
453
+ display_name: "Ownership %"
454
+ mergeability: not_mergeable
455
+ domain_flavors: ["organization", "person"]
456
+ passive: true
457
+
458
+ - name: "investment_purpose"
459
+ type: string
460
+ description: "Stated investment purpose from SC 13D Item 4"
461
+ display_name: "Investment Purpose"
462
+ mergeability: not_mergeable
463
+ domain_flavors: ["organization", "person"]
464
+ passive: true
465
+
466
+ - name: "intends_to_buy_more"
467
+ type: float
468
+ description: "Filer stated intent to acquire additional shares (1.0 = true, only stored when true)"
469
+ display_name: "Intends to Buy More"
470
+ mergeability: not_mergeable
471
+ domain_flavors: ["organization", "person"]
472
+ passive: true
473
+
474
+ - name: "intends_to_sell_all"
475
+ type: float
476
+ description: "Filer stated intent to dispose of all shares (1.0 = true, only stored when true)"
477
+ display_name: "Intends to Sell All"
478
+ mergeability: not_mergeable
479
+ domain_flavors: ["organization", "person"]
480
+ passive: true
481
+
482
+ - name: "intends_to_influence"
483
+ type: float
484
+ description: "Filer stated intent to influence board or management (1.0 = true, only stored when true)"
485
+ display_name: "Intends to Influence"
486
+ mergeability: not_mergeable
487
+ domain_flavors: ["organization", "person"]
488
+ passive: true
489
+
490
+ - name: "is_passive_investor"
491
+ type: float
492
+ description: "SC 13G passive investor flag (always 1.0 on SC 13G records)"
493
+ display_name: "Passive Investor"
494
+ mergeability: not_mergeable
495
+ domain_flavors: ["organization", "person"]
496
+ passive: true
497
+
498
+ - name: "aggregate_amount_beneficially_owned"
499
+ type: float
500
+ description: "Total shares beneficially owned (SC 13D Row 9 / Item 5)"
501
+ display_name: "Aggregate Amount Beneficially Owned"
502
+ mergeability: not_mergeable
503
+ domain_flavors: ["organization", "person"]
504
+ passive: true
505
+
506
+ - name: "sole_voting_power"
507
+ type: float
508
+ description: "Shares with sole voting authority (SC 13D Row 5)"
509
+ display_name: "Sole Voting Power"
510
+ mergeability: not_mergeable
511
+ domain_flavors: ["organization", "person"]
512
+ passive: true
513
+
514
+ - name: "shared_voting_power"
515
+ type: float
516
+ description: "Shares with shared voting authority (SC 13D Row 6)"
517
+ display_name: "Shared Voting Power"
518
+ mergeability: not_mergeable
519
+ domain_flavors: ["organization", "person"]
520
+ passive: true
521
+
522
+ - name: "sole_dispositive_power"
523
+ type: float
524
+ description: "Shares the owner can sell alone (SC 13D Row 7)"
525
+ display_name: "Sole Dispositive Power"
526
+ mergeability: not_mergeable
527
+ domain_flavors: ["organization", "person"]
528
+ passive: true
529
+
530
+ - name: "shared_dispositive_power"
531
+ type: float
532
+ description: "Shares the owner can sell with others (SC 13D Row 8)"
533
+ display_name: "Shared Dispositive Power"
534
+ mergeability: not_mergeable
535
+ domain_flavors: ["organization", "person"]
536
+ passive: true
537
+
538
+ - name: "type_of_reporting_person"
539
+ type: string
540
+ description: "SEC entity classification code (e.g. CO, IN, IA, HC)"
541
+ display_name: "Type of Reporting Person"
542
+ mergeability: not_mergeable
543
+ domain_flavors: ["organization", "person"]
544
+ passive: true
545
+
546
+ - name: "citizenship_or_state_of_organization"
547
+ type: string
548
+ description: "Jurisdiction of citizenship or incorporation"
549
+ display_name: "Citizenship / State of Organization"
550
+ mergeability: not_mergeable
551
+ domain_flavors: ["organization", "person"]
552
+ passive: true
553
+
554
+ - name: "source_of_funds"
555
+ type: string
556
+ description: "Source of acquisition funds (e.g. WC, OO, BK)"
557
+ display_name: "Source of Funds"
558
+ mergeability: not_mergeable
559
+ domain_flavors: ["organization", "person"]
560
+ passive: true
561
+
562
+ - name: "board_size"
563
+ type: float
564
+ description: "Number of directors on the board (DEF 14A)"
565
+ display_name: "Board Size"
566
+ mergeability: not_mergeable
567
+ domain_flavors: ["organization", "sec::def_14a"]
568
+ passive: true
569
+
570
+ # ── Filing Metadata ──
571
+
572
+ - name: "accession_number"
573
+ type: string
574
+ description: "SEC accession number uniquely identifying a filing"
575
+ display_name: "Accession Number"
576
+ mergeability: not_mergeable
577
+ 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"]
578
+ passive: true
579
+
580
+ - name: "form_type"
581
+ type: string
582
+ description: "Normalized SEC form type (e.g. 10-K, SC 13D, 4)"
583
+ display_name: "Form Type"
584
+ mergeability: not_mergeable
585
+ 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"]
586
+ passive: true
587
+
588
+ - name: "filing_date"
589
+ type: string
590
+ description: "Date the filing was submitted to the SEC (YYYY-MM-DD)"
591
+ display_name: "Filing Date"
592
+ mergeability: not_mergeable
593
+ 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"]
594
+ passive: true
595
+
596
+ - name: "report_date"
597
+ type: string
598
+ description: "End date of the primary reporting period (YYYY-MM-DD)"
599
+ display_name: "Report Date"
600
+ mergeability: not_mergeable
601
+ 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"]
602
+ passive: true
603
+
604
+ # ── XBRL Financial Facts (key concepts) ──
605
+
606
+ - name: "us_gaap:assets"
607
+ type: float
608
+ description: "Total assets (USD). XBRL: us-gaap:Assets"
609
+ display_name: "Total Assets"
610
+ mergeability: not_mergeable
611
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
612
+ passive: true
613
+
614
+ - name: "us_gaap:liabilities"
615
+ type: float
616
+ description: "Total liabilities (USD). XBRL: us-gaap:Liabilities. May be computed fallback."
617
+ display_name: "Total Liabilities"
618
+ mergeability: not_mergeable
619
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
620
+ passive: true
621
+
622
+ - name: "us_gaap:stockholders_equity"
623
+ type: float
624
+ description: "Total stockholders' equity (USD). XBRL: us-gaap:StockholdersEquity"
625
+ display_name: "Stockholders' Equity"
626
+ mergeability: not_mergeable
627
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
628
+ passive: true
629
+
630
+ - name: "us_gaap:revenues"
631
+ type: float
632
+ description: "Total revenues (USD). XBRL: us-gaap:Revenues"
633
+ display_name: "Revenues"
634
+ mergeability: not_mergeable
635
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
636
+ passive: true
637
+
638
+ - name: "us_gaap:net_income_loss"
639
+ type: float
640
+ description: "Net income or loss (USD). XBRL: us-gaap:NetIncomeLoss"
641
+ display_name: "Net Income/Loss"
642
+ mergeability: not_mergeable
643
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
644
+ passive: true
645
+
646
+ - name: "us_gaap:operating_income_loss"
647
+ type: float
648
+ description: "Operating income or loss (USD). XBRL: us-gaap:OperatingIncomeLoss"
649
+ display_name: "Operating Income/Loss"
650
+ mergeability: not_mergeable
651
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
652
+ passive: true
653
+
654
+ - name: "us_gaap:operating_cash_flow"
655
+ type: float
656
+ description: "Net cash from operating activities (USD). XBRL: us-gaap:NetCashProvidedByUsedInOperatingActivities"
657
+ display_name: "Operating Cash Flow"
658
+ mergeability: not_mergeable
659
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
660
+ passive: true
661
+
662
+ - name: "us_gaap:common_shares_outstanding"
663
+ type: float
664
+ description: "Common shares outstanding. XBRL: us-gaap:CommonStockSharesOutstanding"
665
+ display_name: "Common Shares Outstanding"
666
+ mergeability: not_mergeable
667
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
668
+ passive: true
669
+
670
+ - name: "us_gaap:long_term_debt"
671
+ type: float
672
+ description: "Long-term debt (USD). XBRL: us-gaap:LongTermDebt"
673
+ display_name: "Long-Term Debt"
674
+ mergeability: not_mergeable
675
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
676
+ passive: true
677
+
678
+ - name: "us_gaap:gross_profit"
679
+ type: float
680
+ description: "Gross profit (USD). XBRL: us-gaap:GrossProfit"
681
+ display_name: "Gross Profit"
682
+ mergeability: not_mergeable
683
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
684
+ passive: true
685
+
686
+ - name: "us_gaap:assets_current"
687
+ type: float
688
+ description: "Current assets (USD). XBRL: us-gaap:AssetsCurrent"
689
+ display_name: "Current Assets"
690
+ mergeability: not_mergeable
691
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
692
+ passive: true
693
+
694
+ - name: "us_gaap:cash_and_cash_equivalents"
695
+ type: float
696
+ description: "Cash and cash equivalents (USD). XBRL: us-gaap:CashAndCashEquivalentsAtCarryingValue"
697
+ display_name: "Cash & Equivalents"
698
+ mergeability: not_mergeable
699
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
700
+ passive: true
701
+
702
+ - name: "us_gaap:cash_restricted"
703
+ type: float
704
+ description: "Restricted cash and equivalents (USD). XBRL: us-gaap:RestrictedCashAndCashEquivalents"
705
+ display_name: "Restricted Cash"
706
+ mergeability: not_mergeable
707
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
708
+ passive: true
709
+
710
+ - name: "us_gaap:cash"
711
+ type: float
712
+ description: "Cash (USD). XBRL: us-gaap:Cash"
713
+ display_name: "Cash"
714
+ mergeability: not_mergeable
715
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
716
+ passive: true
717
+
718
+ - name: "us_gaap:liabilities_current"
719
+ type: float
720
+ description: "Current liabilities (USD). XBRL: us-gaap:LiabilitiesCurrent"
721
+ display_name: "Current Liabilities"
722
+ mergeability: not_mergeable
723
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
724
+ passive: true
725
+
726
+ - name: "us_gaap:stockholders_equity_total"
727
+ type: float
728
+ description: "Total equity including noncontrolling interest (USD). XBRL: us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest"
729
+ display_name: "Total Equity"
730
+ mergeability: not_mergeable
731
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
732
+ passive: true
733
+
734
+ - name: "us_gaap:partners_capital"
735
+ type: float
736
+ description: "Partners' capital (USD). XBRL: us-gaap:PartnersCapital"
737
+ display_name: "Partners' Capital"
738
+ mergeability: not_mergeable
739
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
740
+ passive: true
741
+
742
+ - name: "us_gaap:retained_earnings"
743
+ type: float
744
+ description: "Retained earnings / accumulated deficit (USD). XBRL: us-gaap:RetainedEarningsAccumulatedDeficit"
745
+ display_name: "Retained Earnings"
746
+ mergeability: not_mergeable
747
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
748
+ passive: true
749
+
750
+ - name: "us_gaap:accounts_receivable_current"
751
+ type: float
752
+ description: "Current accounts receivable, net (USD). XBRL: us-gaap:AccountsReceivableNetCurrent"
753
+ display_name: "Accounts Receivable"
754
+ mergeability: not_mergeable
755
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
756
+ passive: true
757
+
758
+ - name: "us_gaap:inventory_net"
759
+ type: float
760
+ description: "Net inventory (USD). XBRL: us-gaap:InventoryNet"
761
+ display_name: "Inventory"
762
+ mergeability: not_mergeable
763
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
764
+ passive: true
765
+
766
+ - name: "us_gaap:accounts_payable_current"
767
+ type: float
768
+ description: "Current accounts payable (USD). XBRL: us-gaap:AccountsPayableCurrent"
769
+ display_name: "Accounts Payable"
770
+ mergeability: not_mergeable
771
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
772
+ passive: true
773
+
774
+ - name: "us_gaap:revenue_from_contracts"
775
+ type: float
776
+ description: "Revenue from contracts with customers (USD). XBRL: us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax"
777
+ display_name: "Contract Revenue"
778
+ mergeability: not_mergeable
779
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
780
+ passive: true
781
+
782
+ - name: "us_gaap:profit_loss"
783
+ type: float
784
+ description: "Profit or loss including noncontrolling interest (USD). XBRL: us-gaap:ProfitLoss"
785
+ display_name: "Profit/Loss"
786
+ mergeability: not_mergeable
787
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
788
+ passive: true
789
+
790
+ - name: "us_gaap:cogs"
791
+ type: float
792
+ description: "Cost of goods and services sold (USD). XBRL: us-gaap:CostOfGoodsAndServicesSold"
793
+ display_name: "COGS"
794
+ mergeability: not_mergeable
795
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
796
+ passive: true
797
+
798
+ - name: "us_gaap:depreciation_and_amortization"
799
+ type: float
800
+ description: "Depreciation, depletion and amortization (USD). XBRL: us-gaap:DepreciationDepletionAndAmortization"
801
+ display_name: "D&A"
802
+ mergeability: not_mergeable
803
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
804
+ passive: true
805
+
806
+ - name: "us_gaap:interest_expense"
807
+ type: float
808
+ description: "Interest expense (USD). XBRL: us-gaap:InterestExpense"
809
+ display_name: "Interest Expense"
810
+ mergeability: not_mergeable
811
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
812
+ passive: true
813
+
814
+ - name: "us_gaap:interest_expense_nonoperating"
815
+ type: float
816
+ description: "Nonoperating interest expense (USD). XBRL: us-gaap:InterestExpenseNonoperating"
817
+ display_name: "Interest Expense (Nonoperating)"
818
+ mergeability: not_mergeable
819
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
820
+ passive: true
821
+
822
+ - name: "us_gaap:interest_expense_operating"
823
+ type: float
824
+ description: "Operating interest expense (USD). XBRL: us-gaap:InterestExpenseOperating"
825
+ display_name: "Interest Expense (Operating)"
826
+ mergeability: not_mergeable
827
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
828
+ passive: true
829
+
830
+ - name: "us_gaap:interest_expense_debt"
831
+ type: float
832
+ description: "Interest expense on debt (USD). XBRL: us-gaap:InterestExpenseDebt"
833
+ display_name: "Interest Expense (Debt)"
834
+ mergeability: not_mergeable
835
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
836
+ passive: true
837
+
838
+ - name: "us_gaap:interest_and_debt_expense"
839
+ type: float
840
+ description: "Interest and debt expense combined (USD). XBRL: us-gaap:InterestAndDebtExpense"
841
+ display_name: "Interest & Debt Expense"
842
+ mergeability: not_mergeable
843
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
844
+ passive: true
845
+
846
+ - name: "us_gaap:financing_cash_flow"
847
+ type: float
848
+ description: "Net cash from financing activities (USD). XBRL: us-gaap:NetCashProvidedByUsedInFinancingActivities"
849
+ display_name: "Financing Cash Flow"
850
+ mergeability: not_mergeable
851
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
852
+ passive: true
853
+
854
+ - name: "us_gaap:capex_paid"
855
+ type: float
856
+ description: "Capital expenditures paid (USD). XBRL: us-gaap:PaymentsToAcquirePropertyPlantAndEquipment"
857
+ display_name: "CapEx"
858
+ mergeability: not_mergeable
859
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
860
+ passive: true
861
+
862
+ - name: "us_gaap:long_term_debt_current"
863
+ type: float
864
+ description: "Current portion of long-term debt (USD). XBRL: us-gaap:LongTermDebtCurrent"
865
+ display_name: "Current Long-Term Debt"
866
+ mergeability: not_mergeable
867
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
868
+ passive: true
869
+
870
+ - name: "us_gaap:short_term_borrowings"
871
+ type: float
872
+ description: "Short-term borrowings (USD). XBRL: us-gaap:ShortTermBorrowings"
873
+ display_name: "Short-Term Borrowings"
874
+ mergeability: not_mergeable
875
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
876
+ passive: true
877
+
878
+ - name: "us_gaap:total_debt"
879
+ type: float
880
+ description: "Combined long- and short-term debt (USD). XBRL: us-gaap:DebtLongtermAndShorttermCombinedAmount"
881
+ display_name: "Total Debt"
882
+ mergeability: not_mergeable
883
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
884
+ passive: true
885
+
886
+ - name: "us_gaap:debt_maturity_year_1"
887
+ type: float
888
+ description: "Debt maturing within one year (USD). XBRL: us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths"
889
+ display_name: "Debt Maturity (1 Year)"
890
+ mergeability: not_mergeable
891
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
892
+ passive: true
893
+
894
+ - name: "us_gaap:convertible_debt"
895
+ type: float
896
+ description: "Convertible debt (USD). XBRL: us-gaap:ConvertibleDebt"
897
+ display_name: "Convertible Debt"
898
+ mergeability: not_mergeable
899
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
900
+ passive: true
901
+
902
+ - name: "us_gaap:secured_debt"
903
+ type: float
904
+ description: "Secured debt (USD). XBRL: us-gaap:SecuredDebt"
905
+ display_name: "Secured Debt"
906
+ mergeability: not_mergeable
907
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
908
+ passive: true
909
+
910
+ - name: "us_gaap:notes_payable"
911
+ type: float
912
+ description: "Notes payable (USD). XBRL: us-gaap:NotesPayable"
913
+ display_name: "Notes Payable"
914
+ mergeability: not_mergeable
915
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
916
+ passive: true
917
+
918
+ - name: "us_gaap:notes_payable_related_parties"
919
+ type: float
920
+ description: "Notes payable to related parties, noncurrent (USD). XBRL: us-gaap:NotesPayableRelatedPartiesNoncurrent"
921
+ display_name: "Notes Payable (Related Parties)"
922
+ mergeability: not_mergeable
923
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
924
+ passive: true
925
+
926
+ - name: "us_gaap:line_of_credit"
927
+ type: float
928
+ description: "Line of credit (USD). XBRL: us-gaap:LineOfCredit"
929
+ display_name: "Line of Credit"
930
+ mergeability: not_mergeable
931
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
932
+ passive: true
933
+
934
+ - name: "us_gaap:finance_lease_liability"
935
+ type: float
936
+ description: "Finance lease liability (USD). XBRL: us-gaap:FinanceLeaseLiability"
937
+ display_name: "Finance Lease Liability"
938
+ mergeability: not_mergeable
939
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
940
+ passive: true
941
+
942
+ - name: "us_gaap:derivative_liabilities"
943
+ type: float
944
+ description: "Derivative liabilities (USD). XBRL: us-gaap:DerivativeLiabilities"
945
+ display_name: "Derivative Liabilities"
946
+ mergeability: not_mergeable
947
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
948
+ passive: true
949
+
950
+ - name: "dei:public_float"
951
+ type: float
952
+ description: "Aggregate market value of non-affiliate equity (USD). XBRL: dei:EntityPublicFloat"
953
+ display_name: "Public Float"
954
+ mergeability: not_mergeable
955
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
956
+ passive: true
957
+
958
+ - name: "dei:common_shares_outstanding"
959
+ type: float
960
+ description: "Common shares outstanding from DEI cover page. XBRL: dei:EntityCommonStockSharesOutstanding"
961
+ display_name: "Common Shares Outstanding (DEI)"
962
+ mergeability: not_mergeable
963
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
964
+ passive: true
965
+
966
+ - name: "dei:number_of_employees"
967
+ type: float
968
+ description: "Number of employees from DEI cover page. XBRL: dei:EntityNumberOfEmployees"
969
+ display_name: "Number of Employees"
970
+ mergeability: not_mergeable
971
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
972
+ passive: true
973
+
974
+ # ── XBRL: Additional balance sheet ──
975
+
976
+ - name: "us_gaap:pp_and_e_net"
977
+ type: float
978
+ description: "Property, plant and equipment net (USD). XBRL: us-gaap:PropertyPlantAndEquipmentNet"
979
+ display_name: "PP&E Net"
980
+ mergeability: not_mergeable
981
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
982
+ passive: true
983
+
984
+ - name: "us_gaap:additional_paid_in_capital"
985
+ type: float
986
+ description: "Additional paid-in capital above par (USD). XBRL: us-gaap:AdditionalPaidInCapital"
987
+ display_name: "Additional Paid-In Capital"
988
+ mergeability: not_mergeable
989
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
990
+ passive: true
991
+
992
+ - name: "us_gaap:goodwill"
993
+ type: float
994
+ description: "Goodwill (USD). XBRL: us-gaap:Goodwill"
995
+ display_name: "Goodwill"
996
+ mergeability: not_mergeable
997
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
998
+ passive: true
999
+
1000
+ - name: "us_gaap:operating_lease_rou_asset"
1001
+ type: float
1002
+ description: "Operating lease right-of-use asset (USD, ASC 842). XBRL: us-gaap:OperatingLeaseRightOfUseAsset"
1003
+ display_name: "Operating Lease ROU Asset"
1004
+ mergeability: not_mergeable
1005
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1006
+ passive: true
1007
+
1008
+ - name: "us_gaap:operating_lease_liability"
1009
+ type: float
1010
+ description: "Total operating lease liability (USD, ASC 842). XBRL: us-gaap:OperatingLeaseLiability"
1011
+ display_name: "Operating Lease Liability"
1012
+ mergeability: not_mergeable
1013
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1014
+ passive: true
1015
+
1016
+ - name: "us_gaap:long_term_debt_noncurrent"
1017
+ type: float
1018
+ description: "Long-term debt excluding current portion (USD). XBRL: us-gaap:LongTermDebtNoncurrent"
1019
+ display_name: "Long-Term Debt (Noncurrent)"
1020
+ mergeability: not_mergeable
1021
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1022
+ passive: true
1023
+
1024
+ - name: "us_gaap:minority_interest"
1025
+ type: float
1026
+ description: "Noncontrolling interest in subsidiaries (USD). XBRL: us-gaap:MinorityInterest"
1027
+ display_name: "Noncontrolling Interest"
1028
+ mergeability: not_mergeable
1029
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1030
+ passive: true
1031
+
1032
+ - name: "us_gaap:treasury_stock"
1033
+ type: float
1034
+ description: "Treasury stock at cost (USD). XBRL: us-gaap:TreasuryStockValue"
1035
+ display_name: "Treasury Stock"
1036
+ mergeability: not_mergeable
1037
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1038
+ passive: true
1039
+
1040
+ - name: "us_gaap:intangible_assets"
1041
+ type: float
1042
+ description: "Intangible assets net excluding goodwill (USD). XBRL: us-gaap:IntangibleAssetsNetExcludingGoodwill"
1043
+ display_name: "Intangible Assets"
1044
+ mergeability: not_mergeable
1045
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1046
+ passive: true
1047
+
1048
+ # ── XBRL: Additional income statement ──
1049
+
1050
+ - name: "us_gaap:income_tax_expense"
1051
+ type: float
1052
+ description: "Income tax expense or benefit (USD). XBRL: us-gaap:IncomeTaxExpenseBenefit"
1053
+ display_name: "Income Tax Expense"
1054
+ mergeability: not_mergeable
1055
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1056
+ passive: true
1057
+
1058
+ - name: "us_gaap:operating_expenses"
1059
+ type: float
1060
+ description: "Total operating expenses (USD). XBRL: us-gaap:OperatingExpenses"
1061
+ display_name: "Operating Expenses"
1062
+ mergeability: not_mergeable
1063
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1064
+ passive: true
1065
+
1066
+ - name: "us_gaap:research_and_development"
1067
+ type: float
1068
+ description: "Research and development expense (USD). XBRL: us-gaap:ResearchAndDevelopmentExpense"
1069
+ display_name: "R&D Expense"
1070
+ mergeability: not_mergeable
1071
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1072
+ passive: true
1073
+
1074
+ - name: "us_gaap:sg_and_a"
1075
+ type: float
1076
+ description: "Selling, general and administrative expense (USD). XBRL: us-gaap:SellingGeneralAndAdministrativeExpense"
1077
+ display_name: "SG&A"
1078
+ mergeability: not_mergeable
1079
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1080
+ passive: true
1081
+
1082
+ - name: "us_gaap:comprehensive_income"
1083
+ type: float
1084
+ description: "Comprehensive income net of tax (USD). XBRL: us-gaap:ComprehensiveIncomeNetOfTax"
1085
+ display_name: "Comprehensive Income"
1086
+ mergeability: not_mergeable
1087
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1088
+ passive: true
1089
+
1090
+ - name: "us_gaap:asset_impairment"
1091
+ type: float
1092
+ description: "Asset impairment charges (USD). XBRL: us-gaap:AssetImpairmentCharges"
1093
+ display_name: "Asset Impairment"
1094
+ mergeability: not_mergeable
1095
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1096
+ passive: true
1097
+
1098
+ - name: "us_gaap:goodwill_impairment"
1099
+ type: float
1100
+ description: "Goodwill impairment loss (USD). XBRL: us-gaap:GoodwillImpairmentLoss"
1101
+ display_name: "Goodwill Impairment"
1102
+ mergeability: not_mergeable
1103
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1104
+ passive: true
1105
+
1106
+ # ── XBRL: Additional cash flow ──
1107
+
1108
+ - name: "us_gaap:investing_cash_flow"
1109
+ type: float
1110
+ description: "Net cash from investing activities (USD). XBRL: us-gaap:NetCashProvidedByUsedInInvestingActivities"
1111
+ display_name: "Investing Cash Flow"
1112
+ mergeability: not_mergeable
1113
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1114
+ passive: true
1115
+
1116
+ - name: "us_gaap:share_repurchases"
1117
+ type: float
1118
+ description: "Payments for repurchase of common stock (USD). XBRL: us-gaap:PaymentsForRepurchaseOfCommonStock"
1119
+ display_name: "Share Repurchases"
1120
+ mergeability: not_mergeable
1121
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1122
+ passive: true
1123
+
1124
+ - name: "us_gaap:acquisition_payments"
1125
+ type: float
1126
+ description: "Payments to acquire businesses net of cash (USD). XBRL: us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired"
1127
+ display_name: "Acquisition Payments"
1128
+ mergeability: not_mergeable
1129
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1130
+ passive: true
1131
+
1132
+ - name: "us_gaap:debt_repayments"
1133
+ type: float
1134
+ description: "Repayments of long-term debt (USD). XBRL: us-gaap:RepaymentsOfLongTermDebt"
1135
+ display_name: "Debt Repayments"
1136
+ mergeability: not_mergeable
1137
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1138
+ passive: true
1139
+
1140
+ - name: "us_gaap:dividends_common"
1141
+ type: float
1142
+ description: "Cash dividends paid on common stock (USD). XBRL: us-gaap:DividendsCommonStockCash"
1143
+ display_name: "Dividends (Common)"
1144
+ mergeability: not_mergeable
1145
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1146
+ passive: true
1147
+
1148
+ - name: "us_gaap:stock_retired"
1149
+ type: float
1150
+ description: "Stock repurchased and retired during period (USD). XBRL: us-gaap:StockRepurchasedAndRetiredDuringPeriodValue"
1151
+ display_name: "Stock Retired"
1152
+ mergeability: not_mergeable
1153
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1154
+ passive: true
1155
+
1156
+ # ── XBRL: Per share and shares ──
1157
+
1158
+ - name: "us_gaap:eps_basic_xbrl"
1159
+ type: float
1160
+ description: "Basic earnings per share from XBRL (USD). XBRL: us-gaap:EarningsPerShareBasic"
1161
+ display_name: "EPS Basic (XBRL)"
1162
+ mergeability: not_mergeable
1163
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1164
+ passive: true
1165
+
1166
+ - name: "us_gaap:eps_diluted_xbrl"
1167
+ type: float
1168
+ description: "Diluted earnings per share from XBRL (USD). XBRL: us-gaap:EarningsPerShareDiluted"
1169
+ display_name: "EPS Diluted (XBRL)"
1170
+ mergeability: not_mergeable
1171
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1172
+ passive: true
1173
+
1174
+ - name: "us_gaap:weighted_avg_shares_basic"
1175
+ type: float
1176
+ description: "Weighted average shares outstanding basic. XBRL: us-gaap:WeightedAverageNumberOfSharesOutstandingBasic"
1177
+ display_name: "Weighted Avg Shares (Basic)"
1178
+ mergeability: not_mergeable
1179
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1180
+ passive: true
1181
+
1182
+ - name: "us_gaap:weighted_avg_shares_diluted"
1183
+ type: float
1184
+ description: "Weighted average shares outstanding diluted. XBRL: us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding"
1185
+ display_name: "Weighted Avg Shares (Diluted)"
1186
+ mergeability: not_mergeable
1187
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1188
+ passive: true
1189
+
1190
+ - name: "us_gaap:weighted_avg_shares_basic_and_diluted"
1191
+ type: float
1192
+ description: "Weighted average shares basic and diluted. XBRL: us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted"
1193
+ display_name: "Weighted Avg Shares (Basic & Diluted)"
1194
+ mergeability: not_mergeable
1195
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1196
+ passive: true
1197
+
1198
+ # ── XBRL: Company info ──
1199
+
1200
+ - name: "us_gaap:number_of_segments"
1201
+ type: float
1202
+ description: "Number of reportable business segments. XBRL: us-gaap:NumberOfReportableSegments"
1203
+ display_name: "Number of Segments"
1204
+ mergeability: not_mergeable
1205
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1206
+ passive: true
1207
+
1208
+ # ── XBRL: IFRS ──
1209
+
1210
+ - name: "ifrs:assets"
1211
+ type: float
1212
+ description: "Total assets under IFRS (USD). XBRL: ifrs-full:Assets"
1213
+ display_name: "Total Assets (IFRS)"
1214
+ mergeability: not_mergeable
1215
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1216
+ passive: true
1217
+
1218
+ - name: "ifrs:cash_and_cash_equivalents"
1219
+ type: float
1220
+ description: "Cash and cash equivalents under IFRS (USD). XBRL: ifrs-full:CashAndCashEquivalents"
1221
+ display_name: "Cash (IFRS)"
1222
+ mergeability: not_mergeable
1223
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1224
+ passive: true
1225
+
1226
+ - name: "ifrs:equity"
1227
+ type: float
1228
+ description: "Total equity under IFRS (USD). XBRL: ifrs-full:Equity"
1229
+ display_name: "Total Equity (IFRS)"
1230
+ mergeability: not_mergeable
1231
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1232
+ passive: true
1233
+
1234
+ - name: "ifrs:profit_loss"
1235
+ type: float
1236
+ description: "Profit or loss under IFRS (USD). XBRL: ifrs-full:ProfitLoss"
1237
+ display_name: "Profit/Loss (IFRS)"
1238
+ mergeability: not_mergeable
1239
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1240
+ passive: true
1241
+
1242
+ - name: "ifrs:operating_cash_flow"
1243
+ type: float
1244
+ description: "Cash flows from operating activities under IFRS (USD). XBRL: ifrs-full:CashFlowsFromUsedInOperatingActivities"
1245
+ display_name: "Operating Cash Flow (IFRS)"
1246
+ mergeability: not_mergeable
1247
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1248
+ passive: true
1249
+
1250
+ - name: "ifrs:current_assets"
1251
+ type: float
1252
+ description: "Current assets under IFRS (USD). XBRL: ifrs-full:CurrentAssets"
1253
+ display_name: "Current Assets (IFRS)"
1254
+ mergeability: not_mergeable
1255
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1256
+ passive: true
1257
+
1258
+ - name: "ifrs:current_liabilities"
1259
+ type: float
1260
+ description: "Current liabilities under IFRS (USD). XBRL: ifrs-full:CurrentLiabilities"
1261
+ display_name: "Current Liabilities (IFRS)"
1262
+ mergeability: not_mergeable
1263
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1264
+ passive: true
1265
+
1266
+ - name: "ifrs:liabilities"
1267
+ type: float
1268
+ description: "Total liabilities under IFRS (USD). XBRL: ifrs-full:Liabilities"
1269
+ display_name: "Total Liabilities (IFRS)"
1270
+ mergeability: not_mergeable
1271
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1272
+ passive: true
1273
+
1274
+ - name: "ifrs:revenue"
1275
+ type: float
1276
+ description: "Revenue under IFRS (USD). XBRL: ifrs-full:Revenue"
1277
+ display_name: "Revenue (IFRS)"
1278
+ mergeability: not_mergeable
1279
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f", "sec::8_k", "sec::6_k", "sec::40_f", "organization"]
1280
+ passive: true
1281
+
1282
+ - name: "eps_basic"
1283
+ type: float
1284
+ description: "Basic earnings per share (USD)"
1285
+ display_name: "EPS Basic"
1286
+ mergeability: not_mergeable
1287
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f"]
1288
+ passive: true
1289
+
1290
+ - name: "eps_diluted"
1291
+ type: float
1292
+ description: "Diluted earnings per share (USD)"
1293
+ display_name: "EPS Diluted"
1294
+ mergeability: not_mergeable
1295
+ domain_flavors: ["sec::10_k", "sec::10_q", "sec::20_f"]
1296
+ passive: true
1297
+
1298
+ # ── 8-K Events ──
1299
+
1300
+ - name: "form_8k_event"
1301
+ type: string
1302
+ description: "Snake_case identifier of the 8-K corporate event"
1303
+ display_name: "8-K Event"
1304
+ mergeability: not_mergeable
1305
+ domain_flavors: ["sec::8_k"]
1306
+ passive: true
1307
+
1308
+ - name: "form_8k_item_code"
1309
+ type: string
1310
+ description: "Raw SEC 8-K item number (e.g. 1.01, 5.02)"
1311
+ display_name: "8-K Item Code"
1312
+ mergeability: not_mergeable
1313
+ domain_flavors: ["sec::8_k"]
1314
+ passive: true
1315
+
1316
+ - name: "category"
1317
+ type: string
1318
+ description: "Classification or category for the event"
1319
+ display_name: "Category"
1320
+ mergeability: not_mergeable
1321
+ domain_flavors: ["sec::8_k"]
1322
+ passive: true
1323
+
1324
+ - name: "event_severity"
1325
+ type: string
1326
+ description: "Severity level derived from 8-K item code: critical, high, medium, or low"
1327
+ display_name: "Event Severity"
1328
+ mergeability: not_mergeable
1329
+ domain_flavors: ["sec::8_k"]
1330
+ passive: true
1331
+
1332
+ - name: "8k_cybersecurity_keyword"
1333
+ type: string
1334
+ description: "Cybersecurity keyword detected in Item 8.01 body text"
1335
+ display_name: "Cybersecurity Keyword"
1336
+ mergeability: not_mergeable
1337
+ domain_flavors: ["sec::8_k"]
1338
+ passive: true
1339
+
1340
+ - name: "8k_litigation_keyword"
1341
+ type: string
1342
+ description: "Litigation keyword detected in Item 8.01 body text"
1343
+ display_name: "Litigation Keyword"
1344
+ mergeability: not_mergeable
1345
+ domain_flavors: ["sec::8_k"]
1346
+ passive: true
1347
+
1348
+ - name: "8k_regulatory_keyword"
1349
+ type: string
1350
+ description: "Regulatory action keyword detected in Item 8.01 body text"
1351
+ display_name: "Regulatory Keyword"
1352
+ mergeability: not_mergeable
1353
+ domain_flavors: ["sec::8_k"]
1354
+ passive: true
1355
+
1356
+ - name: "8k_operational_keyword"
1357
+ type: string
1358
+ description: "Operational disruption keyword detected in Item 8.01 body text"
1359
+ display_name: "Operational Keyword"
1360
+ mergeability: not_mergeable
1361
+ domain_flavors: ["sec::8_k"]
1362
+ passive: true
1363
+
1364
+ - name: "abs_servicing_event"
1365
+ type: string
1366
+ description: "ABS Information and Computation Material flag (Item 6.01)"
1367
+ display_name: "ABS Servicing Event"
1368
+ mergeability: not_mergeable
1369
+ domain_flavors: ["sec::8_k"]
1370
+ passive: true
1371
+
1372
+ - name: "abs_servicer_change"
1373
+ type: string
1374
+ description: "Change of Servicer or Trustee flag (Item 6.02)"
1375
+ display_name: "ABS Servicer Change"
1376
+ mergeability: not_mergeable
1377
+ domain_flavors: ["sec::8_k"]
1378
+ passive: true
1379
+
1380
+ - name: "abs_credit_enhancement_change"
1381
+ type: string
1382
+ description: "Change in Credit Enhancement flag (Item 6.03)"
1383
+ display_name: "ABS Credit Enhancement Change"
1384
+ mergeability: not_mergeable
1385
+ domain_flavors: ["sec::8_k"]
1386
+ passive: true
1387
+
1388
+ - name: "abs_failure_event"
1389
+ type: string
1390
+ description: "Failure to Make Distribution flag (Item 6.04)"
1391
+ display_name: "ABS Failure Event"
1392
+ mergeability: not_mergeable
1393
+ domain_flavors: ["sec::8_k"]
1394
+ passive: true
1395
+
1396
+ - name: "abs_securities_act"
1397
+ type: string
1398
+ description: "Securities Act Updating Disclosure flag (Item 6.05)"
1399
+ display_name: "ABS Securities Act"
1400
+ mergeability: not_mergeable
1401
+ domain_flavors: ["sec::8_k"]
1402
+ passive: true
1403
+
1404
+ # ── Form 3/4 Transactions ──
1405
+
1406
+ - name: "transaction_type"
1407
+ type: string
1408
+ description: "Human-readable Form 4 transaction code description"
1409
+ display_name: "Transaction Type"
1410
+ mergeability: not_mergeable
1411
+ domain_flavors: ["sec::form_3", "sec::form_4"]
1412
+ passive: true
1413
+
1414
+ - name: "transaction_date"
1415
+ type: string
1416
+ description: "Date the ownership transaction occurred (YYYY-MM-DD)"
1417
+ display_name: "Transaction Date"
1418
+ mergeability: not_mergeable
1419
+ domain_flavors: ["sec::form_3", "sec::form_4"]
1420
+ passive: true
1421
+
1422
+ - name: "acquired_disposed_code"
1423
+ type: string
1424
+ description: "Whether shares were acquired (A) or disposed (D)"
1425
+ display_name: "Acquired/Disposed"
1426
+ mergeability: not_mergeable
1427
+ domain_flavors: ["sec::form_3", "sec::form_4"]
1428
+ passive: true
1429
+
1430
+ - name: "security_type"
1431
+ type: string
1432
+ description: "Class of security involved in the transaction or holding"
1433
+ display_name: "Security Type"
1434
+ mergeability: not_mergeable
1435
+ domain_flavors: ["sec::form_3", "sec::form_4", "sec::sc_13d", "sec::sc_13g", "financial_instrument"]
1436
+ passive: true
1437
+
1438
+ - name: "shares_transacted"
1439
+ type: float
1440
+ description: "Number of shares bought, sold, or transferred"
1441
+ display_name: "Shares Transacted"
1442
+ mergeability: not_mergeable
1443
+ domain_flavors: ["sec::form_3", "sec::form_4"]
1444
+ passive: true
1445
+
1446
+ - name: "price_per_share"
1447
+ type: float
1448
+ description: "Price per share for the transaction (USD)"
1449
+ display_name: "Price Per Share"
1450
+ mergeability: not_mergeable
1451
+ domain_flavors: ["sec::form_3", "sec::form_4"]
1452
+ passive: true
1453
+
1454
+ - name: "shares_owned_after"
1455
+ type: float
1456
+ description: "Total shares held after the transaction"
1457
+ display_name: "Shares Owned After"
1458
+ mergeability: not_mergeable
1459
+ domain_flavors: ["sec::form_3", "sec::form_4"]
1460
+ passive: true
1461
+
1462
+ - name: "exercise_price"
1463
+ type: float
1464
+ description: "Conversion or exercise price for derivative securities (USD)"
1465
+ display_name: "Exercise Price"
1466
+ mergeability: not_mergeable
1467
+ domain_flavors: ["sec::form_3", "sec::form_4"]
1468
+ passive: true
1469
+
1470
+ - name: "underlying_security_type"
1471
+ type: string
1472
+ description: "Title of the underlying security for derivative holdings (Form 3/4)"
1473
+ display_name: "Underlying Security Type"
1474
+ mergeability: not_mergeable
1475
+ domain_flavors: ["sec::form_3", "sec::form_4"]
1476
+ passive: true
1477
+
1478
+ - name: "underlying_security_shares"
1479
+ type: float
1480
+ description: "Number of shares of the underlying security for derivative holdings (Form 3/4)"
1481
+ display_name: "Underlying Security Shares"
1482
+ mergeability: not_mergeable
1483
+ domain_flavors: ["sec::form_3", "sec::form_4"]
1484
+ passive: true
1485
+
1486
+ - name: "direct_or_indirect_ownership"
1487
+ type: string
1488
+ description: "Whether ownership is Direct or Indirect"
1489
+ display_name: "Ownership Type"
1490
+ mergeability: not_mergeable
1491
+ domain_flavors: ["sec::form_3", "sec::form_4"]
1492
+ passive: true
1493
+
1494
+ - name: "is_10b5_1_plan"
1495
+ type: string
1496
+ description: "Whether the transaction was under a Rule 10b5-1 plan"
1497
+ display_name: "10b5-1 Plan"
1498
+ mergeability: not_mergeable
1499
+ domain_flavors: ["sec::form_3", "sec::form_4"]
1500
+ passive: true
1501
+
1502
+ - name: "footnote_text"
1503
+ type: string
1504
+ description: "Footnote text from Form 4 providing transaction context (plan details, vesting)"
1505
+ display_name: "Footnote Text"
1506
+ mergeability: not_mergeable
1507
+ domain_flavors: ["sec::form_4"]
1508
+ passive: true
1509
+
1510
+ - name: "equity_swap_involved"
1511
+ type: string
1512
+ description: "Whether the transaction involves an equity swap"
1513
+ display_name: "Equity Swap Involved"
1514
+ mergeability: not_mergeable
1515
+ domain_flavors: ["sec::form_4"]
1516
+ passive: true
1517
+
1518
+ - name: "insider_trade_event"
1519
+ type: string
1520
+ description: "Derived insider trade event: INSIDER_BUY or INSIDER_SELL"
1521
+ display_name: "Insider Trade Event"
1522
+ mergeability: not_mergeable
1523
+ domain_flavors: ["sec::form_4"]
1524
+ passive: true
1525
+
1526
+ - name: "owner_address"
1527
+ type: string
1528
+ description: "Reporting owner address from Form 3/4 XML (city, state)"
1529
+ display_name: "Owner Address"
1530
+ mergeability: not_mergeable
1531
+ domain_flavors: ["person"]
1532
+ passive: true
1533
+
1534
+ # ── 13F-HR Additional ──
1535
+
1536
+ - name: "report_period_date"
1537
+ type: string
1538
+ description: "Quarter-end date for the 13F-HR report period"
1539
+ display_name: "Report Period Date"
1540
+ mergeability: not_mergeable
1541
+ domain_flavors: ["sec::13f_hr"]
1542
+ passive: true
1543
+
1544
+ - name: "confidential_treatment_flag"
1545
+ type: string
1546
+ description: "Whether the 13F-HR manager requested confidential treatment"
1547
+ display_name: "Confidential Treatment"
1548
+ mergeability: not_mergeable
1549
+ domain_flavors: ["sec::13f_hr"]
1550
+ passive: true
1551
+
1552
+ # ── DEF 14A Proxy ──
1553
+
1554
+ - name: "auditor"
1555
+ type: string
1556
+ description: "Independent registered public accounting firm"
1557
+ display_name: "Auditor"
1558
+ mergeability: not_mergeable
1559
+ domain_flavors: ["sec::10_k", "sec::def_14a"]
1560
+ passive: true
1561
+
1562
+ - name: "audit_fees"
1563
+ type: float
1564
+ description: "Fees paid to the independent auditor (USD)"
1565
+ display_name: "Audit Fees"
1566
+ mergeability: not_mergeable
1567
+ domain_flavors: ["sec::def_14a"]
1568
+ passive: true
1569
+
1570
+ # ── Person: 8-K Officer Changes ──
1571
+
1572
+ - name: "change_type"
1573
+ type: string
1574
+ description: "Type of officer/director change from 8-K Item 5.02 (e.g. appointed, resigned, terminated)"
1575
+ display_name: "Change Type"
1576
+ mergeability: not_mergeable
1577
+ domain_flavors: ["person"]
1578
+ passive: true
1579
+
1580
+ - name: "relationship_type"
1581
+ type: string
1582
+ description: "Relationship between a counterparty organization and the issuer from 8-K (e.g. acquirer, creditor)"
1583
+ display_name: "Relationship Type"
1584
+ mergeability: not_mergeable
1585
+ domain_flavors: ["organization"]
1586
+ passive: true
1587
+
1588
+ # ── Person: Insider Identity ──
1589
+
1590
+ - name: "person_cik"
1591
+ type: string
1592
+ description: "SEC Central Index Key for the reporting person (10-digit zero-padded)"
1593
+ display_name: "Person CIK"
1594
+ mergeability: not_mergeable
1595
+ domain_flavors: ["person"]
1596
+ passive: true
1597
+
1598
+ - name: "job_title"
1599
+ type: string
1600
+ description: "Officer title as stated in the filing"
1601
+ display_name: "Job Title"
1602
+ mergeability: not_mergeable
1603
+ domain_flavors: ["person"]
1604
+ passive: true
1605
+
1606
+ - name: "board_committee"
1607
+ type: string
1608
+ description: "Board committee membership (DEF 14A)"
1609
+ display_name: "Board Committee"
1610
+ mergeability: not_mergeable
1611
+ domain_flavors: ["person"]
1612
+ passive: true
1613
+
1614
+ - name: "is_independent"
1615
+ type: float
1616
+ description: "Whether the director is classified as independent (1.0 = yes, 0.0 = no)"
1617
+ display_name: "Independent Director"
1618
+ mergeability: not_mergeable
1619
+ domain_flavors: ["person"]
1620
+ passive: true
1621
+
1622
+ - name: "director_since"
1623
+ type: string
1624
+ description: "Year the person became a director"
1625
+ display_name: "Director Since"
1626
+ mergeability: not_mergeable
1627
+ domain_flavors: ["person"]
1628
+ passive: true
1629
+
1630
+ - name: "total_compensation"
1631
+ type: float
1632
+ description: "Total compensation from Summary Compensation Table (USD)"
1633
+ display_name: "Total Compensation"
1634
+ mergeability: not_mergeable
1635
+ domain_flavors: ["person"]
1636
+ passive: true
1637
+
1638
+ # ── Financial Instrument: 13F-HR Holdings ──
1639
+
1640
+ - name: "cusip_number"
1641
+ type: string
1642
+ description: "CUSIP identifier for the security"
1643
+ display_name: "CUSIP"
1644
+ mergeability: not_mergeable
1645
+ domain_flavors: ["financial_instrument", "organization", "sec::sc_13d", "sec::sc_13g", "sec::13f_hr"]
1646
+ passive: true
1647
+
1648
+ - name: "position_value"
1649
+ type: float
1650
+ description: "Market value of the holding (USD)"
1651
+ display_name: "Position Value"
1652
+ mergeability: not_mergeable
1653
+ domain_flavors: ["financial_instrument"]
1654
+ passive: true
1655
+
1656
+ - name: "shares_held"
1657
+ type: float
1658
+ description: "Number of shares or principal amount held"
1659
+ display_name: "Shares Held"
1660
+ mergeability: not_mergeable
1661
+ domain_flavors: ["financial_instrument"]
1662
+ passive: true
1663
+
1664
+ - name: "instrument_type"
1665
+ type: string
1666
+ description: "Type of holding: SH (shares) or PRN (principal amount)"
1667
+ display_name: "Instrument Type"
1668
+ mergeability: not_mergeable
1669
+ domain_flavors: ["financial_instrument"]
1670
+ passive: true
1671
+
1672
+ - name: "put_call"
1673
+ type: string
1674
+ description: "PUT or CALL for option positions; empty for equity"
1675
+ display_name: "Put/Call"
1676
+ mergeability: not_mergeable
1677
+ domain_flavors: ["financial_instrument"]
1678
+ passive: true
1679
+
1680
+ - name: "voting_authority_sole"
1681
+ type: float
1682
+ description: "Shares with sole voting authority"
1683
+ display_name: "Voting Authority (Sole)"
1684
+ mergeability: not_mergeable
1685
+ domain_flavors: ["financial_instrument"]
1686
+ passive: true
1687
+
1688
+ - name: "voting_authority_shared"
1689
+ type: float
1690
+ description: "Shares with shared voting authority"
1691
+ display_name: "Voting Authority (Shared)"
1692
+ mergeability: not_mergeable
1693
+ domain_flavors: ["financial_instrument"]
1694
+ passive: true
1695
+
1696
+ - name: "voting_authority_none"
1697
+ type: float
1698
+ description: "Shares with no voting authority"
1699
+ display_name: "Voting Authority (None)"
1700
+ mergeability: not_mergeable
1701
+ domain_flavors: ["financial_instrument"]
1702
+ passive: true
1703
+
1704
+ - name: "investment_discretion"
1705
+ type: string
1706
+ description: "Investment discretion type: SOLE, DFND, or OTR"
1707
+ display_name: "Investment Discretion"
1708
+ mergeability: not_mergeable
1709
+ domain_flavors: ["organization", "financial_instrument"]
1710
+ passive: true
1711
+
1712
+ # =============================================================================
1713
+ # RELATIONSHIPS
1714
+ # =============================================================================
1715
+
1716
+ relationships:
1717
+ # ── Organization → Filing ──
1718
+
1719
+ - name: "filed"
1720
+ description: "Link from a company to an SEC filing document it filed, or from a sub-record (event, transaction, holding) to its parent filing"
1721
+ display_name: "Filed"
1722
+ mergeability: not_mergeable
1723
+ 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"]
1724
+ 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"]
1725
+ passive: true
1726
+
1727
+ - name: "filing_reference"
1728
+ description: "Link from an entity to the specific SEC filing that is its source"
1729
+ display_name: "Filing Reference"
1730
+ mergeability: not_mergeable
1731
+ domain_flavors: ["organization", "person", "financial_instrument"]
1732
+ 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"]
1733
+ passive: true
1734
+
1735
+ # ── Filing → Organization ──
1736
+
1737
+ - name: "issued_by"
1738
+ description: "Link from a filing to the company it pertains to (the filer for most forms; the issuer for ownership forms)"
1739
+ display_name: "Issued By"
1740
+ mergeability: not_mergeable
1741
+ 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"]
1742
+ target_flavors: ["organization"]
1743
+ passive: true
1744
+
1745
+ - name: "refers_to"
1746
+ description: "Link from a filing or counterparty to the company the document is principally about"
1747
+ display_name: "Refers To"
1748
+ mergeability: not_mergeable
1749
+ 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", "organization"]
1750
+ target_flavors: ["organization"]
1751
+ passive: true
1752
+
1753
+ - name: "filer"
1754
+ description: "Link from a filing to the beneficial owner or manager who filed it"
1755
+ display_name: "Filer"
1756
+ mergeability: not_mergeable
1757
+ domain_flavors: ["sec::sc_13d", "sec::sc_13g", "sec::13f_hr"]
1758
+ target_flavors: ["organization", "person"]
1759
+ passive: true
1760
+
1761
+ - name: "group_member"
1762
+ description: "Link from an SC 13D document to each group member (excluding primary filer)"
1763
+ display_name: "Group Member"
1764
+ mergeability: not_mergeable
1765
+ domain_flavors: ["sec::sc_13d"]
1766
+ target_flavors: ["organization", "person"]
1767
+ passive: true
1768
+
1769
+ - name: "compares_to"
1770
+ description: "An organization is used as a comparable for analysis of another organization, e.g., BMW as a comparable company to Tesla"
1771
+ display_name: "Compares To"
1772
+ mergeability: not_mergeable
1773
+ domain_flavors: ["sec::def_14a"]
1774
+ target_flavors: ["organization"]
1775
+ passive: true
1776
+
1777
+ # ── Organization → Organization ──
1778
+
1779
+ - name: "owns_stake_in"
1780
+ description: "Link from a beneficial owner to the company whose shares they hold (SC 13D/G)"
1781
+ display_name: "Owns Stake In"
1782
+ mergeability: not_mergeable
1783
+ domain_flavors: ["organization", "person"]
1784
+ target_flavors: ["organization"]
1785
+ passive: true
1786
+
1787
+ - name: "has_subsidiary"
1788
+ description: "Link from a parent company to a subsidiary (co-registrant or EX-21)"
1789
+ display_name: "Has Subsidiary"
1790
+ mergeability: not_mergeable
1791
+ domain_flavors: ["organization"]
1792
+ target_flavors: ["organization"]
1793
+ passive: true
1794
+
1795
+ - name: "is_part_of"
1796
+ description: "An organization is a part of a larger organization, e.g., a subdivision or subsidiary within a larger company"
1797
+ display_name: "Part Of"
1798
+ mergeability: not_mergeable
1799
+ domain_flavors: ["organization"]
1800
+ target_flavors: ["organization"]
1801
+ passive: true
1802
+
1803
+ # ── Organization → Financial Instrument ──
1804
+
1805
+ - name: "holds_position"
1806
+ description: "Link from an investment manager to a security it holds (13F-HR)"
1807
+ display_name: "Holds Position"
1808
+ mergeability: not_mergeable
1809
+ domain_flavors: ["organization"]
1810
+ target_flavors: ["financial_instrument"]
1811
+ passive: true
1812
+
1813
+ # ── Person → Organization ──
1814
+
1815
+ - name: "is_officer"
1816
+ description: "Link from a person to the organization for which they are an officer"
1817
+ display_name: "Is Officer"
1818
+ mergeability: not_mergeable
1819
+ domain_flavors: ["person"]
1820
+ target_flavors: ["organization"]
1821
+ passive: true
1822
+
1823
+ - name: "is_director"
1824
+ description: "A person is on the board of directors of an organization. Not to be used for heads of organizations."
1825
+ display_name: "Is Director"
1826
+ mergeability: not_mergeable
1827
+ domain_flavors: ["person"]
1828
+ target_flavors: ["organization"]
1829
+ passive: true
1830
+
1831
+ - name: "is_ten_percent_owner"
1832
+ description: "Link from a person to an organization in which they hold >=10% beneficial ownership"
1833
+ display_name: "10% Owner"
1834
+ mergeability: not_mergeable
1835
+ domain_flavors: ["person"]
1836
+ target_flavors: ["organization"]
1837
+ passive: true
1838
+
1839
+ - name: "works_at"
1840
+ description: "A person is employed by, or is a founder of an organization. Not to be used for heads or board members of organizations."
1841
+ display_name: "Works At"
1842
+ mergeability: not_mergeable
1843
+ domain_flavors: ["person"]
1844
+ target_flavors: ["organization"]
1845
+ passive: true
1846
+
1847
+ # =============================================================================
1848
+ # ATTRIBUTES
1849
+ # =============================================================================
1850
+
1851
+ # filing_period is attached to all financial property atoms (XBRL and
1852
+ # form-parsed) to distinguish fiscal periods. Values: FY (annual),
1853
+ # Q1, Q2, Q3 (quarterly). Applied to us_gaap:*, dei:*, total_revenue,
1854
+ # net_income, total_assets, total_liabilities, shareholders_equity,
1855
+ # shares_outstanding, eps_basic, eps_diluted, and other financial metrics.
1856
+ # Only representative entries are listed; the attribute is added dynamically
1857
+ # by the atomizer to all financial atoms.
1858
+
1859
+ attributes:
1860
+ - property: "us_gaap:assets"
1861
+ name: "filing_period"
1862
+ type: string
1863
+ description: "Fiscal period: FY (annual), Q1, Q2, Q3 (quarterly)"
1864
+ display_name: "Filing Period"
1865
+ mergeability: not_mergeable
1866
+
1867
+ - property: "us_gaap:revenues"
1868
+ name: "filing_period"
1869
+ type: string
1870
+ description: "Fiscal period: FY (annual), Q1, Q2, Q3 (quarterly)"
1871
+ display_name: "Filing Period"
1872
+ mergeability: not_mergeable
1873
+
1874
+ - property: "us_gaap:net_income_loss"
1875
+ name: "filing_period"
1876
+ type: string
1877
+ description: "Fiscal period: FY (annual), Q1, Q2, Q3 (quarterly)"
1878
+ display_name: "Filing Period"
1879
+ mergeability: not_mergeable
1880
+
1881
+ - property: "total_revenue"
1882
+ name: "filing_period"
1883
+ type: string
1884
+ description: "Fiscal period: FY (annual), Q1, Q2, Q3 (quarterly)"
1885
+ display_name: "Filing Period"
1886
+ mergeability: not_mergeable
1887
+
1888
+ - property: "net_income"
1889
+ name: "filing_period"
1890
+ type: string
1891
+ description: "Fiscal period: FY (annual), Q1, Q2, Q3 (quarterly)"
1892
+ display_name: "Filing Period"
1893
+ mergeability: not_mergeable