{
    "schema_version": "1.0",
    "slug": "naturalherblibrary-com",
    "domain": "naturalherblibrary.com",
    "generated_date": "2026-07-15",
    "updated_at": "2026-10-09",
    "data_sources": [
        "CLAUDE.md",
        "local file counts (data/herbs, data/conditions, content/)",
        "live GET check of https://www.naturalherblibrary.com/",
        "Krisada's direct correction 2026-07-15",
        "live docroot counts 2026-10-09 (data/herbs, data/conditions, data/formulas, sitemap.xml, ai/catalog.json)",
        "Digital Karma Data Warehouse: gsc_page_daily, gsc_query_daily, good_bot_page_daily",
        "data/listings/naturalherblibrary-com.metrics.json (nightly computed Digital Karma Score)"
    ],
    "confidence": "verified-facts-only",
    "identity": {
        "niche": "Structured herbal knowledge system (TCM monographs)",
        "constellation_slug": "healthcare-ai-longevity",
        "tier": "authority",
        "priority": "2",
        "property_format": "Composer-based PHP app (not the portfolio's usual flat-include pattern): MVC-ish structure with src/, public/, Router.php, validators, content-engine",
        "launch_stage": "Built and live since first build date; 1,054 herb records, 140 condition records, 55 formula records across 2,343 sitemap URLs (counted on the live docroot 2026-10-09)",
        "for_sale": false
    },
    "executive_summary": {
        "headline": "The most substantial local build found in this rollout so far",
        "one_liner": "A structured herbal knowledge system built on TCM monographs, supporting editorial education, system pages, downloads, and machine-readable access.",
        "summary": "naturalherblibrary.com is architecturally the most sophisticated site reviewed in this rollout: a real Composer-managed PHP application (src/, public/, Router.php, content-engine/, validators, a herb-image-intake pipeline) with 1,054 herb records and 137 condition records. It has been publicly available since its first build date, confirmed by Krisada directly and by GSC data. The domain intentionally 301-redirects the root to /herbs/, which resolves correctly. krisada.com's own portfolio registry still says 'domain-only', that's the real stale-data finding here, not a production outage."
    },
    "traffic_seo": {
        "monthly_traffic": 0,
        "traffic_trend": "Search Console has page data for this host from 2026-06-13 onward: 23,684 impressions and 29 clicks lifetime. In the 28 days to 2026-10-06 it recorded 2,162 impressions, 0 clicks, and an impression-weighted average position of 34.66. Impressions are cooling against the prior window while position is unchanged, so this is a visibility-without-clicks property, not a declining one.",
        "domain_authority": null,
        "digital_karma_score": 90,
        "karma_signals": [],
        "target_queries": [
            "matrine",
            "croton seeds",
            "cassia seed",
            "elder leaves",
            "tree peony bark powder",
            "donkey-hide gelatin",
            "fleeceflower root",
            "albizia bark",
            "niu xi"
        ],
        "crawler_evidence": {
            "window": "2026-09-11 to 2026-10-08",
            "successful_content_requests": 35094,
            "distinct_paths": 4675,
            "distinct_agents": 22,
            "requests_per_path": 7.5,
            "quotable_as_demand": true,
            "note": "Genuine breadth. 7.5 successful requests per distinct URL across 4,675 URLs is crawlers working through the library, not filter-permutation crawling of a handful of pages. Compare the BellyUp lens subdomains, which run into the thousands of requests per URL across a few dozen URLs and must never be cited as demand."
        },
        "notes": "Figures are from the Digital Karma Data Warehouse: gsc_page_daily and gsc_query_daily for Google, good_bot_page_daily for crawlers. The two windows differ because classified crawler data is only retained for about 35 days while GSC page data runs back to 2025-02-15. The digital_karma_score of 90 is the computed value from the nightly per-listing metrics feed, not the shared default carried in config/federation.json. Queries listed are those with recorded impressions in the 28 days to 2026-10-06, excluding site: operator inspections; all sat between roughly position 20 and 100 with zero clicks."
    },
    "monetization": {
        "status": "unknown, build documentation is content/architecture-focused",
        "monthly_revenue": null,
        "revenue_streams": [],
        "notes": "CLAUDE.md focuses entirely on architecture and content rules (herb monographs, editorial layer, machine indexes), no monetization plan document was found in this pass."
    },
    "growth_opportunities": [
        {
            "opportunity": "Correct the portfolio registry's domain-only status",
            "impact": "medium",
            "effort": "low",
            "notes": "krisada.com's registry says domain-only despite this being a live, built site since first launch, per the same stale-status pattern found across most of this rollout."
        },
        {
            "opportunity": "Document a monetization plan",
            "impact": "medium",
            "effort": "medium",
            "notes": "Unlike most other sites in this rollout, no monetization-plan document was found here, worth writing one given the scale of content already live (1,054 herbs, 140 conditions, 55 formulas)."
        }
    ],
    "risk_factors": [
        {
            "risk": "No monetization plan exists",
            "severity": "medium",
            "mitigation": "Unlike its constellation siblings (naturopathicscience.com, longevityforward.com, etc.), no monetization-plan doc was found; this is earlier-stage than most Healthcare AI & Longevity properties from a business-model standpoint even though it's further along architecturally and has been live longer."
        }
    ],
    "sale": {
        "asking_price": 109970
    },
    "maker_notes": "CORRECTION 2026-07-15: an earlier version of this passport wrongly claimed the live site was broken (404), based on a curl HEAD request (`curl -sI`) rather than a GET request. Krisada confirmed the site has been publicly available since first build, and GSC data backs that up; a follow-up GET check confirmed 200 OK through the redirect to /herbs/. The HEAD request's 404 was a routing quirk specific to HEAD (likely the app's router only explicitly handles GET), not a real outage. Lesson for future passport verification in this rollout: always verify live status with a GET request (or -L without -I), never rely on HEAD alone. REFRESH 2026-10-09: launch_stage carried the July record counts (1,054 herbs, 140 conditions, 55 formulas) while the live docroot held 1,054 and 140, and the listing page renders that line directly above newly written copy quoting the live counts, so the same screen showed two different numbers. Counts recounted on the docroot and traffic_seo filled from the warehouse, replacing the original \"no traffic figures collected\" placeholder."
}
