Launch pack

13F Copycat

Institutional filing changes scored through selected ethos lenses with source, freshness, and policy context.

Demo question: What changed in a respected manager's portfolio, and which methodology would trust it?
OverviewSignalsEthosSourcesPolicyAgent JSON

Version

berkshire-hathaway-2026-03-31-v0.1

As of

2026-05-15

Signals

29 surfaced

Policy

warn

Model card

What this pack is for

Give an agent clean 13F changes, source records, ethos scores, and policy checks before it drafts any action.

Source chain

  • Berkshire Hathaway latest 13F changes converted into a read-only SignalPack artifact with provider-backed identity and fundamentals context.
  • 13F-HR: Berkshire Hathaway (2026-03-31)
  • 13F-HR: Berkshire Hathaway (2025-12-31)

Methodology

  • Compare latest and previous SEC 13F filings.
  • Map securities through identity providers before surfacing ticker-level changes.
  • Score surfaced changes through selected ethos lenses.
  • Validate policy before any downstream handoff.

Agent handoff

Clean context before action

Give an agent clean 13F changes, source records, ethos scores, and policy checks before it drafts any action.

Execution

disabled

Human approval

required

Mock next action: Prepare a review brief or rebalance draft for human approval. Do not execute.

Signals

What the pack surfaced

Each row is the normalized research object an agent can consume instead of scraping a source site or raw filing.

GOOGL Alphabet Class A

added · 5.93% weight · candidate

Berkshire Hathaway added Alphabet Class A (GOOGL) by 36,403,656 shares. Current 13F weight is 5.93%. SignalPack scores this change through selected ethos lenses before any handoff.

Berkshire Hathaway added 36,403,656 sharesCurrent 13F weight 5.93%Market-value change $10.0B

BAC Bank of America

reduced · 9.52% weight · warn

Berkshire Hathaway reduced Bank of America (BAC) by 3,671,769 shares. Current 13F weight is 9.52%. SignalPack scores this change through selected ethos lenses before any handoff.

Berkshire Hathaway reduced 3,671,769 sharesCurrent 13F weight 9.52%Market-value change -$3.4B

V Visa

exited · 0% weight · warn

Berkshire Hathaway exited Visa (V) by 8,297,460 shares. Current 13F weight is 0%. SignalPack scores this change through selected ethos lenses before any handoff.

Berkshire Hathaway exited 8,297,460 sharesCurrent 13F weight 0%Market-value change -$2.9B

DAL Delta Air Lines

new · 1.01% weight · candidate

Berkshire Hathaway new Delta Air Lines (DAL) by 39,809,456 shares. Current 13F weight is 1.01%. SignalPack scores this change through selected ethos lenses before any handoff.

Berkshire Hathaway new 39,809,456 sharesCurrent 13F weight 1.01%Market-value change $2.6B

CVX Chevron

reduced · 6.64% weight · warn

Berkshire Hathaway reduced Chevron (CVX) by 45,780,506 shares. Current 13F weight is 6.64%. SignalPack scores this change through selected ethos lenses before any handoff.

Berkshire Hathaway reduced 45,780,506 sharesCurrent 13F weight 6.64%Market-value change -$2.4B

MA Mastercard

exited · 0% weight · warn

Berkshire Hathaway exited Mastercard (MA) by 3,986,648 shares. Current 13F weight is 0%. SignalPack scores this change through selected ethos lenses before any handoff.

Berkshire Hathaway exited 3,986,648 sharesCurrent 13F weight 0%Market-value change -$2.3B

STZ Constellation Brands

reduced · 0.04% weight · warn

Berkshire Hathaway reduced Constellation Brands (STZ) by 12,367,110 shares. Current 13F weight is 0.04%. SignalPack scores this change through selected ethos lenses before any handoff.

Berkshire Hathaway reduced 12,367,110 sharesCurrent 13F weight 0.04%Market-value change -$1.7B

UNH UnitedHealth Group

exited · 0% weight · warn

Berkshire Hathaway exited UnitedHealth Group (UNH) by 5,039,564 shares. Current 13F weight is 0%. SignalPack scores this change through selected ethos lenses before any handoff.

Berkshire Hathaway exited 5,039,564 sharesCurrent 13F weight 0%Market-value change -$1.7B

DPZ Domino's Pizza

exited · 0% weight · warn

Berkshire Hathaway exited Domino's Pizza (DPZ) by 3,350,000 shares. Current 13F weight is 0%. SignalPack scores this change through selected ethos lenses before any handoff.

Berkshire Hathaway exited 3,350,000 sharesCurrent 13F weight 0%Market-value change -$1.4B

AON Aon

exited · 0% weight · warn

Berkshire Hathaway exited Aon (AON) by 3,602,995 shares. Current 13F weight is 0%. SignalPack scores this change through selected ethos lenses before any handoff.

Berkshire Hathaway exited 3,602,995 sharesCurrent 13F weight 0%Market-value change -$1.3B

GOOG Alphabet Class C

new · 0.39% weight · candidate

Berkshire Hathaway new Alphabet Class C (GOOG) by 3,585,215 shares. Current 13F weight is 0.39%. SignalPack scores this change through selected ethos lenses before any handoff.

Berkshire Hathaway new 3,585,215 sharesCurrent 13F weight 0.39%Market-value change $1.0B

DVA DaVita

reduced · 1.76% weight · warn

Berkshire Hathaway reduced DaVita (DVA) by 1,658,480 shares. Current 13F weight is 1.76%. SignalPack scores this change through selected ethos lenses before any handoff.

Berkshire Hathaway reduced 1,658,480 sharesCurrent 13F weight 1.76%Market-value change $1.0B

Ethos

How methodologies interpret the same pack

13F has true scored ethos outputs today. Finance-derived packs show honest demo interpretations and clearly mark where formal scoring still needs to be added.

Intelligent Investor

fail

0 pass, 19 warn, 10 fail across 29 scored changes.

GOOGL: warn (3/7)

BAC: warn (4/7)

V: warn (3/7)

DAL: warn (3/7)

Moat Builder

fail

5 pass, 7 warn, 17 fail across 29 scored changes.

GOOGL: pass (6/6)

BAC: fail (0/6)

V: pass (5/6)

DAL: fail (0/6)

Disruption Thesis

fail

5 pass, 0 warn, 24 fail across 29 scored changes.

GOOGL: pass (5/5)

BAC: fail (0/5)

V: pass (4/5)

DAL: fail (0/5)

Sources

Traceable inputs

The demo keeps source identity, freshness, and limitations attached to every pack output.

Berkshire Hathaway

13F-HR · 2026-03-31

https://www.sec.gov/Archives/edgar/data/1067983/000119312526226661/53405.xml

Berkshire Hathaway

13F-HR · 2025-12-31

https://www.sec.gov/Archives/edgar/data/1067983/000119312526054580/50240.xml

Limitations

Trust notes stay visible

Read-only research artifact. No execution, custody, or personalized advice.

CUSIP-to-ticker mapping currently uses fixture provider data.

Fundamental context combines SEC Company Facts financial metrics with fixture thematic/valuation fields for demo scoring (sec-company-facts-v0.1:28, fixture-fundamentals-v0.2:29).

All selected raw change candidates mapped to tickers.

Policy

Guardrails before broker handoff

The artifact carries explicit pass/warn/blocked checks, and the default demo posture never enables execution.

Execution

pass

SignalPack does not execute trades or connect to broker accounts.

Human approval

pass

Any downstream order draft must be approved outside SignalPack.

Max position

pass

No surfaced position exceeds the 12% policy cap.

Source coverage

pass

Every surfaced change has at least one source record.

Ethos failures

warn

CVX, STZ, FWONK, LLYVK, M, LILA, LILAK, BATRK fails more than 2 selected ethos lenses.

Agent JSON

What an agent receives

This is the product thesis in concrete form: clean strategy context, source notes, normalized signals, ethos interpretation, and policy in one response.

Endpoint

GET /api/packs/13f-copycat/latest
{
  "pack": "13f-copycat",
  "title": "Berkshire Hathaway 13F Copycat artifact",
  "version": "berkshire-hathaway-2026-03-31-v0.1",
  "asOf": "2026-05-15",
  "status": "launch",
  "source": {
    "type": "SEC_13F",
    "sample": false,
    "urls": [
      "https://www.sec.gov/Archives/edgar/data/1067983/000119312526226661/53405.xml",
      "https://www.sec.gov/Archives/edgar/data/1067983/000119312526054580/50240.xml"
    ],
    "freshnessNotes": [
      "Latest filing date: 2026-05-15",
      "Report quarter/date: 2026-03-31",
      "13F filings can lag quarter-end by up to 45 days."
    ],
    "limitations": [
      "Read-only research artifact. No execution, custody, or personalized advice.",
      "CUSIP-to-ticker mapping currently uses fixture provider data.",
      "Fundamental context combines SEC Company Facts financial metrics with fixture thematic/valuation fields for demo scoring (sec-company-facts-v0.1:28, fixture-fundamentals-v0.2:29).",
      "All selected raw change candidates mapped to tickers."
    ]
  },
  "methodologyVersion": "13f-ethos-live-v0.1",
  "signals": [
    {
      "ticker": "GOOGL",
      "action": "added",
      "reviewStatus": "candidate",
      "weightPct": 5.93,
      "summary": "Berkshire Hathaway added Alphabet Class A (GOOGL) by 36,403,656 shares. Current 13F weight is 5.93%. SignalPack scores this change through selected ethos lenses before any handoff.",
      "convictionSignals": [
        "Berkshire Hathaway added 36,403,656 shares",
        "Current 13F weight 5.93%",
        "Market-value change $10.0B"
      ],
      "sourceIds": [
        "0001193125-26-226661",
        "0001193125-26-054580"
      ],
      "ethosScores": [
        {
          "ethosId": "intelligent-investor",
          "score": 3,
          "maxScore": 7,
          "status": "warn"
        },
        {
          "ethosId": "moat-builder",
          "score": 6,
          "maxScore": 6,
          "status": "pass"
        },
        {
          "ethosId": "disruption-thesis",
          "score": 5,
          "maxScore": 5,
          "status": "pass"
        }
      ]
    },
    {
      "ticker": "BAC",
      "action": "reduced",
      "reviewStatus": "warn",
      "weightPct": 9.52,
      "summary": "Berkshire Hathaway reduced Bank of America (BAC) by 3,671,769 shares. Current 13F weight is 9.52%. SignalPack scores this change through selected ethos lenses before any handoff.",
      "convictionSignals": [
        "Berkshire Hathaway reduced 3,671,769 shares",
        "Current 13F weight 9.52%",
        "Market-value change -$3.4B"
      ],
      "sourceIds": [
        "0001193125-26-226661",
        "0001193125-26-054580"
      ],
      "ethosScores": [
        {
          "ethosId": "intelligent-investor",
          "score": 4,
          "maxScore": 7,
          "status": "warn"
        },
        {
          "ethosId": "moat-builder",
          "score": 0,
          "maxScore": 6,
          "status": "fail"
        },
        {
          "ethosId": "disruption-thesis",
          "score": 0,
          "maxScore": 5,
          "status": "fail"
        }
      ]
    },
    {
      "ticker": "V",
      "action": "exited",
      "reviewStatus": "warn",
      "weightPct": 0,
      "summary": "Berkshire Hathaway exited Visa (V) by 8,297,460 shares. Current 13F weight is 0%. SignalPack scores this change through selected ethos lenses before any handoff.",
      "convictionSignals": [
        "Berkshire Hathaway exited 8,297,460 shares",
        "Current 13F weight 0%",
        "Market-value change -$2.9B"
      ],
      "sourceIds": [
        "0001193125-26-226661",
        "0001193125-26-054580"
      ],
      "ethosScores": [
        {
          "ethosId": "intelligent-investor",
          "score": 3,
          "maxScore": 7,
          "status": "warn"
        },
        {
          "ethosId": "moat-builder",
          "score": 5,
          "maxScore": 6,
          "status": "pass"
        },
        {
          "ethosId": "disruption-thesis",
          "score": 4,
          "maxScore": 5,
          "status": "pass"
        }
      ]
    },
    {
      "ticker": "DAL",
      "action": "new",
      "reviewStatus": "candidate",
      "weightPct": 1.01,
      "summary": "Berkshire Hathaway new Delta Air Lines (DAL) by 39,809,456 shares. Current 13F weight is 1.01%. SignalPack scores this change through selected ethos lenses before any handoff.",
      "convictionSignals": [
        "Berkshire Hathaway new 39,809,456 shares",
        "Current 13F weight 1.01%",
        "Market-value change $2.6B"
      ],
      "sourceIds": [
        "0001193125-26-226661",
        "0001193125-26-054580"
      ],
      "ethosScores": [
        {
          "ethosId": "intelligent-investor",
          "score": 3,
          "maxScore": 7,
          "status": "warn"
        },
        {
          "ethosId": "moat-builder",
          "score": 0,
          "maxScore": 6,
          "status": "fail"
        },
        {
          "ethosId": "disruption-thesis",
          "score": 0,
          "maxScore": 5,
          "status": "fail"
        }
      ]
    },
    {
      "ticker": "CVX",
      "action": "reduced",
      "reviewStatus": "warn",
      "weightPct": 6.64,
      "summary": "Berkshire Hathaway reduced Chevron (CVX) by 45,780,506 shares. Current 13F weight is 6.64%. SignalPack scores this change through selected ethos lenses before any handoff.",
      "convictionSignals": [
        "Berkshire Hathaway reduced 45,780,506 shares",
        "Current 13F weight 6.64%",
        "Market-value change -$2.4B"
      ],
      "sourceIds": [
        "0001193125-26-226661",
        "0001193125-26-054580"
      ],
      "ethosScores": [
        {
          "ethosId": "intelligent-investor",
          "score": 2,
          "maxScore": 7,
          "status": "fail"
        },
        {
          "ethosId": "moat-builder",
          "score": 2,
          "maxScore": 6,
          "status": "fail"
        },
        {
          "ethosId": "disruption-thesis",
          "score": 0,
          "maxScore": 5,
          "status": "fail"
        }
      ]
    },
    {
      "ticker": "MA",
      "action": "exited",
      "reviewStatus": "warn",
      "weightPct": 0,
      "summary": "Berkshire Hathaway exited Mastercard (MA) by 3,986,648 shares. Current 13F weight is 0%. SignalPack scores this change through selected ethos lenses before any handoff.",
      "convictionSignals": [
        "Berkshire Hathaway exited 3,986,648 shares",
        "Current 13F weight 0%",
        "Market-value change -$2.3B"
      ],
      "sourceIds": [
        "0001193125-26-226661",
        "0001193125-26-054580"
      ],
      "ethosScores": [
        {
          "ethosId": "intelligent-investor",
          "score": 2,
          "maxScore": 7,
          "status": "fail"
        },
        {
          "ethosId": "moat-builder",
          "score": 5,
          "maxScore": 6,
          "status": "pass"
        },
        {
          "ethosId": "disruption-thesis",
          "score": 4,
          "maxScore": 5,
          "status": "pass"
        }
      ]
    },
    {
      "ticker": "STZ",
      "action": "reduced",
      "reviewStatus": "warn",
      "weightPct": 0.04,
      "summary": "Berkshire Hathaway reduced Constellation Brands (STZ) by 12,367,110 shares. Current 13F weight is 0.04%. SignalPack scores this change through selected ethos lenses before any handoff.",
      "convictionSignals": [
        "Berkshire Hathaway reduced 12,367,110 shares",
        "Current 13F weight 0.04%",
        "Market-value change -$1.7B"
      ],
      "sourceIds": [
        "0001193125-26-226661",
        "0001193125-26-054580"
      ],
      "ethosScores": [
        {
          "ethosId": "intelligent-investor",
          "score": 1,
          "maxScore": 7,
          "status": "fail"
        },
        {
          "ethosId": "moat-builder",
          "score": 0,
          "maxScore": 6,
          "status": "fail"
        },
        {
          "ethosId": "disruption-thesis",
          "score": 0,
          "maxScore": 5,
          "status": "fail"
        }
      ]
    },
    {
      "ticker": "UNH",
      "action": "exited",
      "reviewStatus": "warn",
      "weightPct": 0,
      "summary": "Berkshire Hathaway exited UnitedHealth Group (UNH) by 5,039,564 shares. Current 13F weight is 0%. SignalPack scores this change through selected ethos lenses before any handoff.",
      "convictionSignals": [
        "Berkshire Hathaway exited 5,039,564 shares",
        "Current 13F weight 0%",
        "Market-value change -$1.7B"
      ],
      "sourceIds": [
        "0001193125-26-226661",
        "0001193125-26-054580"
      ],
      "ethosScores": [
        {
          "ethosId": "intelligent-investor",
          "score": 3,
          "maxScore": 7,
          "status": "warn"
        },
        {
          "ethosId": "moat-builder",
          "score": 4,
          "maxScore": 6,
          "status": "warn"
        },
        {
          "ethosId": "disruption-thesis",
          "score": 0,
          "maxScore": 5,
          "status": "fail"
        }
      ]
    }
  ],
  "ethos": [
    {
      "id": "intelligent-investor",
      "status": "fail",
      "summary": "0 pass, 19 warn, 10 fail across 29 scored changes."
    },
    {
      "id": "moat-builder",
      "status": "fail",
      "summary": "5 pass, 7 warn, 17 fail across 29 scored changes."
    },
    {
      "id": "disruption-thesis",
      "status": "fail",
      "summary": "5 pass, 0 warn, 24 fail across 29 scored changes."
    }
  ],
  "policy": {
    "executionEnabled": false,
    "humanApprovalRequired": true,
    "status": "warn",
    "checks": [
      {
        "id": "execution-disabled",
        "label": "Execution",
        "status": "pass",
        "message": "SignalPack does not execute trades or connect to broker accounts."
      },
      {
        "id": "human-approval-required",
        "label": "Human approval",
        "status": "pass",
        "message": "Any downstream order draft must be approved outside SignalPack."
      },
      {
        "id": "max-position-weight",
        "label": "Max position",
        "status": "pass",
        "message": "No surfaced position exceeds the 12% policy cap."
      },
      {
        "id": "source-coverage",
        "label": "Source coverage",
        "status": "pass",
        "message": "Every surfaced change has at least one source record."
      },
      {
        "id": "ethos-failure-count",
        "label": "Ethos failures",
        "status": "warn",
        "message": "CVX, STZ, FWONK, LLYVK, M, LILA, LILAK, BATRK fails more than 2 selected ethos lenses."
      }
    ],
    "blockedReasons": []
  },
  "handoff": {
    "executionEnabled": false,
    "humanApprovalRequired": true,
    "nextAgentAction": "prepare_review_brief"
  }
}
{
  "id": "13f-copycat-berkshire-hathaway-2026-03-31",
  "pack": "13f-copycat",
  "version": "berkshire-hathaway-2026-03-31-v0.1",
  "asOf": "2026-05-15",
  "sourceSummary": {
    "sourceType": "SEC_13F",
    "sample": false,
    "description": "Berkshire Hathaway latest 13F changes converted into a read-only SignalPack artifact with provider-backed identity and fundamentals context.",
    "filingCount": 2,
    "sourceUrls": [
      "https://www.sec.gov/Archives/edgar/data/1067983/000119312526226661/53405.xml",
      "https://www.sec.gov/Archives/edgar/data/1067983/000119312526054580/50240.xml"
    ],
    "freshnessNotes": [
      "Latest filing date: 2026-05-15",
      "Report quarter/date: 2026-03-31",
      "13F filings can lag quarter-end by up to 45 days."
    ],
    "limitations": [
      "Read-only research artifact. No execution, custody, or personalized advice.",
      "CUSIP-to-ticker mapping currently uses fixture provider data.",
      "Fundamental context combines SEC Company Facts financial metrics with fixture thematic/valuation fields for demo scoring (sec-company-facts-v0.1:28, fixture-fundamentals-v0.2:29).",
      "All selected raw change candidates mapped to tickers."
    ]
  },
  "inputs": [
    {
      "id": "0001193125-26-226661",
      "type": "13F-HR",
      "cik": "1067983",
      "managerName": "Berkshire Hathaway",
      "accessionNumber": "0001193125-26-226661",
      "filedAt": "2026-05-15",
      "reportQuarter": "2026-03-31",
      "sourceUrl": "https://www.sec.gov/Archives/edgar/data/1067983/000119312526226661/53405.xml"
    },
    {
      "id": "0001193125-26-054580",
      "type": "13F-HR",
      "cik": "1067983",
      "managerName": "Berkshire Hathaway",
      "accessionNumber": "0001193125-26-054580",
      "filedAt": "2026-02-17",
      "reportQuarter": "2025-12-31",
      "sourceUrl": "https://www.sec.gov/Archives/edgar/data/1067983/000119312526054580/50240.xml"
    }
  ],
  "changes": [
    {
      "ticker": "GOOGL",
      "issuerName": "Alphabet Class A",
      "action": "added",
      "currentWeightPct": 5.93,
      "previousWeightPct": 2.04,
      "weightChangePct": 3.89,
      "currentMarketValueUsd": 15600071913,
      "previousMarketValueUsd": 5585842446,
      "filerCount": 1,
      "convictionSignals": [
        "Berkshire Hathaway added 36,403,656 shares",
        "Current 13F weight 5.93%",
        "Market-value change $10.0B"
      ],
      "sourceIds": [
        "0001193125-26-226661",
        "0001193125-26-054580"
      ],
      "reviewStatus": "candidate",
      "summary": "Berkshire Hathaway added Alphabet Class A (GOOGL) by 36,403,656 shares. Current 13F weight is 5.93%. SignalPack scores this change through selected ethos lenses before any handoff."
    },
    {
      "ticker": "BAC",
      "issuerName": "Bank of America",
      "action": "reduced",
      "currentWeightPct": 9.52,
      "previousWeightPct": 10.38,
      "weightChangePct": -0.86,
      "currentMarketValueUsd": 25039178044,
      "previousMarketValueUsd": 28451276370,
      "filerCount": 1,
      "convictionSignals": [
        "Berkshire Hathaway reduced 3,671,769 shares",
        "Current 13F weight 9.52%",
        "Market-value change -$3.4B"
      ],
      "sourceIds": [
        "0001193125-26-226661",
        "0001193125-26-054580"
      ],
      "reviewStatus": "warn",
      "summary": "Berkshire Hathaway reduced Bank of America (BAC) by 3,671,769 shares. Current 13F weight is 9.52%. SignalPack scores this change through selected ethos lenses before any handoff."
    },
    {
      "ticker": "V",
      "issuerName": "Visa",
      "action": "exited",
      "currentWeightPct": 0,
      "previousWeightPct": 1.06,
      "weightChangePct": -1.06,
      "currentMarketValueUsd": 0,
      "previousMarketValueUsd": 2910002197,
      "filerCount": 1,
      "convictionSignals": [
        "Berkshire Hathaway exited 8,297,460 shares",
        "Current 13F weight 0%",
        "Market-value change -$2.9B"
      ],
      "sourceIds": [
        "0001193125-26-226661",
        "0001193125-26-054580"
      ],
      "reviewStatus": "warn",
      "summary": "Berkshire Hathaway exited Visa (V) by 8,297,460 shares. Current 13F weight is 0%. SignalPack scores this change through selected ethos lenses before any handoff."
    }
  ],
  "ethosScores": [
    {
      "ticker": "GOOGL",
      "ethosId": "intelligent-investor",
      "score": 3,
      "maxScore": 7,
      "status": "warn",
      "confidenceLabel": "medium",
      "passReasons": [
        "Large enough for Graham-style review",
        "Balance sheet passes the current-ratio check",
        "Positive earnings history is long enough"
      ],
      "warnReasons": [
        "Dividend record is shorter than the Graham threshold",
        "Long-term EPS growth is below the target"
      ],
      "failReasons": [
        "Valuation is too expensive for this lens",
        "No meaningful margin of safety"
      ],
      "missingData": []
    },
    {
      "ticker": "GOOGL",
      "ethosId": "moat-builder",
      "score": 6,
      "maxScore": 6,
      "status": "pass",
      "confidenceLabel": "high",
      "passReasons": [
        "ROIC supports a quality-business thesis",
        "Durable moat signal is strong",
        "Owner earnings growth supports compounding",
        "Leverage is acceptable for this lens",
        "Management quality clears the lens",
        "Filer behavior suggests real conviction"
      ],
      "warnReasons": [],
      "failReasons": [],
      "missingData": []
    },
    {
      "ticker": "GOOGL",
      "ethosId": "disruption-thesis",
      "score": 5,
      "maxScore": 5,
      "status": "pass",
      "confidenceLabel": "high",
      "passReasons": [
        "Position maps to a disruptive platform",
        "TAM expansion signal is strong",
        "Revenue growth supports the disruption lens",
        "Platform dynamics are strong",
        "Network effects or cross-sector convergence are visible"
      ],
      "warnReasons": [],
      "failReasons": [],
      "missingData": []
    },
    {
      "ticker": "BAC",
      "ethosId": "intelligent-investor",
      "score": 4,
      "maxScore": 7,
      "status": "warn",
      "confidenceLabel": "medium",
      "passReasons": [
        "Large enough for Graham-style review",
        "Positive earnings history is long enough",
        "Long-term EPS growth clears the Graham check",
        "Valuation is within the Graham discipline band"
      ],
      "warnReasons": [
        "Current ratio is below the conservative threshold",
        "Dividend record is shorter than the Graham threshold"
      ],
      "failReasons": [
        "No meaningful margin of safety"
      ],
      "missingData": []
    },
    {
      "ticker": "BAC",
      "ethosId": "moat-builder",
      "score": 0,
      "maxScore": 6,
      "status": "fail",
      "confidenceLabel": "low",
      "passReasons": [],
      "warnReasons": [
        "ROIC is below the preferred quality threshold",
        "Moat signal is not yet convincing",
        "Owner earnings growth is modest",
        "Management quality is not a clear positive",
        "13F change is not a strong conviction signal"
      ],
      "failReasons": [
        "Leverage is too high for a quality-first thesis"
      ],
      "missingData": []
    },
    {
      "ticker": "BAC",
      "ethosId": "disruption-thesis",
      "score": 0,
      "maxScore": 5,
      "status": "fail",
      "confidenceLabel": "low",
      "passReasons": [],
      "warnReasons": [
        "TAM expansion is not a clear positive",
        "Revenue growth is below the preferred threshold",
        "Platform dynamics are not yet strong enough",
        "Network/convergence signal is weak"
      ],
      "failReasons": [
        "No clear disruptive-platform mapping"
      ],
      "missingData": []
    }
  ],
  "policy": {
    "executionEnabled": false,
    "humanApprovalRequired": true,
    "status": "warn",
    "checks": [
      {
        "id": "execution-disabled",
        "label": "Execution",
        "status": "pass",
        "message": "SignalPack does not execute trades or connect to broker accounts."
      },
      {
        "id": "human-approval-required",
        "label": "Human approval",
        "status": "pass",
        "message": "Any downstream order draft must be approved outside SignalPack."
      },
      {
        "id": "max-position-weight",
        "label": "Max position",
        "status": "pass",
        "message": "No surfaced position exceeds the 12% policy cap."
      },
      {
        "id": "source-coverage",
        "label": "Source coverage",
        "status": "pass",
        "message": "Every surfaced change has at least one source record."
      },
      {
        "id": "ethos-failure-count",
        "label": "Ethos failures",
        "status": "warn",
        "message": "CVX, STZ, FWONK, LLYVK, M, LILA, LILAK, BATRK fails more than 2 selected ethos lenses."
      }
    ],
    "blockedReasons": []
  }
}