# Bosstox data schema

The first implementation uses JSON for portability. The fields below are the stable contract for a later database or API.

## Core entities

### Company

`company_id`, `legal_name`, `brand_names`, `ticker`, `private_public_status`, `headquarters`, `geographies`, `website`, `category`, `status`, `last_verified_at`

### Product

`product_id`, `company_id`, `product_name`, `product_category`, `technical_function`, `ai_infrastructure_use`, `customer_type`, `replacement_cycle`, `source_ids`

### Relationship

`relationship_id`, `from_entity`, `to_entity`, `relationship_type`, `description`, `confidence`, `effective_date`, `expiration_date`, `source_id`, `verification_status`

Allowed relationship types: `supplier_of`, `customer_of`, `partner_of`, `competitor_of`, `investor_in`, `acquired_by`, `manufactures_for`, `leases_to`, `located_in`, `contracted_with`.

### Event

`event_id`, `company_id`, `event_type`, `event_date`, `announcement_date`, `amount`, `capacity`, `geography`, `summary`, `impact_assessment`, `source_id`, `review_status`

### Source

`source_id`, `publisher`, `title`, `url`, `publication_date`, `source_type`, `primary_or_secondary`, `retrieved_at`, `quoted_claim`, `source_quality`

## Evidence rule

Every customer-facing fact must have at least one source. Every relationship must have an explicit supporting source. Missing evidence is represented as `unknown`, never guessed.
