个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证A daily news digest summarized with an open-weights model and published. No tracking, just events.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
A daily news digest that checks its own work.
idhazh is Tamil for a journal. yen-idhazh is "my journal".
Every morning it reads a curated set of public sources, writes a short summary of
what matters, and - the part that makes it different - scores each summary
against the article it came from and shows you the score. Where the check went
badly, the item says so.
Nothing runs when you read it. The page is plain files.
It is for someone who wants to know what happened in a few subjects, in two
minutes, from a page that says how much to trust it.查看完整 README ↗A daily news digest that checks its own work.
Read it: https://miztiik.github.io/yen-idhazh/
idhazh is Tamil for a journal. yen-idhazh is "my journal".
Every morning it reads a curated set of public sources, writes a short summary of what matters, and - the part that makes it different - scores each summary against the article it came from and shows you the score. Where the check went badly, the item says so.
Nothing runs when you read it. The page is plain files.
| Five subjects, one page | AI, energy, business and economy, world, India. Ten to fifteen stories, not a firehose. |
| A confidence mark on every story | Each summary is machine-checked against its source article. A story that scored badly is labelled, not hidden. |
| The link, always | You get our summary and the address it came from. The article itself is never republished. |
| Two minutes, then out | A digest, not a feed. No infinite scroll, nothing to come back for. |
| Nothing follows you | No accounts, no analytics, no cookies, no third-party scripts. |
| A picture only when it earns one | Numbers become a chart. A process becomes a diagram. Everything else gets nothing. |
| Search on your device | Optional. One download, then the archive is searchable without anything you type leaving your browser. |
It is for someone who wants to know what happened in a few subjects, in two minutes, from a page that says how much to trust it.
flowchart TD
subgraph build["Build time - Content refresh, four UTC runs daily"]
direction TB
A["<b>Collect</b><br/>read 138 live feeds<br/>rank by tier, repetition and age"]
B["<b>Extract</b><br/>pull readable text<br/>sanitise at the trust boundary"]
C["<b>Summarize</b><br/>Qwen3-8B on CPU<br/>output shape pinned by a schema"]
D["<b>Score</b><br/>faithfulness vs the source<br/>plus model-free counterweights"]
E["<b>Plan a visual</b><br/>a chart, or nothing<br/>the model picks numbers by index"]
F["<b>Assemble</b><br/>write the day's payload<br/>commit it to the repository"]
A --> B --> C --> D --> E --> F
end
F -->|"committed JSON + SVG"| G
subgraph read["Read time - a static page"]
direction TB
G["<b>Two kinds of page</b><br/>home, archive, scores prerendered<br/>a day page renders in the browser"]
H["<b>On-device search</b><br/>optional, reader-initiated"]
G -.->|"only if you click"| H
end
style build fill:#eef2ff,stroke:#4c6ef5
style read fill:#f0fdf4,stroke:#16a34a
The line between the two boxes is the whole design: everything expensive happens before you arrive. The summaries are written and committed; a page only reads them.
The pipeline runs on a stock GitHub runner - 4 vCPU, no GPU, a 6-hour job cap. That is not a budget to be raised; it is the platform. It decides which model can be used, how work is sharded, and which features never ship.
When a measurement contradicts the design, the design changes. A laptop said the 8B model decoded 3.3x slower than the 4B, which nearly cost it the job. The runner said 1.8x, so the 8B writes the summaries.
Sources are curated, not crawled. Every feed is listed by hand in
config/sources.json with a subject and a tier:
| Tier | What it is | Example |
|---|---|---|
| 1 | The institution that is the fact | a central bank, a statistical agency, a lab's own blog |
| 2 | Trade press that covers the beat daily | a specialist outlet, a wire's section feed |
| 3 | Community and aggregators | a forum, a link aggregator |
Ranking is arithmetic, not judgement: tier weight, times how many independent sources carried the story today, plus a bonus for a watched entity. A story three independent outlets carried is the day's story. No model is involved in choosing.
Live feeds, counted 2026-08-24: ai 38, india 27, world 27, energy 24, business-economy 22 - 138 in total.
A source that dies is retired in config, never deleted - deleting an id would
break every payload that referenced it. See
docs/architecture/sources/discovery.md.
Start here, in this order:
| If you want to know | Read |
|---|---|
| What this is and is not | docs/concepts/vision.md |
| How the whole system fits together | docs/architecture/overview.md |
| What each pipeline stage owns | docs/concepts/pipeline-loop.md |
| How a summary is scored, and why | docs/concepts/evaluation.md |
| What one column on the eval row means | docs/concepts/summary-metrics.md |
| Where stories come from | docs/architecture/sources/discovery.md |
| Why a story gets a chart or nothing | docs/architecture/publishing/visuals.md |
| Real numbers from real hardware | docs/reference/pipeline-cost.md |
| How the production pipeline runs | docs/how-to/run-the-pipeline.md |
| How to test the production pipeline |
python -m venv .venv
.venv/bin/pip install -e ".[dev]" # .venv/Scripts/pip on Windows
.venv/bin/python -m pytest # tests
.venv/bin/python -m ruff check . # lint
.venv/bin/python -m mypy # strict type check
Production runs in GitHub Actions; local model inference is not supported. Use the Pipeline tests workflow to exercise the production stages with configured article cases. Model weights and llama.cpp binaries are downloaded in CI and never committed.
backend/ produces and frontend/ publishes. They meet only through committed
files and the schemas generated from backend/idhazh/contracts/ - never through
a running service. Every directory is explained in
docs/reference/repository-layout.md.
CLAUDE.md - the engineering contract every change is held to.AGENTS.md - the pointer coding agents start from.TODO/20260815-digest-pipeline-plan.md - the build plan and its current state.| What every top-level directory is for | docs/reference/repository-layout.md |
| Where any other doc belongs | docs/reference/documentation-structure.md |