@yottagraph-app/data-model-skill 0.0.31 → 0.0.33

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.
@@ -6,11 +6,15 @@
6
6
  # passive — they are created by the atomizer from parsed JSON fields, not
7
7
  # by LLM extraction.
8
8
  #
9
- # Two source identifiers are used on records:
9
+ # Three source identifiers are used on records:
10
10
  # - "fdic" — institution profiles + quarterly financials
11
- # - "fdic_failure" — bank failure and resolution data
11
+ # - "fdic_failure" — bank failure and resolution data (from /failures endpoint)
12
+ # - "fdic_history" — institution-level structure-change events (mergers,
13
+ # consolidations, voluntary closings, name changes,
14
+ # regulator changes, failures, etc., from /history endpoint
15
+ # filtered to ORG_ROLE_CDE:FI)
12
16
  name: "fdic"
13
- description: "FDIC-insured depository institution profiles, quarterly Call Report financials, and bank failure/resolution data from the FDIC BankFind Suite API"
17
+ description: "FDIC-insured depository institution profiles, quarterly Call Report financials, bank failure/resolution data, and institution-level structure-change events (mergers, consolidations, name/regulator/charter changes, voluntary closings, failures) from the FDIC BankFind Suite API"
14
18
 
15
19
  extraction:
16
20
  flavors: closed
@@ -34,6 +38,14 @@ flavors:
34
38
  examples: ["New York City", "San Francisco", "North America", "Bakery Square"]
35
39
  passive: true
36
40
 
41
+ - name: "bank_structure_event"
42
+ description: "An institution-level structure-change transaction recorded by the FDIC against an FDIC-insured (or FDIC-tracked) depository institution. Each row in the FDIC History API at the institution level (ORG_ROLE_CDE='FI') becomes one event entity, covering unassisted mergers, consolidations, absorptions, FDIC-assisted resolutions, voluntary closings, new charters, name changes, regulator and chartering-agency changes, class changes, and trust-power grants. Each event carries explicit relationships to every involved institution (subject, outgoing, surviving, acquiring) so a transaction is queryable as a first-class graph object."
43
+ display_name: "Bank Structure Event"
44
+ mergeability: not_mergeable
45
+ strong_id_properties: ["fdic_transaction_number", "fdic_history_event_id"]
46
+ examples: ["FDIC TXN 2026008583 — Merger -Without Assistance: Flint Hills Bank → The Bennington State Bank (2026-04-08)"]
47
+ passive: true
48
+
37
49
  # --- Identity and Registration (source: fdic) ---
38
50
 
39
51
  properties:
@@ -336,6 +348,100 @@ properties:
336
348
  domain_flavors: ["organization"]
337
349
  passive: true
338
350
 
351
+ # --- Bank Structure Event Properties (source: fdic_history) ---
352
+ # From FDIC BankFind Suite History API filtered to ORG_ROLE_CDE:FI.
353
+ # All elements are passive (atomized from JSON, no LLM extraction).
354
+
355
+ - name: "fdic_transaction_number"
356
+ type: string
357
+ description: "FDIC transaction number (TRANSNUM) uniquely identifying a transaction-backed structure-change in the FDIC History API; serves as the bank_structure_event entity's strong ID for the ~91% of FI-level events that are transaction-backed. The ~9% of FI-level events without a TRANSNUM (TRANSNUM=0, dominated by new-institution rows, location changes, and cert reassignments) instead carry an fdic_history_event_id strong ID"
358
+ display_name: "FDIC Transaction Number"
359
+ mergeability: not_mergeable
360
+ domain_flavors: ["bank_structure_event"]
361
+ examples: ["2026008583", "2026007976", "2026002845"]
362
+ passive: true
363
+
364
+ - name: "fdic_history_event_id"
365
+ type: string
366
+ description: "Per-row identifier from the ID field of the FDIC History API, used as the bank_structure_event entity's strong ID for the ~16K of ~185K FI-level events that have no TRANSNUM (TRANSNUM=0). The ID is a composite of effective date, CHANGECODE, and an internal identifier (e.g. \"1972-09-28T00:00:00_150_14384__\") and is unique per row. Emitted only when TRANSNUM=0, so the two strong-id properties are mutually exclusive for a given event"
367
+ display_name: "FDIC History Event ID"
368
+ mergeability: not_mergeable
369
+ domain_flavors: ["bank_structure_event"]
370
+ examples: ["1972-09-28T00:00:00_150_14384__", "1970-03-31T00:00:00_150_13853__"]
371
+ passive: true
372
+
373
+ - name: "event_change_code"
374
+ type: string
375
+ description: "FDIC structure-change event code (CHANGECODE) identifying the kind of structure change at the institution level — e.g. 110 (new institution), 211 (failure - whole institution), 221/222/223/224 (unassisted absorption/consolidation/merger/affiliated-pooling), 240 (voluntary closing), 310/320 (FRS membership change), 420/430/440/470 (chartering/class/org-type/regulator change), 510/520 (legal-name/physical-location change), 610 (trust powers granted), 810 (participated in absorption/consolidation/merger), 811 (participated in FDIC-assisted merger)"
376
+ display_name: "Event Change Code"
377
+ mergeability: not_mergeable
378
+ domain_flavors: ["bank_structure_event"]
379
+ examples: ["223", "211", "510", "240", "110", "810", "440"]
380
+ passive: true
381
+
382
+ - name: "event_change_description"
383
+ type: string
384
+ description: "Human-readable description of the FDIC structure-change event code (CHANGECODE_DESC) as published by the FDIC"
385
+ display_name: "Event Change Description"
386
+ mergeability: not_mergeable
387
+ domain_flavors: ["bank_structure_event"]
388
+ examples: ["Merger -Without Assistance", "Failure - Whole Institution", "Closing - Voluntary", "Change in Legal Name (FO or BR)", "New Institution"]
389
+ passive: true
390
+
391
+ - name: "event_category"
392
+ type: string
393
+ description: "Normalized bucket for the FDIC structure-change event, derived from CHANGECODE so consumers can filter without memorizing numeric codes. One of: merger (unassisted absorptions/consolidations/mergers/affiliated-pooling/branch-purchases and the partner-side merger rows: CC 221/222/223/224/225/712/810/811/812); failure (FDIC-assisted resolutions, conservatorships, RTC payoffs, open-bank assistance, and any closure driven by the chartering agency: CC 211/213/215/216/217/230/235/260/350/360/830); voluntary_closing (CC 240); new_institution (newly chartered institutions and admin cert reassignments: CC 110/150); name_change (CC 510); location_change (physical-address moves: CC 520); charter_change (FRS membership changes, insurance-status changes, chartering-agency/class/org-type/primary-regulator changes, trust powers granted, and phantom holding-company reorgs: CC 310/320/340/410/420/430/440/470/610/820); other (any CHANGECODE not in the above buckets, currently only CC 1 History Record Initiation). CHANGECODE definitions: https://banks.data.fdic.gov/docs/history_properties.yaml"
394
+ display_name: "Event Category"
395
+ mergeability: not_mergeable
396
+ domain_flavors: ["bank_structure_event"]
397
+ examples: ["merger", "failure", "name_change", "location_change", "charter_change", "new_institution", "voluntary_closing", "other"]
398
+ passive: true
399
+
400
+ - name: "is_fdic_assisted"
401
+ type: string
402
+ description: "String-encoded boolean (\"true\"/\"false\") indicating whether the FDIC (or its predecessor RTC) provided financial assistance, brokered the resolution, or otherwise stepped in to handle the institution. True for CHANGECODEs 211/213/215/216/217/230/235/260/350/360/811/812/830 (all failure-bucket codes plus the two partner-side rows for FDIC-Assisted Merger and Rtc Assisted Merger); false for all other codes. Orthogonal to event_category: 811/812 are in the merger bucket but are also FDIC-assisted. CHANGECODE definitions: https://banks.data.fdic.gov/docs/history_properties.yaml"
403
+ display_name: "FDIC-Assisted Resolution"
404
+ mergeability: not_mergeable
405
+ domain_flavors: ["bank_structure_event"]
406
+ examples: ["true", "false"]
407
+ passive: true
408
+
409
+ - name: "event_charter_class"
410
+ type: string
411
+ description: "FDIC institution charter class code in effect for the subject institution at the time of the event, sourced from the History API CLASS field. Same code set as the organization-level charter_class property (N/SM/NM/SB/SA/...). Critical for charter/regulator-change events (CC 430 Change in Class, CC 440 Change in Organization Type, CC 470 Change in Primary Regulatory Agency), where this is the class the institution changed TO. CHANGECODE and CLASS definitions: https://banks.data.fdic.gov/docs/history_properties.yaml"
412
+ display_name: "Event Charter Class"
413
+ mergeability: not_mergeable
414
+ domain_flavors: ["bank_structure_event"]
415
+ examples: ["N", "SM", "NM", "SB", "SA"]
416
+ passive: true
417
+
418
+ - name: "event_effective_date"
419
+ type: string
420
+ description: "Date the FDIC structure-change event took legal effect, formatted YYYY-MM-DD; derived from the EFFDATE field of the History API"
421
+ display_name: "Event Effective Date"
422
+ mergeability: not_mergeable
423
+ domain_flavors: ["bank_structure_event"]
424
+ examples: ["2026-04-08", "2008-12-31", "2004-07-01"]
425
+ passive: true
426
+
427
+ - name: "previous_legal_name"
428
+ type: string
429
+ description: "An institution's prior legal name immediately preceding a structure-change event that altered the legal name; derived from the FRM_INSTNAME field of the History API and emitted only when distinct from the current INSTNAME"
430
+ display_name: "Previous Legal Name"
431
+ mergeability: not_mergeable
432
+ domain_flavors: ["bank_structure_event"]
433
+ examples: ["ASSOCIATED CREDIT UNION", "Wachovia Bank, National Association"]
434
+ passive: true
435
+
436
+ - name: "previous_fdic_certificate_number"
437
+ type: string
438
+ description: "An institution's prior FDIC certificate number, derived from the FRM_CERT field of the History API and emitted only when present and distinct from the current CERT. The canonical case is CHANGECODE 150 (Cert Changed from Old Cert by Administrative Order). The same prior CERT is also added as an additional fdic_certificate_number strong-id alias on the subject_institution organization entity, so entity resolution merges the bank's old-cert and new-cert identities. CHANGECODE definitions: https://banks.data.fdic.gov/docs/history_properties.yaml"
439
+ display_name: "Previous FDIC Certificate Number"
440
+ mergeability: not_mergeable
441
+ domain_flavors: ["bank_structure_event"]
442
+ examples: ["90054", "90465", "90337"]
443
+ passive: true
444
+
339
445
  relationships:
340
446
  - name: "is_located_at"
341
447
  description: "An entity is located at, operates in, resides in, is headquartered in, was born in, visits, or died in a location"
@@ -347,10 +453,46 @@ relationships:
347
453
  passive: true
348
454
 
349
455
  - name: "acquired_by"
350
- description: "Links a failed institution to the acquiring institution that purchased its assets and/or assumed its deposits during FDIC resolution; derived from the BIDNAME field in the Failures API"
456
+ description: "Links a failed institution to the acquiring institution that purchased its assets and/or assumed its deposits during FDIC resolution; derived from the BIDNAME field in the Failures API. Coexists with the more general succeeded_by relationship and with bank_structure_event entities; the parallel representations are intentional"
351
457
  display_name: "Acquired By"
352
458
  mergeability: not_mergeable
353
459
  domain_flavors: ["organization"]
354
460
  target_flavors: ["organization"]
355
461
  examples: ["First Independence Bank acquired Metropolitan Capital B&T"]
356
462
  passive: true
463
+
464
+ - name: "succeeded_by"
465
+ description: "Links a depository institution that ceased to exist (via merger, consolidation, absorption, or FDIC resolution) directly to its successor institution. Sourced from the FDIC History API (fdic_history) whenever a 2-party event has both an outgoing party (OUT_CERT) and a distinct surviving/acquiring party (ACQ_CERT, falling back to SUR_CERT) AND the outgoing party actually disappeared (ORG_STAT_FLG=N). Provides a direct bank-to-bank lineage edge alongside the richer bank_structure_event entity model; both representations are emitted intentionally so consumers can pick whichever shape fits their query."
466
+ display_name: "Succeeded By"
467
+ mergeability: not_mergeable
468
+ domain_flavors: ["organization"]
469
+ target_flavors: ["organization"]
470
+ examples: ["Wachovia Bank of Delaware succeeded by Wells Fargo Bank, National Association", "Silicon Valley Bank succeeded by Deposit Insurance National Bank of Santa Clara"]
471
+ passive: true
472
+
473
+ - name: "subject_institution"
474
+ description: "Links a bank structure-change event to the FDIC-tracked institution this History API row is filed against (the row's primary CERT). For mergers/failures this is the disappearing party (also surfaced as outgoing_institution); for name changes, regulator changes, charter changes, voluntary closings, and new institutions, this is the affected institution itself."
475
+ display_name: "Subject Institution"
476
+ mergeability: not_mergeable
477
+ domain_flavors: ["bank_structure_event"]
478
+ target_flavors: ["organization"]
479
+ examples: ["FDIC TXN 2026007976 → Openland Credit Union (subject of legal-name change)"]
480
+ passive: true
481
+
482
+ - name: "outgoing_institution"
483
+ description: "Links a bank structure-change event to the FDIC-tracked institution that ceased to exist as a result of the event; derived from the OUT_CERT and OUT_INSTNAME fields of the History API and emitted only when populated"
484
+ display_name: "Outgoing Institution"
485
+ mergeability: not_mergeable
486
+ domain_flavors: ["bank_structure_event"]
487
+ target_flavors: ["organization"]
488
+ examples: ["FDIC TXN 2026008583 → Flint Hills Bank (disappearing party of unassisted merger)"]
489
+ passive: true
490
+
491
+ - name: "successor_institution"
492
+ description: "Links a bank structure-change event to the FDIC-tracked institution that took the outgoing party's deposits and/or assets following a merger, consolidation, absorption, or assisted resolution. Sourced preferentially from the ACQ_CERT/ACQ_INSTNAME fields of the History API (the conventional acquirer), falling back to SUR_CERT/SUR_INSTNAME (the legal-survivor designation) when only the survivor side is populated. Collapses the FDIC's split ACQ/SUR signals because empirically they agree on the CERT in 99.99% of 2-party events (only 3 of 23,114 disagree across 90 years of FI-level history, and those 3 are administrative same-name cert renumberings rather than genuinely distinct parties). Consumers that need the raw distinction can re-derive it from the source by inspecting the original History API row's ACQ_CERT vs SUR_CERT."
493
+ display_name: "Successor Institution"
494
+ mergeability: not_mergeable
495
+ domain_flavors: ["bank_structure_event"]
496
+ target_flavors: ["organization"]
497
+ examples: ["FDIC TXN 2026008583 → The Bennington State Bank (unassisted-merger acquirer)", "FDIC TXN 2026002845 → First Independence Bank (acquirer of Metropolitan Capital B&T after FDIC-assisted resolution)"]
498
+ passive: true