@yottagraph-app/aether-instructions 1.1.8 → 1.1.10

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 (35) hide show
  1. package/README.md +6 -8
  2. package/commands/update_instructions.md +30 -23
  3. package/package.json +1 -1
  4. package/skills/data-model/SKILL.md +58 -0
  5. package/skills/data-model/edgar/DATA_DICTIONARY.md +306 -0
  6. package/skills/data-model/edgar/schema.yaml +1893 -0
  7. package/skills/data-model/fdic/DATA_DICTIONARY.md +243 -0
  8. package/skills/data-model/fdic/schema.yaml +356 -0
  9. package/skills/data-model/fred/DATA_DICTIONARY.md +313 -0
  10. package/skills/data-model/fred/schema.yaml +155 -0
  11. package/skills/data-model/gleif/DATA_DICTIONARY.md +211 -0
  12. package/skills/data-model/gleif/schema.yaml +254 -0
  13. package/skills/data-model/newsdata/schema.yaml +650 -0
  14. package/skills/data-model/overview.md +77 -0
  15. package/skills/data-model/polymarket/DATA_DICTIONARY.md +384 -0
  16. package/skills/data-model/polymarket/schema.yaml +601 -0
  17. package/skills/data-model/sanctions/DATA_DICTIONARY.md +140 -0
  18. package/skills/data-model/sanctions/schema.yaml +153 -0
  19. package/skills/data-model/stocks/DATA_DICTIONARY.md +122 -0
  20. package/skills/data-model/stocks/schema.yaml +131 -0
  21. package/skills/data-model/system_schema.yaml +71 -0
  22. package/skills/data-model/wikipedia/DATA_DICTIONARY.md +185 -0
  23. package/skills/data-model/wikipedia/schema.yaml +255 -0
  24. package/skills/elemental-api/SKILL.md +37 -0
  25. package/skills/elemental-api/articles.md +386 -0
  26. package/skills/elemental-api/entities.md +393 -0
  27. package/skills/elemental-api/events.md +145 -0
  28. package/skills/elemental-api/find.md +279 -0
  29. package/skills/elemental-api/graph.md +239 -0
  30. package/skills/elemental-api/llm.md +18 -0
  31. package/skills/elemental-api/overview.md +51 -0
  32. package/skills/elemental-api/relationships.md +310 -0
  33. package/skills/elemental-api/schema.md +379 -0
  34. package/skills/elemental-api/sentiment.md +93 -0
  35. package/skills/elemental-api/server.md +186 -0
@@ -0,0 +1,140 @@
1
+ # Data Dictionary: Sanctions
2
+
3
+ ## Purpose
4
+
5
+ Sanctioned persons and organizations from [OpenSanctions](https://www.opensanctions.org/), which aggregates sanctions lists from US OFAC, UK HM Treasury, EU, UN, Swiss SECO, and others. Input is OpenSanctions JSON (arrays or newline-delimited). Static reference data loaded in bulk. Only entities with `target: true` are ingested.
6
+
7
+ `Record.Source`: `sanctions-source`
8
+
9
+ ---
10
+
11
+ ## Entity Types
12
+
13
+ ### `person`
14
+
15
+ A sanctioned individual listed on one or more sanctions lists.
16
+
17
+ - Primary key: OpenSanctions entity ID (`sanctions_id`)
18
+
19
+ ### `organization`
20
+
21
+ A sanctioned company, legal entity, or other organization. OpenSanctions schema types `"Company"`, `"Organization"`, and `"LegalEntity"` all map here.
22
+
23
+ - Primary key: OpenSanctions entity ID (`sanctions_id`)
24
+
25
+ ### `sanction_program`
26
+
27
+ A government or international sanctions program. Created implicitly as relationship targets; resolved by strong ID (the program name).
28
+
29
+ - Primary key: program name (e.g. `"OFAC-SDN"`, `"SECO-UKRAINE"`)
30
+
31
+ ### `country`
32
+
33
+ Referenced by the `country` relationship on organization entities. Not created by this source.
34
+
35
+ - Primary key: ISO country code
36
+
37
+ ---
38
+
39
+ ## Properties
40
+
41
+ ### Shared Properties (person + organization)
42
+
43
+ #### Identity
44
+
45
+ * `sanctions_id`
46
+ * Definition: unique identifier from OpenSanctions.
47
+ * Examples: `"ch-seco-94982"`, `"us-ofac-12345"`
48
+ * Derivation: `id` field from the JSON entity record.
49
+
50
+ * `name`
51
+ * Definition: a known name for this entity. One atom per entry in the source `name` array.
52
+ * Examples: `"Zhongheng Lin"`, `"Acme Industries LLC"`
53
+ * Derivation: each entry in `properties.name`.
54
+
55
+ * `alias`
56
+ * Definition: an alternative name or spelling. One atom per source alias.
57
+ * Examples: `"林仲恒 Lin"`, `"V. Putin"`
58
+ * Derivation: each entry in `properties.alias`.
59
+
60
+ #### Sanctions Classification
61
+
62
+ * `sanction_program`
63
+ * Definition: link to the sanctions program(s) under which this entity is designated. One atom per program.
64
+ * Examples: `"SECO-UKRAINE"`, `"OFAC-SDN"`, `"GB-RUS"`
65
+ * Derivation: each entry in `properties.programId`. Target `sanction_program` entity resolved by strong ID.
66
+
67
+ * `sanctions_topic`
68
+ * Definition: classification tag for the type of designation. One atom per topic.
69
+ * Examples: `"sanction"`, `"poi"`, `"debarment"`, `"entity.associate"`
70
+ * Derivation: each entry in `properties.topics`.
71
+
72
+ #### Context
73
+
74
+ * `notes`
75
+ * Definition: context about why this entity is sanctioned. Multiple source notes concatenated with ` | `.
76
+ * Derivation: all entries from `properties.notes` concatenated.
77
+
78
+ * `sanctioned`
79
+ * Definition: boolean flag (`1.0`) indicating a sanctions target. Emitted only when `notes` is absent.
80
+ * Derivation: fallback marker set to `1.0` when the entity has no notes.
81
+
82
+ ---
83
+
84
+ ### Person-Only Properties
85
+
86
+ * `birth_date`
87
+ * Definition: date of birth. Only the first value is stored.
88
+ * Examples: `"1958-01-06"`, `"1952-10-07"`
89
+ * Derivation: `properties.birthDate[0]`. ISO 8601 date string.
90
+
91
+ * `nationality`
92
+ * Definition: nationality as a two-letter ISO country code. Falls back to `country` if nationality is empty.
93
+ * Examples: `"cn"`, `"ru"`, `"us"`
94
+ * Derivation: `properties.nationality[0]`, falling back to `properties.country[0]`.
95
+
96
+ * `position`
97
+ * Definition: job title, political role, or official position. Only the first value is stored.
98
+ * Examples: `"President of Russia"`, `"Owner of Shenzhen Biguang Technology"`
99
+ * Derivation: `properties.position[0]`.
100
+
101
+ ---
102
+
103
+ ### Organization-Only Properties
104
+
105
+ * `country`
106
+ * Definition: link to the associated country entity. Only the first value is stored.
107
+ * Examples: `"ru"`, `"cn"`, `"ir"`
108
+ * Derivation: `properties.country[0]`. Target entity uses the ISO country code as name.
109
+
110
+ * `address`
111
+ * Definition: physical address. Only the first value is stored.
112
+ * Examples: `"123 Main Street, Moscow, Russia"`, `"PO Box 456, Tehran"`
113
+ * Derivation: `properties.address[0]`.
114
+
115
+ * `sector`
116
+ * Definition: business sector or industry classification. Only the first value is stored.
117
+ * Examples: `"Energy"`, `"Banking"`, `"Defense"`
118
+ * Derivation: `properties.sector[0]`.
119
+
120
+ ---
121
+
122
+ ### Sanction Program Properties
123
+
124
+ None. Program entities carry only a strong ID (the program name) for resolution.
125
+
126
+ ---
127
+
128
+ ## Entity Relationships
129
+
130
+ ```
131
+ person ──[sanction_program]──→ sanction_program
132
+ organization ──[sanction_program]──→ sanction_program
133
+ organization ──[country]───────────→ country
134
+ ```
135
+
136
+ ---
137
+
138
+ ## Attributes
139
+
140
+ None beyond standard atom metadata. Entity resolution snippets are carried on `Subject.NamedEntityResolverInformation.Snippets`.
@@ -0,0 +1,153 @@
1
+ # Dataset schema for sanctions data (OpenSanctions).
2
+ #
3
+ # This schema describes entity types, properties, and relationships produced
4
+ # by atomizing structured JSON from the OpenSanctions aggregated dataset.
5
+ # All elements are passive — they are created by the atomizer from parsed
6
+ # JSON fields, not by LLM extraction.
7
+ name: "sanctions"
8
+ description: "Sanctioned persons, organizations, and their associated sanctions programs from the OpenSanctions aggregated dataset"
9
+
10
+ extraction:
11
+ flavors: closed
12
+ properties: closed
13
+ relationships: closed
14
+ attributes: closed
15
+ events: closed
16
+
17
+ flavors:
18
+ - name: "person"
19
+ description: "A real person as opposed to a fictional character, such as a CEO, politician, or public figure"
20
+ display_name: "Person"
21
+ mergeability: not_mergeable
22
+ passive: true
23
+
24
+ - name: "organization"
25
+ description: "A particular business, institution, or organization such as a corporation, university, government agency, or non-profit"
26
+ display_name: "Organization"
27
+ mergeability: not_mergeable
28
+ passive: true
29
+
30
+ - name: "sanction_program"
31
+ description: "A government or international sanctions program under which entities are designated"
32
+ display_name: "Sanction Program"
33
+ mergeability: not_mergeable
34
+ passive: true
35
+
36
+ - name: "country"
37
+ description: "A country referenced by sanctioned organizations, identified by ISO country code"
38
+ display_name: "Country"
39
+ mergeability: not_mergeable
40
+ passive: true
41
+
42
+ properties:
43
+ - name: "sanctions_id"
44
+ type: string
45
+ description: "Unique identifier assigned to this entity by the upstream sanctions data provider (OpenSanctions entity ID)"
46
+ display_name: "Sanctions ID"
47
+ mergeability: not_mergeable
48
+ domain_flavors: ["person", "organization"]
49
+ examples: ["ch-seco-94982", "us-ofac-12345"]
50
+ passive: true
51
+
52
+ - name: "name"
53
+ type: string
54
+ description: "Display name of the entity"
55
+ display_name: "Name"
56
+ mergeability: not_mergeable
57
+ domain_flavors: ["person", "organization"]
58
+ examples: ["Zhongheng Lin", "Vladimir Putin"]
59
+ passive: true
60
+
61
+ - name: "alias"
62
+ type: string
63
+ description: "An alternative name or spelling for this entity, one atom per alias"
64
+ display_name: "Alias"
65
+ mergeability: not_mergeable
66
+ domain_flavors: ["person", "organization"]
67
+ passive: true
68
+
69
+ - name: "birth_date"
70
+ type: string
71
+ description: "Date of birth as reported in the sanctions listing, in ISO 8601 format"
72
+ display_name: "Birth Date"
73
+ mergeability: not_mergeable
74
+ domain_flavors: ["person"]
75
+ examples: ["1958-01-06", "1952-10-07"]
76
+ passive: true
77
+
78
+ - name: "nationality"
79
+ type: string
80
+ description: "Nationality or country affiliation as a two-letter ISO country code, falling back to the country field when nationality is not specified"
81
+ display_name: "Nationality"
82
+ mergeability: not_mergeable
83
+ domain_flavors: ["person"]
84
+ examples: ["cn", "ru", "us"]
85
+ passive: true
86
+
87
+ - name: "position"
88
+ type: string
89
+ description: "Job title, political role, or official position as stated in the sanctions listing"
90
+ display_name: "Position"
91
+ mergeability: not_mergeable
92
+ domain_flavors: ["person"]
93
+ examples: ["President of Russia", "Owner of Shenzhen Biguang Technology"]
94
+ passive: true
95
+
96
+ - name: "sanctions_topic"
97
+ type: string
98
+ description: "Classification tag indicating the type of sanctions designation, one atom per topic"
99
+ display_name: "Sanctions Topic"
100
+ mergeability: not_mergeable
101
+ domain_flavors: ["person", "organization"]
102
+ examples: ["sanction", "poi", "debarment", "entity.associate"]
103
+ passive: true
104
+
105
+ - name: "notes"
106
+ type: string
107
+ description: "Descriptive notes or commentary associated with the entity"
108
+ display_name: "Notes"
109
+ mergeability: not_mergeable
110
+ domain_flavors: ["person", "organization"]
111
+ passive: true
112
+
113
+ - name: "sanctioned"
114
+ type: float
115
+ description: "Boolean flag indicating this entity is a sanctions target, emitted only when no notes are present as a fallback marker"
116
+ display_name: "Sanctioned"
117
+ mergeability: not_mergeable
118
+ domain_flavors: ["person", "organization"]
119
+ passive: true
120
+
121
+ - name: "address"
122
+ type: string
123
+ description: "Physical address of the sanctioned organization as stated in the sanctions listing"
124
+ display_name: "Address"
125
+ mergeability: not_mergeable
126
+ domain_flavors: ["organization"]
127
+ passive: true
128
+
129
+ - name: "sector"
130
+ type: string
131
+ description: "Business sector or industry classification of the sanctioned organization"
132
+ display_name: "Sector"
133
+ mergeability: not_mergeable
134
+ domain_flavors: ["organization"]
135
+ examples: ["Energy", "Banking", "Defense"]
136
+ passive: true
137
+
138
+ relationships:
139
+ - name: "sanction_program"
140
+ description: "Links a sanctioned entity to the sanctions program under which it is designated"
141
+ display_name: "Sanction Program"
142
+ mergeability: not_mergeable
143
+ domain_flavors: ["person", "organization"]
144
+ target_flavors: ["sanction_program"]
145
+ passive: true
146
+
147
+ - name: "country"
148
+ description: "Links a sanctioned organization to its associated country"
149
+ display_name: "Country"
150
+ mergeability: not_mergeable
151
+ domain_flavors: ["organization"]
152
+ target_flavors: ["country"]
153
+ passive: true
@@ -0,0 +1,122 @@
1
+ # Data Dictionary: Alpha Vantage Stocks
2
+
3
+ ## Source Overview
4
+
5
+ Alpha Vantage stock market data via the `TIME_SERIES_DAILY` REST API. Provides daily OHLCV (open, high, low, close, volume) candlestick data for US-listed equities on NYSE, NASDAQ, and AMEX exchanges.
6
+
7
+ Historical data available via `outputsize=full` (20+ years). Recent data (last 100 trading days) available via `outputsize=compact`. The streamer uses `full` for initial backfill and `compact` for daily incremental updates.
8
+
9
+ Symbol universe: ~6,900 tickers (after filtering preferred stock symbols) sourced from the NASDAQ screener (static CSV, downloaded 2026-03-13). Symbols containing `^` (preferred shares) are excluded because Alpha Vantage does not support them.
10
+
11
+ Rate limit: 1,200 requests/minute (premium plan). Downloads run concurrently (10 workers) with the Alpha Vantage client rate limiter gating throughput.
12
+
13
+ | Pipeline | `Record.Source` |
14
+ |----------|----------------|
15
+ | Daily OHLCV | `stocks` |
16
+
17
+ ---
18
+
19
+ ## Entity Types
20
+
21
+ ### `financial_instrument`
22
+
23
+ A publicly traded equity security (common stock, preferred stock, ETF, etc.) listed on a US exchange.
24
+
25
+ - Primary key: `ticker_symbol` (e.g., `"AAPL"`, `"IBM"`, `"BRK-B"`)
26
+ - Entity resolver: named entity, mergeable. Strong ID = `ticker_symbol`.
27
+ - Entity name: ticker symbol (e.g., `"AAPL"`).
28
+
29
+ ### `organization`
30
+
31
+ A company or entity whose equity securities are publicly traded on a US exchange.
32
+
33
+ - Primary key: none (resolved by name).
34
+ - Entity resolver: named entity, mergeable.
35
+ - Entity name: full security name from the NASDAQ screener CSV (e.g., `"Apple Inc. Common Stock"`).
36
+ - Note: for dual-class shares (e.g., GOOGL and GOOG), separate organization entities are created per share class. Entity resolution may merge these with organizations from other sources (e.g., EDGAR).
37
+
38
+ ---
39
+
40
+ ## Properties
41
+
42
+ ### Financial Instrument Properties
43
+
44
+ #### Identity
45
+
46
+ * `ticker_symbol`
47
+ * Definition: Stock ticker symbol as listed on the exchange.
48
+ * Examples: `"AAPL"`, `"IBM"`, `"MSFT"`, `"BRK-B"`
49
+ * Derivation: `symbol` field from the NASDAQ screener CSV; also present in Alpha Vantage response `Meta Data` → `2. Symbol`.
50
+
51
+ * `company_name`
52
+ * Definition: Full registered security name.
53
+ * Examples: `"Apple Inc. Common Stock"`, `"International Business Machines Corporation Common Stock"`
54
+ * Derivation: `name` field from the NASDAQ screener CSV.
55
+
56
+ * `exchange`
57
+ * Definition: US stock exchange where the security is listed.
58
+ * Examples: `"NYSE"`, `"NASDAQ"`, `"AMEX"`
59
+ * Derivation: `exchange` field from the NASDAQ screener CSV.
60
+
61
+ * `sector`
62
+ * Definition: Market sector classification.
63
+ * Examples: `"Technology"`, `"Health Care"`, `"Industrials"`
64
+ * Derivation: `sector` field from the NASDAQ screener CSV. May be empty for some securities (e.g., SPACs, warrants).
65
+
66
+ * `industry`
67
+ * Definition: Industry sub-classification within the sector.
68
+ * Examples: `"Computer Manufacturing"`, `"Biotechnology: Laboratory Analytical Instruments"`
69
+ * Derivation: `industry` field from the NASDAQ screener CSV. May be empty.
70
+
71
+ #### Price Data (per daily candle)
72
+
73
+ Each record represents one daily OHLCV candlestick for a single security. The atom timestamp is the trading day's date (Eastern time, converted to UTC).
74
+
75
+ * `open_price`
76
+ * Definition: Opening price of the trading day. Unit: USD.
77
+ * Examples: `233.55`, `247.10`
78
+ * Derivation: `1. open` field from Alpha Vantage `Time Series (Daily)` response, parsed as float.
79
+
80
+ * `high_price`
81
+ * Definition: Highest price reached during the trading day. Unit: USD.
82
+ * Examples: `234.00`, `250.05`
83
+ * Derivation: `2. high` field from Alpha Vantage response, parsed as float.
84
+
85
+ * `low_price`
86
+ * Definition: Lowest price reached during the trading day. Unit: USD.
87
+ * Examples: `233.00`, `245.64`
88
+ * Derivation: `3. low` field from Alpha Vantage response, parsed as float.
89
+
90
+ * `close_price`
91
+ * Definition: Closing price of the trading day. Unit: USD.
92
+ * Examples: `233.50`, `247.68`
93
+ * Derivation: `4. close` field from Alpha Vantage response, parsed as float.
94
+
95
+ * `trading_volume`
96
+ * Definition: Number of shares traded during the day. Unit: shares.
97
+ * Examples: `1858`, `5547724`
98
+ * Derivation: `5. volume` field from Alpha Vantage response, parsed as integer (stored as float per v2 convention).
99
+
100
+ ---
101
+
102
+ ## Entity Relationships
103
+
104
+ ```
105
+ organization ──[traded_as]──→ financial_instrument
106
+ ```
107
+
108
+ * `traded_as`
109
+ * Definition: Links a company to the stock ticker under which its equity is publicly traded.
110
+ * Examples: `"Apple Inc. Common Stock" traded_as AAPL`, `"NVIDIA Corporation" traded_as NVDA`
111
+ * Derivation: one record per symbol, emitted alongside the price candle records. The organization name comes from the NASDAQ screener CSV `name` field; the financial_instrument is identified by the `ticker_symbol` strong ID.
112
+ * Note: one organization record with a `traded_as` relationship is emitted per download file (not per candle).
113
+
114
+ ---
115
+
116
+ ## Notes
117
+
118
+ - **Timestamps**: Alpha Vantage returns timestamps in US/Eastern time. All atom timestamps are converted to UTC before storage.
119
+ - **Adjusted prices**: The daily endpoint returns raw (as-traded) prices. Split/dividend-adjusted data is available via `TIME_SERIES_DAILY_ADJUSTED` (premium) but is not currently used.
120
+ - **Missing data**: Not all symbols have data for all dates. Candles only exist for days with trading activity.
121
+ - **Streaming model**: HandleStream runs as a continuous polling loop. First run downloads full history (`outputsize=full`). Subsequent runs download compact data (`outputsize=compact`, last 100 trading days) and atomize only candles newer than the checkpoint. Default poll interval: 24 hours.
122
+ - **Preferred stock symbols**: Tickers containing `^` (e.g., `AHT^F`, `F^C`) are filtered out during symbol loading because Alpha Vantage returns empty responses for them.
@@ -0,0 +1,131 @@
1
+ # Dataset schema for Alpha Vantage stock market data.
2
+ #
3
+ # This schema describes entity types and properties produced by atomizing
4
+ # OHLCV (open, high, low, close, volume) candlestick data from the Alpha
5
+ # Vantage TIME_SERIES_INTRADAY and TIME_SERIES_DAILY endpoints.
6
+ #
7
+ # All elements are passive -- created by the atomizer from structured JSON
8
+ # fields, not by LLM extraction.
9
+ name: "stocks"
10
+ description: "US equity OHLCV price data from Alpha Vantage, covering NYSE, NASDAQ, and AMEX listed securities at 15-minute and daily intervals"
11
+
12
+ extraction:
13
+ flavors: closed
14
+ properties: closed
15
+ relationships: closed
16
+ attributes: closed
17
+ events: closed
18
+
19
+ flavors:
20
+ - name: "financial_instrument"
21
+ description: "A publicly traded equity security (common stock, preferred stock, ETF, etc.) listed on a US exchange, identified by its ticker symbol"
22
+ display_name: "Financial Instrument"
23
+ mergeability: not_mergeable
24
+ strong_id_properties: ["ticker_symbol"]
25
+ passive: true
26
+
27
+ - name: "organization"
28
+ description: "A company or entity whose equity securities are publicly traded on a US exchange"
29
+ display_name: "Organization"
30
+ mergeability: not_mergeable
31
+ passive: true
32
+
33
+ properties:
34
+ # --- Identity ---
35
+
36
+ - name: "ticker_symbol"
37
+ type: string
38
+ description: "Stock ticker symbol as listed on the exchange (e.g., AAPL, IBM, BRK-B), from the NASDAQ screener and Alpha Vantage Meta Data"
39
+ display_name: "Ticker Symbol"
40
+ mergeability: not_mergeable
41
+ domain_flavors: ["financial_instrument"]
42
+ examples: ["AAPL", "IBM", "MSFT", "BRK-B"]
43
+ passive: true
44
+
45
+ - name: "company_name"
46
+ type: string
47
+ description: "Full registered security name from the NASDAQ screener"
48
+ display_name: "Company Name"
49
+ mergeability: not_mergeable
50
+ domain_flavors: ["financial_instrument"]
51
+ examples: ["Apple Inc. Common Stock", "International Business Machines Corporation Common Stock"]
52
+ passive: true
53
+
54
+ - name: "exchange"
55
+ type: string
56
+ description: "US stock exchange where the security is listed"
57
+ display_name: "Exchange"
58
+ mergeability: not_mergeable
59
+ domain_flavors: ["financial_instrument"]
60
+ examples: ["NYSE", "NASDAQ", "AMEX"]
61
+ passive: true
62
+
63
+ - name: "sector"
64
+ type: string
65
+ description: "Market sector classification from the NASDAQ screener; may be empty for SPACs, warrants, and other non-standard securities"
66
+ display_name: "Sector"
67
+ mergeability: not_mergeable
68
+ domain_flavors: ["financial_instrument"]
69
+ examples: ["Technology", "Health Care", "Industrials"]
70
+ passive: true
71
+
72
+ - name: "industry"
73
+ type: string
74
+ description: "Industry sub-classification within the sector from the NASDAQ screener; may be empty"
75
+ display_name: "Industry"
76
+ mergeability: not_mergeable
77
+ domain_flavors: ["financial_instrument"]
78
+ examples: ["Computer Manufacturing", "Biotechnology: Laboratory Analytical Instruments"]
79
+ passive: true
80
+
81
+ # --- Price Data (per candle) ---
82
+
83
+ - name: "open_price"
84
+ type: float
85
+ description: "Opening price of the trading interval in USD, from Alpha Vantage field '1. open'"
86
+ display_name: "Open Price"
87
+ mergeability: not_mergeable
88
+ domain_flavors: ["financial_instrument"]
89
+ passive: true
90
+
91
+ - name: "high_price"
92
+ type: float
93
+ description: "Highest price reached during the trading interval in USD, from Alpha Vantage field '2. high'"
94
+ display_name: "High Price"
95
+ mergeability: not_mergeable
96
+ domain_flavors: ["financial_instrument"]
97
+ passive: true
98
+
99
+ - name: "low_price"
100
+ type: float
101
+ description: "Lowest price reached during the trading interval in USD, from Alpha Vantage field '3. low'"
102
+ display_name: "Low Price"
103
+ mergeability: not_mergeable
104
+ domain_flavors: ["financial_instrument"]
105
+ passive: true
106
+
107
+ - name: "close_price"
108
+ type: float
109
+ description: "Closing price of the trading interval in USD, from Alpha Vantage field '4. close'"
110
+ display_name: "Close Price"
111
+ mergeability: not_mergeable
112
+ domain_flavors: ["financial_instrument"]
113
+ passive: true
114
+
115
+ - name: "trading_volume"
116
+ type: float
117
+ description: "Number of shares traded during the interval, from Alpha Vantage field '5. volume'; stored as float per v2 convention"
118
+ display_name: "Trading Volume"
119
+ mergeability: not_mergeable
120
+ domain_flavors: ["financial_instrument"]
121
+ passive: true
122
+
123
+ relationships:
124
+ - name: "traded_as"
125
+ description: "Links a company (organization) to the financial instrument (stock ticker) under which its equity is publicly traded"
126
+ display_name: "Traded As"
127
+ mergeability: not_mergeable
128
+ domain_flavors: ["organization"]
129
+ target_flavors: ["financial_instrument"]
130
+ examples: ["Apple Inc. traded as AAPL", "International Business Machines Corporation traded as IBM"]
131
+ passive: true
@@ -0,0 +1,71 @@
1
+ # System schema: universal infrastructure elements for all datasets.
2
+ #
3
+ # These elements are created by the atomizer, not by LLM extraction. Every
4
+ # dataset gets them for free via WithSystemSchema(). The schema:: prefix
5
+ # follows the meta-schema naming convention from the schemaless design
6
+ # (experimental/jon/schemaless/DESIGN.md) and prevents collision with
7
+ # dataset-defined elements.
8
+ #
9
+ # This schema should rarely change. Dataset-specific elements (source
10
+ # flavors, publications, topics, trustworthiness, etc.) belong in the
11
+ # dataset schema.
12
+
13
+ name: "system"
14
+ description: "Universal infrastructure elements for all datasets"
15
+
16
+ flavors:
17
+ - name: "schema::flavor::event"
18
+ description: "A significant occurrence extracted from source text"
19
+ display_name: "Event"
20
+ mergeability: not_mergeable
21
+
22
+ relationships:
23
+ - name: "schema::relationship::participant"
24
+ description: "An entity participates in an event"
25
+ display_name: "Participant"
26
+ mergeability: not_mergeable
27
+ domain_flavors: ["schema::flavor::event"]
28
+
29
+ properties:
30
+ - name: "schema::property::event_category"
31
+ type: string
32
+ description: "The category of an event (e.g., Bankruptcy, IPO, Layoffs)"
33
+ display_name: "Event Category"
34
+ mergeability: not_mergeable
35
+ domain_flavors: ["schema::flavor::event"]
36
+
37
+ - name: "schema::property::event_likelihood"
38
+ type: string
39
+ description: "Temporal status of an event: confirmed, ongoing, likely, or speculative"
40
+ display_name: "Event Likelihood"
41
+ mergeability: not_mergeable
42
+ domain_flavors: ["schema::flavor::event"]
43
+
44
+ - name: "schema::property::event_date"
45
+ type: string
46
+ description: "The date an event occurred in YYYY-MM-DD format (or YYYY-MM or YYYY for partial dates)"
47
+ display_name: "Event Date"
48
+ mergeability: not_mergeable
49
+ domain_flavors: ["schema::flavor::event"]
50
+
51
+ - name: "schema::property::event_description"
52
+ type: string
53
+ description: "A detailed, objective description of an event"
54
+ display_name: "Event Description"
55
+ mergeability: not_mergeable
56
+ domain_flavors: ["schema::flavor::event"]
57
+
58
+ attributes:
59
+ - property: "schema::relationship::participant"
60
+ name: "role"
61
+ type: string
62
+ description: "The entity's role in the event (e.g., acquirer, target, plaintiff)"
63
+ display_name: "Role"
64
+ mergeability: not_mergeable
65
+
66
+ - property: "schema::relationship::participant"
67
+ name: "sentiment"
68
+ type: float
69
+ description: "Impact score for this entity's involvement in the event"
70
+ display_name: "Sentiment"
71
+ mergeability: not_mergeable