<?xml version="1.0" encoding="UTF-8"?><database name="brandrhythm" schema="public" type="PostgreSQL - 18.4 (Ubuntu 18.4-1.pgdg24.04+1)">
   <sequences>
      <sequence increment="1" name="brand_assessments_id_seq" startValue="1"/>
      <sequence increment="1" name="brand_assets_id_seq" startValue="1"/>
      <sequence increment="1" name="brand_clean_content_id_seq" startValue="1"/>
      <sequence increment="1" name="brand_nouns_id_seq" startValue="1"/>
   </sequences>
   <tables>
      <table name="brand_assessments" remarks="{&quot;what&quot;:&quot;One brand assessment per business, with asset list and evaluation results.&quot;,&quot;why&quot;:&quot;Without it, past assessment results and model versions are lost, so comparisons over time are impossible.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:23.410772296+00:00&quot;}" schema="public" type="TABLE">
         <column autoUpdated="true" defaultValue="nextval('brand_assessments_id_seq'::regclass)" digits="0" id="0" name="id" nullable="false" remarks="{&quot;what&quot;:&quot;Unique numeric identifier for this assessment; internal primary key.&quot;,&quot;why&quot;:&quot;Without it, there is no stable way to reference a specific assessment in other tables or API responses.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:23.463342285+00:00&quot;}" size="19" type="bigserial" typeCode="-5"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="1" name="business_id" nullable="false" remarks="{&quot;what&quot;:&quot;Identifier of the business being assessed; foreign key to business.id.&quot;,&quot;why&quot;:&quot;Without it, an assessment cannot be attributed to a business, so per-business history and filtering are impossible.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:23.492280949+00:00&quot;}" size="19" type="int8" typeCode="-5"/>
         <column autoUpdated="false" defaultValue="'[]'::jsonb" digits="0" id="2" name="asset_ids" nullable="false" remarks="{&quot;what&quot;:&quot;JSON array of asset identifiers included in this assessment; empty array means none.&quot;,&quot;why&quot;:&quot;Without it, it is unknown which assets were evaluated, so results cannot be reproduced or compared.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:23.555739047+00:00&quot;}" size="2147483647" type="jsonb" typeCode="1111"/>
         <column autoUpdated="false" defaultValue="'{}'::jsonb" digits="0" id="3" name="assessment" nullable="false" remarks="{&quot;what&quot;:&quot;JSON object containing the evaluation output (scores, findings) for the assets.&quot;,&quot;why&quot;:&quot;Without it, the actual assessment outcome is missing, making the row useless for reporting or decisions.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:23.570737527+00:00&quot;}" size="2147483647" type="jsonb" typeCode="1111"/>
         <column autoUpdated="false" defaultValue="''::text" digits="0" id="4" name="summary_md" nullable="false" remarks="{&quot;what&quot;:&quot;Markdown-formatted human-readable summary of the assessment; empty string if none.&quot;,&quot;why&quot;:&quot;Without it, there is no quick human-readable overview, forcing readers to parse raw JSON.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:23.589241818+00:00&quot;}" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="''::text" digits="0" id="5" name="meta_yaml" nullable="false" remarks="{&quot;what&quot;:&quot;YAML-formatted metadata for the assessment run; empty string if none.&quot;,&quot;why&quot;:&quot;Without it, details about how the assessment was configured are lost, hindering reproducibility.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:23.600763438+00:00&quot;}" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="''::text" digits="0" id="6" name="model" nullable="false" remarks="{&quot;what&quot;:&quot;Name or version of the model used to generate the assessment; empty if not recorded.&quot;,&quot;why&quot;:&quot;Without it, results cannot be traced to the model version, so changes in model behavior are undetectable.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:23.643353888+00:00&quot;}" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="now()" digits="6" id="7" name="created_at" nullable="false" remarks="{&quot;what&quot;:&quot;Timestamp with time zone of when the assessment was created; defaults to current time.&quot;,&quot;why&quot;:&quot;Without it, the order and timing of assessments are unknown, so time-based analysis is impossible.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:23.701515385+00:00&quot;}" size="35" type="timestamptz" typeCode="93"/>
         <primaryKey column="id" sequenceNumberInPK="1"/>
         <index name="brand_assessments_pkey" unique="true">
            <column ascending="true" name="id"/>
         </index>
         <index name="idx_assessments_business" unique="false">
            <column ascending="true" name="business_id"/>
         </index>
      </table>
      <table name="brand_assets" remarks="{&quot;what&quot;:&quot;Brand-related content (e.g., markdown) and its source metadata for a business.&quot;,&quot;why&quot;:&quot;Without it, brand assets cannot be scoped to a business, so retrieval for a specific business is impossible.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:36.884165847+00:00&quot;}" schema="public" type="TABLE">
         <column autoUpdated="true" defaultValue="nextval('brand_assets_id_seq'::regclass)" digits="0" id="0" name="id" nullable="false" remarks="{&quot;what&quot;:&quot;Auto-incrementing integer that uniquely identifies a brand asset.&quot;,&quot;why&quot;:&quot;Without it, rows cannot be referenced by foreign keys or updated individually.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:36.930856157+00:00&quot;}" size="19" type="bigserial" typeCode="-5"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="1" name="business_id" nullable="false" remarks="{&quot;what&quot;:&quot;Numeric ID of the owning business; references a business record.&quot;,&quot;why&quot;:&quot;Without it, assets cannot be scoped to a business, so queries for a business's assets are ambiguous.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:36.987711325+00:00&quot;}" size="19" type="int8" typeCode="-5"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="2" name="source" nullable="false" remarks="{&quot;what&quot;:&quot;Text describing where the asset came from, such as a provider name.&quot;,&quot;why&quot;:&quot;Without it, the provenance of the asset is unknown, making audits or re-fetching impossible.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:37.021383558+00:00&quot;}" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="''::text" digits="0" id="3" name="source_url" nullable="false" remarks="{&quot;what&quot;:&quot;URL from which the asset was fetched; empty if not applicable.&quot;,&quot;why&quot;:&quot;Without it, the original location is lost, so updates or re-imports cannot be performed.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:37.162000285+00:00&quot;}" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="'markdown'::text" digits="0" id="4" name="asset_type" nullable="false" remarks="{&quot;what&quot;:&quot;Content format of the asset, defaulting to 'markdown'.&quot;,&quot;why&quot;:&quot;Without it, the rendering or processing logic cannot choose the correct parser.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:37.235327886+00:00&quot;}" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="''::text" digits="0" id="5" name="raw_md" nullable="false" remarks="{&quot;what&quot;:&quot;Raw markdown text of the asset; empty for non-markdown types.&quot;,&quot;why&quot;:&quot;Without it, the asset's content is unavailable, so it cannot be rendered or displayed.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:37.267021150+00:00&quot;}" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="now()" digits="6" id="6" name="created_at" nullable="false" remarks="{&quot;what&quot;:&quot;Timestamp with time zone when the row was created.&quot;,&quot;why&quot;:&quot;Without it, the age of the asset is unknown, so audit or ordering by creation time is impossible.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:37.298414552+00:00&quot;}" size="35" type="timestamptz" typeCode="93"/>
         <primaryKey column="id" sequenceNumberInPK="1"/>
         <index name="brand_assets_pkey" unique="true">
            <column ascending="true" name="id"/>
         </index>
         <index name="idx_assets_business" unique="false">
            <column ascending="true" name="business_id"/>
         </index>
      </table>
      <table name="brand_clean_content" remarks="{&quot;what&quot;:&quot;Cleaned markdown content per business, one row per brand content version.&quot;,&quot;why&quot;:&quot;Without it, cleaned content is lost and cannot be served or re-processed.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:26.026494713+00:00&quot;}" schema="public" type="TABLE">
         <column autoUpdated="true" defaultValue="nextval('brand_clean_content_id_seq'::regclass)" digits="0" id="0" name="id" nullable="false" remarks="{&quot;what&quot;:&quot;Surrogate primary key, auto-incrementing bigint sequence value.&quot;,&quot;why&quot;:&quot;Uniquely identifies each content row for updates and joins.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:26.062628979+00:00&quot;}" size="19" type="bigserial" typeCode="-5"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="1" name="business_id" nullable="false" remarks="{&quot;what&quot;:&quot;Foreign key to the owning business; not null.&quot;,&quot;why&quot;:&quot;Associates content to a specific business; missing it orphans the row.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:26.110542895+00:00&quot;}" size="19" type="int8" typeCode="-5"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="2" name="clean_md" nullable="false" remarks="{&quot;what&quot;:&quot;Full cleaned content in Markdown format, not null.&quot;,&quot;why&quot;:&quot;Holds the actual cleaned text; without it no content is available.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:26.150184939+00:00&quot;}" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="now()" digits="6" id="3" name="created_at" nullable="false" remarks="{&quot;what&quot;:&quot;Timestamp with time zone when the row was inserted, defaults to now().&quot;,&quot;why&quot;:&quot;Records content version time for audit and ordering; missing it loses history.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:26.164169420+00:00&quot;}" size="35" type="timestamptz" typeCode="93"/>
         <primaryKey column="id" sequenceNumberInPK="1"/>
         <index name="brand_clean_content_pkey" unique="true">
            <column ascending="true" name="id"/>
         </index>
         <index name="brand_clean_content_business_id_key" unique="true">
            <column ascending="true" name="business_id"/>
         </index>
      </table>
      <table name="brand_nouns" remarks="{&quot;what&quot;:&quot;Records of brand-specific noun usage rules for a business.&quot;,&quot;why&quot;:&quot;Without it, brand terminology and grammar rules are unknown, causing inconsistent content.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:33.924278266+00:00&quot;}" schema="public" type="TABLE">
         <column autoUpdated="true" defaultValue="nextval('brand_nouns_id_seq'::regclass)" digits="0" id="0" name="id" nullable="false" remarks="{&quot;what&quot;:&quot;Unique numeric identifier for each brand noun record.&quot;,&quot;why&quot;:&quot;Without it, records cannot be referenced or updated uniquely.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:33.977120691+00:00&quot;}" size="19" type="bigserial" typeCode="-5"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="1" name="business_id" nullable="false" remarks="{&quot;what&quot;:&quot;Identifier of the business this noun rule belongs to.&quot;,&quot;why&quot;:&quot;Without it, rules cannot be scoped to a specific business, causing cross-brand conflicts.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:34.004786477+00:00&quot;}" size="19" type="int8" typeCode="-5"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="2" name="term" nullable="false" remarks="{&quot;what&quot;:&quot;The exact noun phrase, e.g., 'iPhone' or 'AirPods'.&quot;,&quot;why&quot;:&quot;Without it, there is no key to look up the rule for a given term.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:34.018657064+00:00&quot;}" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="3" name="noun_type" nullable="false" remarks="{&quot;what&quot;:&quot;Category of the noun, e.g., 'product' or 'feature'.&quot;,&quot;why&quot;:&quot;Without it, rules cannot be filtered by type, making it hard to apply context-specific grammar.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:34.047038728+00:00&quot;}" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="4" name="head_noun" nullable="true" remarks="{&quot;what&quot;:&quot;The core noun within the term, e.g., 'Phone' for 'iPhone'.&quot;,&quot;why&quot;:&quot;Without it, grammatical agreement (e.g., article choice) cannot be determined for compound terms.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:34.067511343+00:00&quot;}" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="5" name="definition" nullable="true" remarks="{&quot;what&quot;:&quot;Plain-language meaning of the term.&quot;,&quot;why&quot;:&quot;Without it, writers cannot understand what the term refers to, risking misuse.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:34.085801598+00:00&quot;}" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="6" name="article_rule" nullable="true" remarks="{&quot;what&quot;:&quot;Rule for article selection, e.g., 'a' or 'an' based on pronunciation.&quot;,&quot;why&quot;:&quot;Without it, article usage becomes inconsistent, breaking natural language output.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:34.134997462+00:00&quot;}" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="7" name="correct_usage_template" nullable="true" remarks="{&quot;what&quot;:&quot;Template showing correct sentence structure using the term.&quot;,&quot;why&quot;:&quot;Without it, there is no reference for correct grammar, leading to errors.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:34.192038759+00:00&quot;}" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="8" name="incorrect_forms" nullable="true" remarks="{&quot;what&quot;:&quot;List of common incorrect forms of the term.&quot;,&quot;why&quot;:&quot;Without it, there is no way to flag or correct misuse in content.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:34.218812582+00:00&quot;}" size="2147483647" type="_text" typeCode="2003"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="9" name="example_correct" nullable="true" remarks="{&quot;what&quot;:&quot;Example sentence demonstrating correct usage.&quot;,&quot;why&quot;:&quot;Without it, writers lack a concrete model for correct usage.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:34.240851567+00:00&quot;}" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="10" name="example_incorrect" nullable="true" remarks="{&quot;what&quot;:&quot;Example sentence showing incorrect usage.&quot;,&quot;why&quot;:&quot;Without it, common mistakes are not illustrated, so they may persist.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:34.263590903+00:00&quot;}" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="'crawl'::text" digits="0" id="11" name="source" nullable="true" remarks="{&quot;what&quot;:&quot;Origin of the rule, e.g., 'crawl' or 'manual'.&quot;,&quot;why&quot;:&quot;Without it, provenance is unknown, making it hard to assess reliability.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:34.286720302+00:00&quot;}" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="0.5" digits="8" id="12" name="confidence" nullable="true" remarks="{&quot;what&quot;:&quot;Confidence score from 0 to 1 for the rule's accuracy.&quot;,&quot;why&quot;:&quot;Without it, low-quality rules cannot be filtered out, risking incorrect grammar.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:34.299581560+00:00&quot;}" size="8" type="float4" typeCode="7"/>
         <column autoUpdated="false" defaultValue="now()" digits="6" id="13" name="created_at" nullable="false" remarks="{&quot;what&quot;:&quot;Timestamp when the rule was created.&quot;,&quot;why&quot;:&quot;Without it, there is no audit trail or ability to sort by recency.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:34.347881554+00:00&quot;}" size="35" type="timestamptz" typeCode="93"/>
         <primaryKey column="id" sequenceNumberInPK="1"/>
         <index name="brand_nouns_pkey" unique="true">
            <column ascending="true" name="id"/>
         </index>
         <index name="brand_nouns_business_id_term_key" unique="true">
            <column ascending="true" name="business_id"/>
            <column ascending="true" name="term"/>
         </index>
         <index name="idx_brand_nouns_biz" unique="false">
            <column ascending="true" name="business_id"/>
         </index>
         <index name="idx_brand_nouns_business" unique="false">
            <column ascending="true" name="business_id"/>
         </index>
         <index name="idx_brand_nouns_type" unique="false">
            <column ascending="true" name="noun_type"/>
         </index>
      </table>
      <table name="brand_presence" remarks="{&quot;what&quot;:&quot;Aggregated brand presence metrics for a business across physical and digital channels.&quot;,&quot;why&quot;:&quot;Provides a single snapshot of a business's channel mix for comparison or scoring.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:33.892056063+00:00&quot;}" schema="public" type="TABLE">
         <column autoUpdated="false" defaultValue="null" digits="0" id="0" name="business_id" nullable="false" remarks="{&quot;what&quot;:&quot;Unique identifier of the business this presence profile belongs to.&quot;,&quot;why&quot;:&quot;Links each presence snapshot to a specific business; enables joins and lookups.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:34.017152228+00:00&quot;}" size="19" type="int8" typeCode="-5"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="1" name="physical_presence" nullable="true" remarks="{&quot;what&quot;:&quot;Numeric score indicating physical footprint strength (e.g., store count).&quot;,&quot;why&quot;:&quot;Quantifies offline presence to compare against digital metrics.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:34.065747704+00:00&quot;}" size="5" type="int2" typeCode="5"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="2" name="digital_presence" nullable="true" remarks="{&quot;what&quot;:&quot;Numeric score indicating digital footprint strength (e.g., online activity).&quot;,&quot;why&quot;:&quot;Quantifies online presence to compare against physical metrics.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:34.094150216+00:00&quot;}" size="5" type="int2" typeCode="5"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="3" name="digital_ratio" nullable="true" remarks="{&quot;what&quot;:&quot;Percentage (0-100) of total presence attributed to digital channels.&quot;,&quot;why&quot;:&quot;Shows the balance between physical and digital for trend analysis.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:34.233523979+00:00&quot;}" size="5" type="int2" typeCode="5"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="4" name="digital_sales_dominance" nullable="true" remarks="{&quot;what&quot;:&quot;Score indicating whether sales are dominated by digital channels (higher = more digital).&quot;,&quot;why&quot;:&quot;Helps classify businesses as digital-first or physical-first.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:34.286522801+00:00&quot;}" size="5" type="int2" typeCode="5"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="5" name="signals" nullable="true" remarks="{&quot;what&quot;:&quot;Flexible JSON payload with additional presence signals or raw data.&quot;,&quot;why&quot;:&quot;Captures extra metrics not covered by fixed columns without schema changes.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:34.371263585+00:00&quot;}" size="2147483647" type="jsonb" typeCode="1111"/>
         <column autoUpdated="false" defaultValue="now()" digits="6" id="6" name="computed_at" nullable="false" remarks="{&quot;what&quot;:&quot;Timestamp when this presence snapshot was calculated.&quot;,&quot;why&quot;:&quot;Tracks data freshness and allows time-series analysis of presence changes.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:34.403392653+00:00&quot;}" size="35" type="timestamptz" typeCode="93"/>
         <primaryKey column="business_id" sequenceNumberInPK="1"/>
         <index name="brand_presence_pkey" unique="true">
            <column ascending="true" name="business_id"/>
         </index>
      </table>
      <table name="brand_profiles" remarks="{&quot;what&quot;:&quot;One row per business, holding its assessment, summary, and metadata.&quot;,&quot;why&quot;:&quot;Without it, per-business profile data has no canonical home.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:53.135477935+00:00&quot;}" schema="public" type="TABLE">
         <column autoUpdated="false" defaultValue="null" digits="0" id="0" name="business_id" nullable="false" remarks="{&quot;what&quot;:&quot;Identifier of the business, matches business table's primary key.&quot;,&quot;why&quot;:&quot;Without it, profiles cannot be linked to a specific business.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:53.149527178+00:00&quot;}" size="19" type="int8" typeCode="-5"/>
         <column autoUpdated="false" defaultValue="'{}'::jsonb" digits="0" id="1" name="assessment" nullable="false" remarks="{&quot;what&quot;:&quot;JSON object with assessment results; empty object when none.&quot;,&quot;why&quot;:&quot;Without it, assessment data is unavailable for display or analysis.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:53.173556673+00:00&quot;}" size="2147483647" type="jsonb" typeCode="1111"/>
         <column autoUpdated="false" defaultValue="''::text" digits="0" id="2" name="summary_md" nullable="false" remarks="{&quot;what&quot;:&quot;Markdown text of the profile summary; empty string when not generated.&quot;,&quot;why&quot;:&quot;Without it, the human-readable summary is missing from the profile.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:53.188616030+00:00&quot;}" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="''::text" digits="0" id="3" name="meta_yaml" nullable="false" remarks="{&quot;what&quot;:&quot;YAML text containing profile metadata; empty string when absent.&quot;,&quot;why&quot;:&quot;Without it, metadata such as version or source is lost.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:53.214091855+00:00&quot;}" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="now()" digits="6" id="4" name="updated_at" nullable="false" remarks="{&quot;what&quot;:&quot;Timestamp of last update to this row; timezone-aware.&quot;,&quot;why&quot;:&quot;Without it, staleness of profile cannot be determined.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:53.257938210+00:00&quot;}" size="35" type="timestamptz" typeCode="93"/>
         <primaryKey column="business_id" sequenceNumberInPK="1"/>
         <index name="brand_profiles_pkey" unique="true">
            <column ascending="true" name="business_id"/>
         </index>
      </table>
      <table name="business_family" remarks="" schema="public" type="TABLE">
         <column autoUpdated="false" defaultValue="null" digits="0" id="0" name="business_id" nullable="true" remarks="{&quot;what&quot;:&quot;Identifier of the business; references business.id.&quot;,&quot;why&quot;:&quot;Without it, the family assignment has no subject.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:36.709208614+00:00&quot;}" size="19" type="int8" typeCode="-5"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="1" name="family" nullable="true" remarks="{&quot;what&quot;:&quot;Family name or code that groups businesses; e.g., 'Acme Corp'.&quot;,&quot;why&quot;:&quot;Without it, businesses have no grouping dimension.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:36.764533994+00:00&quot;}" size="2147483647" type="text" typeCode="12"/>
      </table>
      <table name="business_tag" remarks="{&quot;what&quot;:&quot;Associates a business with a tag label; one row per tag per business.&quot;,&quot;why&quot;:&quot;Enables tagging businesses for filtering, search, or grouping by category.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:31.648608525+00:00&quot;}" schema="public" type="TABLE">
         <column autoUpdated="false" defaultValue="null" digits="0" id="0" name="business_id" nullable="true" remarks="{&quot;what&quot;:&quot;Bigint foreign key referencing the business being tagged.&quot;,&quot;why&quot;:&quot;Links each tag to a specific business; without it tags are unattached.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:31.757807657+00:00&quot;}" size="19" type="int8" typeCode="-5"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="1" name="tag" nullable="true" remarks="{&quot;what&quot;:&quot;Free-text label such as 'vegan' or '24h'; used for categorization.&quot;,&quot;why&quot;:&quot;Provides the tag value; without it no category or filter can be applied.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:31.803252632+00:00&quot;}" size="2147483647" type="text" typeCode="12">
            <parent column="tag" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" schema="public" table="taxonomy_family"/>
         </column>
      </table>
      <table name="crawl_reachability" remarks="" schema="public" type="TABLE">
         <column autoUpdated="false" defaultValue="null" digits="0" id="0" name="business_id" nullable="true" remarks="{&quot;what&quot;:&quot;Identifier of the business being checked.&quot;,&quot;why&quot;:&quot;Links each check to a specific business; without it, checks can't be attributed.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:57.773893292+00:00&quot;}" size="19" type="int8" typeCode="-5"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="1" name="domain" nullable="true" remarks="{&quot;what&quot;:&quot;Website domain (e.g., example.com) that was crawled.&quot;,&quot;why&quot;:&quot;Identifies the URL target; without it, we don't know which site was tested.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:57.811646775+00:00&quot;}" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="2" name="title" nullable="true" remarks="{&quot;what&quot;:&quot;HTML &lt;title&gt; text extracted from the crawled page.&quot;,&quot;why&quot;:&quot;Provides evidence of page content; without it, we can't verify the site is the business's own.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:57.833110599+00:00&quot;}" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="3" name="alive" nullable="true" remarks="{&quot;what&quot;:&quot;Boolean flag indicating whether the domain responded successfully.&quot;,&quot;why&quot;:&quot;Distinguishes reachable from dead sites; without it, we can't filter for live businesses.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:57.845291465+00:00&quot;}" size="1" type="bool" typeCode="-7"/>
         <column autoUpdated="false" defaultValue="now()" digits="6" id="4" name="checked_at" nullable="true" remarks="{&quot;what&quot;:&quot;Timestamp (with time zone) when the check was performed, defaults to now().&quot;,&quot;why&quot;:&quot;Records recency of the check; without it, we can't know if data is stale.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:57.882311521+00:00&quot;}" size="35" type="timestamptz" typeCode="93"/>
         <column autoUpdated="false" defaultValue="1" digits="0" id="5" name="attempts" nullable="false" remarks="{&quot;what&quot;:&quot;Number of retry attempts made for this check, default 1.&quot;,&quot;why&quot;:&quot;Tracks retry count; without it, we can't distinguish single vs multiple tries, affecting reliability.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T00:11:57.905489196+00:00&quot;}" size="5" type="int2" typeCode="5"/>
         <index name="crawl_reachability_domain_key" unique="true">
            <column ascending="true" name="domain"/>
         </index>
      </table>
      <table name="taxonomy_family" remarks="{&quot;what&quot;:&quot;Maps a short tag to a taxonomic family name.&quot;,&quot;why&quot;:&quot;Without it, family names have no stable identifier for joins.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:58.383461125+00:00&quot;}" schema="public" type="TABLE">
         <column autoUpdated="false" defaultValue="null" digits="0" id="0" name="tag" nullable="false" remarks="{&quot;what&quot;:&quot;Unique short code, e.g., 'Fabaceae'; primary key for the family.&quot;,&quot;why&quot;:&quot;Provides a stable key to reference families from other tables.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:58.402492391+00:00&quot;}" size="2147483647" type="text" typeCode="12">
            <child column="tag" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" schema="public" table="business_tag"/>
         </column>
         <column autoUpdated="false" defaultValue="null" digits="0" id="1" name="family" nullable="false" remarks="{&quot;what&quot;:&quot;Full taxonomic family name, e.g., 'Leguminosae'.&quot;,&quot;why&quot;:&quot;Human-readable label; without it, tags are opaque.&quot;,&quot;by&quot;:&quot;fleet-annotator-worker&quot;,&quot;at&quot;:&quot;2026-09-23T04:19:58.435987284+00:00&quot;}" size="2147483647" type="text" typeCode="12"/>
         <primaryKey column="tag" sequenceNumberInPK="1"/>
         <index name="taxonomy_family_pkey" unique="true">
            <column ascending="true" name="tag"/>
         </index>
      </table>
   </tables>
</database>
