尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
Swiss capital increases, classified with evidence from the official gazette
翻譯準備中
正在載入完整 README。
檢視完整 README ↗Swiss capital increases, classified with evidence from the official gazette.
Every Swiss AG that raises share capital publishes the change in the Swiss Official Gazette of Commerce (SHAB). Kapitalradar reads those entries, rebuilds each company's capital history and scores which increases look like a financing round. It serves the result as a dated record you can rewind: the round is often in the gazette before the press release (spike: median 10.5 days earlier, 13 of 16 matched rounds).
Live: kapitalradar.vercel.app. Updated automatically twice a month.
Release v3 (r6, parser v4 with the reserves and conversion rules, data as of 6 Oct 2026),
evaluated 7 Oct 2026. Generated from eval/results/release-eval.json;
earlier releases are archived in eval/v1/ and eval/v2/.
| System | Precision (n) | Recall on 30 announced rounds |
|---|---|---|
| Rules + Claude | 10–100 % estimate, 95 % interval 2–100 % (n=17) | 16/30 |
| Rules only | 7–97 % estimate, 95 % interval 1–99 % (n=29) | 18/30 |
Recall ceiling is 20/30: nine announced rounds have no capital increase in the gazette within the pre-registered window, and one match stays uncertain. Each release is measured on a fresh sample of companies nobody had inspected. Labels follow one standard: "verified" needs independent evidence that outside investors funded the step (the register alone can't verify itself), "refuted" needs positive evidence of an internal explanation. Under that standard 26 of 30 v3 items are unverifiable (3 verified, 1 refuted), so the precision bounds stay wide: most capital increases are never announced.
How it is measured: methodology ·
pre-registration in eval/preregistration/ ·
decisions in docs/decision-log.md.
See ARCHITECTURE.md and the
point-in-time release ADR. In short: the SHAB REST
API feeds an immutable publication store, a parser with privacy-first clause classification
extracts capital steps, rules and claude-opus-5-5 (run headless on a subscription, name-redacted
input, cached by input hash) score each increase, and a gated release build writes one dated,
immutable release that the app reads as of any date.
Automated: .github/workflows/daily.yml runs npm run daily on the 1st and 15th of each
month at 09:15 UTC, to stay on Neon's free plan (the name is older than the schedule): ingest the
gazette days since the last run, fetch history for new companies, classify new candidates (Claude
subscription via CLAUDE_CODE_OAUTH_TOKEN), crawl new startupticker.ch financing news for
confirmations (cached between runs), build a release that goes live only if every gate
passes (including an eval of the same system), and prune old releases (current + two earlier ones
are kept). A failed run emails the repo owner and leaves the live release untouched.
Secrets: DATABASE_URL, CLAUDE_CODE_OAUTH_TOKEN. A new eval is needed only when the parser,
rules, model, prompt or thresholds change; the gate refuses to publish otherwise.
Manual (backfill, first setup, or debugging):
Prerequisites: Node 24 and .env.local with DATABASE_URL (Neon owner role for the scripts;
the website uses a read-only role).
npm ci
npm run ingest -- --start 2025-08-01
npm run history -- --run <run-key>
npm run classify -- backfill
npm run build-release -- --release r1 --dry-run
npm run eval -- run --release r1
npm run build-release -- --release r1
Rollback re-points to an earlier ready release:
npm run build-release -- --rollback r0
Checks: npm run typecheck, npm test, npm run build, and against a running server
npm run leak-check -- --base http://localhost:3000. CI never calls a model or the SHAB.
This is not an official publication. The authoritative data are those on the Official Gazettes Portal that bear the SECO electronic signature or stamp.
No natural-person data is committed: fixtures are scrubbed and checked against a private name
list (npm run preregister -- check). Gazette excerpts are shown in the original language with
person names removed, and every entry links to its SHAB publication. The dataset export
(data card) is built but not published.
Not an official publication.