[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-93291":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":22,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":42,"readmeContent":43,"aiSummary":44,"trendingCount":16,"starSnapshotCount":16,"syncStatus":15,"lastSyncTime":45,"discoverSource":46},93291,"agent-pulse","barretlee\u002Fagent-pulse","barretlee","Evidence-backed AI industry intelligence — trends, source updates, daily data refreshes, and weekly decision briefs.","https:\u002F\u002Fbarretlee.github.io\u002Fagent-pulse\u002F",null,"TypeScript",202,22,1,2,0,83,72.39,"MIT License",false,"main",true,[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],"ai","ai-agents","ai-industry","ai-intelligence","ai-news","artificial-intelligence","evidence","fastify","github-actions","github-pages","industry-analysis","knowledge-graph","llm","open-source-intelligence","sqlite","timeline","typescript","weekly-report","2026-07-22 04:02:08","\u003Cp align=\"right\">\n  \u003Cstrong>English\u003C\u002Fstrong> · \u003Ca href=\"README-zh-cn.md\">简体中文\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"docs\u002Fassets\u002Fhero.svg\" width=\"100%\" alt=\"Agent Pulse — evidence-backed AI industry intelligence\" \u002F>\n\u003C\u002Fp>\n\n\u003Ch1 align=\"center\">Agent Pulse\u003C\u002Fh1>\n\n> **Evidence-backed AI industry intelligence for people who need to decide, not just keep up.** Agent Pulse turns official releases, research papers, capital moves, policy changes, and public propagation signals into traceable Events, evolving industry judgments, and explicit next signals.\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fbarretlee.github.io\u002Fagent-pulse\u002F\">\u003Cstrong>Open Agent Pulse\u003C\u002Fstrong>\u003C\u002Fa>\n  · \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbarretlee\u002Fagent-pulse\">\u003Cstrong>⭐ Star this repository\u003C\u002Fstrong>\u003C\u002Fa>\n  · \u003Ca href=\"README-zh-cn.md\">\u003Cstrong>Read in Chinese\u003C\u002Fstrong>\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbarretlee\u002Fagent-pulse\u002Factions\u002Fworkflows\u002Fci.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fbarretlee\u002Fagent-pulse\u002Fci.yml?branch=main&style=flat-square&label=CI\" alt=\"CI status\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbarretlee\u002Fagent-pulse\u002Factions\u002Fworkflows\u002Fdata-refresh.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fbarretlee\u002Fagent-pulse\u002Fdata-refresh.yml?style=flat-square&label=data%20refresh\" alt=\"Data refresh status\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbarretlee\u002Fagent-pulse\u002Factions\u002Fworkflows\u002Fsource-audit.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fbarretlee\u002Fagent-pulse\u002Fsource-audit.yml?style=flat-square&label=source%20audit\" alt=\"Source audit status\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbarretlee\u002Fagent-pulse\u002Freleases\u002Flatest\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fbarretlee\u002Fagent-pulse?style=flat-square\" alt=\"Latest release\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbarretlee\u002Fagent-pulse\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fbarretlee\u002Fagent-pulse?style=flat-square&logo=github\" alt=\"GitHub stars\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"LICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcode%20license-MIT-2dd4a8?style=flat-square\" alt=\"MIT code license\" \u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\n## From signal to decision\n\nAI has no shortage of news, feeds, or hot takes. What is scarce is a reliable way for investors, executives, founders, business leaders, and technical leaders to answer three questions:\n\n1. **What materially changed?** Not every announcement deserves a new view.\n2. **Why does it matter?** A fact becomes useful only when connected to an industry shift and the people it affects.\n3. **What would change the judgment?** Every durable view needs a next signal, counter-signal, or invalidation condition.\n\nAgent Pulse is built around that loop: observe broadly, publish selectively, preserve the evidence trail, and update a judgment only when the evidence changes.\n\nIf that is the kind of public intelligence infrastructure you want to exist, [star Agent Pulse](https:\u002F\u002Fgithub.com\u002Fbarretlee\u002Fagent-pulse). It helps more decision-makers and builders discover the project and is the clearest signal that the open version is worth maintaining.\n\n## Explore the product\n\n| Product surface | The question it answers | Current boundary |\n| --- | --- | --- |\n| [**Latest material shift**](https:\u002F\u002Fbarretlee.github.io\u002Fagent-pulse\u002F) | What changed enough to revisit the current view? | Public judgments are evidence-linked; updates are event-driven, not quota-driven. |\n| [**Six strategic views**](https:\u002F\u002Fbarretlee.github.io\u002Fagent-pulse\u002Flines\u002F) | Is this an isolated announcement or part of a longer capability, product, infrastructure, capital, or geographic shift? | Narratives share the same Event evidence instead of duplicating facts. |\n| [**Evidence timeline**](https:\u002F\u002Fbarretlee.github.io\u002Fagent-pulse\u002Ftimeline\u002F) | What happened first, what changed later, and which primary sources support it? | Every published Event links back to public evidence. |\n| [**Source activity**](https:\u002F\u002Fbarretlee.github.io\u002Fagent-pulse\u002Fsignals\u002F) | What are catalogued sources publishing before signals converge into Events? | This is an allowlisted observation layer, not verified fact publication. |\n| [**Coverage and sources**](https:\u002F\u002Fbarretlee.github.io\u002Fagent-pulse\u002Fsources\u002F) | Where is coverage strong, weak, active, isolated, or restricted? | Catalog presence is kept separate from effective observation and production qualification. |\n| [**Scout**](https:\u002F\u002Fbarretlee.github.io\u002Fagent-pulse\u002Fscout\u002F) | What product, research, content, or internal experiment may be worth validating? | Scout is experimental and produces evidence-linked hypotheses, not facts or investment conclusions. |\n\n[Start with the latest material shift →](https:\u002F\u002Fbarretlee.github.io\u002Fagent-pulse\u002F)\n\n## Not another news aggregator\n\nEvery public event is designed to separate six layers:\n\n1. **Fact** — what happened and when;\n2. **Evidence** — the original release, paper, filing, or policy document;\n3. **Context** — what came before and what actually changed;\n4. **Impact** — who is affected across technology, business, capital, and policy;\n5. **Judgment** — the current interpretation, with uncertainty made explicit;\n6. **Next signal** — what would strengthen, weaken, or invalidate the judgment.\n\n```text\nofficial releases + papers + filings + expert and propagation signals\n                                │\n                                ▼\n       collect → normalize → deduplicate → cluster → evidence binding\n                                │\n                                ▼\n     deterministic gate → strategic narrative → next signal → public event\n```\n\nAggregators can suggest candidates or propagation heat, but cannot become the sole factual evidence for a material event. External text is never treated as trusted HTML, and private operational data never enters the public static export.\n\n## Live, auditable, and honest about its limits\n\nThe repository is not a mockup. It contains the source catalog, collectors, evidence model, automatic quality gates, static renderer, source-health automation, and GitHub Pages delivery path used by the live product. It also keeps four states deliberately separate: **catalogued**, **observed**, **active**, and **published**.\n\nGitHub Actions refreshes public data and redeploys the static site once per day. The source audit, monitor, and quality guard remain weekly; the `weekly-brief` Issue is created or updated only on Sunday (or by an explicit manual run) and only when at least one public Event clears the weekly gate, so daily freshness does not create empty Issues.\n\nRepository evidence checked on **2026-07-14**. Source-health numbers below come from the full audit completed at **2026-07-14 05:36 UTC**; content counts come from the versioned repository snapshot.\n\n| Measure | Verified state |\n| --- | ---: |\n| Sources in the current catalog | 414 |\n| Sources covered by that full audit | 414 |\n| Healthy \u002F degraded \u002F failed \u002F skipped | 266 \u002F 27 \u002F 70 \u002F 51 |\n| Accessible endpoints \u002F endpoints with content | 398 \u002F 276 |\n| Active production sources | 5 |\n| Published evidence-backed events | 331 |\n| Normalized Signals in the repository snapshot | 4,940 |\n\nSee the machine-generated [source health report](data\u002Freports\u002Fsource-health.json), [system capability evaluation](data\u002Freports\u002Fsystem-evaluation.json), [data-source policy](docs\u002FSOURCES.md), and [capability map](docs\u002FCAPABILITIES.md). CI restores the complete repository snapshot, compares a fresh evaluation with the previous commit, fails on score or evidence regression, and publishes the highest-priority evidence gaps as its improvement queue.\n\nThe public source-update stream exposes only allowlisted titles, attribution, dates, categories, tags, and canonical links. It remains an observation layer and cannot bypass the evidence and readiness gates required for Event publication. The limitations are equally important: production qualification still needs a real observation window; many historical events need more independent evidence; claim-level evidence, multilingual semantic clustering, real MySQL integration coverage, and user outcome feedback are still incomplete. Planned or experimental capabilities are never presented as shipped.\n\n## Architecture\n\n```text\nsources and discovery signals\n          │\n   SourceAdapter boundary\n          │\nsafe fetch → normalize → quality gate → deduplicate\n          │\nisolated observation \u002F event clustering\n          │\nevidence binding → deterministic readiness gate\n          │\n     ┌────┴────┐\n     ▼         ▼\nControl Room   privacy-safe static site → GitHub Pages\n```\n\nSQLite is the zero-configuration default. A MySQL dialect path exists, but the project does not claim MySQL compatibility without real integration coverage. Public Pages contain only allowlisted DTOs; databases, credentials, raw payloads, proxy settings, and private notes are excluded.\n\nRead the [architecture](docs\u002FARCHITECTURE.md), [roadmap](docs\u002FROADMAP.md), or [changelog](CHANGELOG.md) for implementation details and release history.\n\n## Run locally\n\nRequires Node.js 22 or later.\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fbarretlee\u002Fagent-pulse.git\ncd agent-pulse\nnpm install\ncp .env.example .env\nnpm run dev\n```\n\nLocal startup automatically migrates the database, refreshes catalog seed metadata, and merges the latest versioned repository snapshot. A fresh clone and an existing local SQLite database therefore start from the same complete repository dataset without deleting newer local evidence. `npm run db:seed` and the default `npm run export` use the same bootstrap path.\n\nOpen:\n\n- Public site: \u003Chttp:\u002F\u002F127.0.0.1:8899\u002F>\n- Private Control Room: \u003Chttp:\u002F\u002F127.0.0.1:8899\u002Fadmin\u002F>\n- Health endpoint: \u003Chttp:\u002F\u002F127.0.0.1:8899\u002Fapi\u002Fhealth>\n\nUseful commands:\n\n```bash\nnpm run collect               # Collect, deduplicate, cluster, and score\nnpm run ai:enrich             # Enrich eligible review Events when explicitly enabled\nnpm run sources:audit         # Run a non-destructive full source audit\nnpm run weekly:issue          # Render the current public weekly brief\nnpm run ops:reconcile         # Reconcile source health and discovery state\nnpm run scout:generate -- 5   # Publish or archive evidence-linked Scout opportunities\nnpm run export                # Generate the static site in dist\u002F\nnpm run check                 # Lint, typecheck, tests, and static export\n```\n\nLocal development can run without `ADMIN_TOKEN`. Any non-development deployment must use a strong token and keep the Control Room behind private access controls.\n\nAI-assisted Event convergence and weekly-brief drafting remain **experimental and opt-in for local runs**. Put `DEEPSEEK_API_KEY` only in the ignored local `.env` or a GitHub Actions Secret, set `AI_ENRICHMENT_ENABLED=true`, and keep `.env.example` free of real credentials. The model only receives cropped normalized Evidence or public static DTOs; schema, evidence, readiness, and publication gates remain deterministic.\n\n## Contribute\n\nHigh-leverage contributions include stable source adapters, parser fixtures, paper and benchmark coverage, evidence-quality improvements, failure-isolation tests, and clearer product explanations.\n\n- Code changes: [CONTRIBUTING.md](CONTRIBUTING.md)\n- Source proposals and corrections: [Contributing Sources](docs\u002FCONTRIBUTING_SOURCES.md)\n- Community rules: [Code of Conduct](CODE_OF_CONDUCT.md)\n- Private security reports: [SECURITY.md](SECURITY.md)\n\nIf Agent Pulse helps you replace information overload with clearer judgment, [⭐ star the repository](https:\u002F\u002Fgithub.com\u002Fbarretlee\u002Fagent-pulse) and share the one-sentence description at the top.\n\n## License and responsible use\n\nThe [MIT License](LICENSE) applies to Agent Pulse source code and original repository documentation unless a file states otherwise. It does not grant rights to third-party articles, papers, release notes, trademarks, images, feeds, or other source material. Public intelligence output contains limited metadata, attribution, canonical links, and Agent Pulse's original synthesis.\n\nRead [Copyright, Sources, and Responsible Use](docs\u002FLEGAL.md) and [Third-Party Notices](THIRD_PARTY_NOTICES.md). Agent Pulse provides research and decision-support information, not investment, legal, procurement, or other professional advice.\n\n[MIT](LICENSE) © 2026 Barret Lee\n","Agent Pulse 是一个基于实证的 AI 行业情报系统，致力于将官方发布、研究论文、资本动态、政策调整和公共传播信号转化为可追溯的事件、演进中的行业判断及明确的后续观察信号。其核心功能包括每日数据自动刷新、每周决策简报生成、事件溯源追踪，并依托知识图谱与 SQLite 构建证据链；技术上采用 TypeScript 开发，集成 GitHub Actions 实现源审计与数据更新自动化。适用于 AI 领域投资者、企业战略负责人、技术决策者及行业研究员等需快速识别实质性变化、理解影响路径并预判关键转折点的专业场景。","2026-07-15 02:30:11","CREATED_QUERY"]