The 9/1 briefing called the US 8/31 session "9월 첫 거래일" - the LLM
was anchoring on the KRX date. Both prompts now pin every temporal
phrase (weekday, first/last trading day, month boundaries) to the US
session date, and the verifier treats a mismatch as a major issue.
BloggerDeliverer now updates the existing post for the same KRX date
instead of creating a duplicate on resends.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Supports web-application OAuth clients with a pre-registered
http://127.0.0.1:<port> redirect URI; desktop clients keep the random
port default.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
BloggerDeliverer posts each briefing (markdown -> HTML, H1 becomes the
post title with the report headline) via the Blogger API v3 using a
long-lived refresh token; `us2kr blogger-auth` runs the loopback OAuth
flow once and prints the BLOGGER_* lines for .env. Enabled only when
all four BLOGGER_* settings are present.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
After summarisation the report is verified against the collected
payload (numbers, directions, unsupported claims) by a second LLM call
with a Verification JSON schema. Major issues trigger one revision and
a re-check; minor-only verdicts are normalized to ok. Failures never
block delivery. The verdict is stored in the result JSON and shown on
the dashboard (badge + 검증 메모). Disable with US2KR_VERIFY_ENABLED.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Drop the "요약 모델" footer from rendered briefings and the model badge
from the dashboard (degraded briefings keep a "요약 없음" chip). The
model is still recorded in the DB/result JSON for diagnostics.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
install-apple-container.sh builds and (re)starts both containers
(dashboard mounts reports/ read-only, port 8090); --boot installs a
LaunchAgent since Apple container has no restart policy. README covers
the new deploy path, SearXNG settings, and the dashboard.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Zero-runtime-dependency Node 24 server + esbuild-bundled client.
Reads reports/*.json only (never the daemon's SQLite/WAL): summary
card, dual Seoul/New York clocks, holiday-gap rows in the briefing
list, per-symbol close chart with table view, error log.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Optional meta-search source (SEARXNG_BASE_URL): per-query isolation,
time_range=day, merged and deduplicated with the RSS feeds. Briefings
still publish on RSS alone if the instance is down.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>