+ Added one line to deployment/docker/workspace-root/package.json. The local git history does not
+ show more context beyond the file touch and commit subject.
+
Standup summary for Monday, May 18, 2026
++ Git history for May 18 shows four commits. One feature commit introduced an Alpaca-backed news wire across ingest, + storage, API, and web surfaces; the other three commits updated workflow docs, beads state, and the previous + standup summary. +
+ +Summary
+
+ Commit 906fe411 added a new services/ingest-news service, news persistence in
+ packages/storage, API endpoints in services/api, and a live news view in
+ apps/web/app/terminal.tsx plus apps/web/app/news/page.tsx.
+
+ Commits 62aae708, 687a2170, and 04baeceb updated the previous standup
+ report, beads state, deployment/docker/workspace-root/package.json, and the repo-level
+ AGENTS.md instructions.
+
+ Yesterday’s visible product work centered on making live Alpaca news available end to end. The remaining + activity was project hygiene and documentation. +
+Changes Made
+
+ Added the prior day’s report at docs/general/2026-05-18-standup-summary-2026-05-17.html and
+ updated .beads/issues.jsonl.
+
-
+
-
+ Added a new ingest service in
services/ingest-news/src/index.tsthat backfills Alpaca news, + subscribes to the Alpaca news websocket, resolves symbols, and publishesNewsStorypayloads to + NATS. +
+ -
+ Extended shared contracts in
packages/types/src/events.tsand +packages/types/src/live.ts, plus new storage support in +packages/storage/src/news.tsandpackages/storage/src/clickhouse.ts. +
+ -
+ Wired the API to store, fan out, and expose news via
/newsand/history/newsin +services/api/src/index.tsand live-session updates inservices/api/src/live.ts. +
+ -
+ Added a web route in
apps/web/app/news/page.tsx, a news pane and drawer in +apps/web/app/terminal.tsx, and related styling inapps/web/app/globals.css. +
+ -
+ Updated runtime packaging and local/dev deployment surfaces, including
+
deployment/docker/docker-compose.yml, Dockerfiles,scripts/dev.ts, and +scripts/deploy.ts. +
+ -
+ Added tests in
packages/storage/tests/news.test.ts, +services/ingest-news/tests/symbols.test.ts, and adjusted +apps/web/app/terminal.test.tspluspackages/types/tests/live.test.ts. +
+
+ Edited AGENTS.md to update turn-document and beads workflow guidance.
+
Context
+
+ This summary is based on local git history between 2026-05-18 00:00 -0400 and
+ 2026-05-19 00:00 -0400. The repository uses Bun, TypeScript, NATS/JetStream, ClickHouse, and a Next.js
+ web app, so the main feature commit spans service ingestion, shared types, persistence, API delivery, and the UI.
+
Important Implementation Details
+News ingestion was introduced as a first-class service
+
+ services/ingest-news/src/index.ts authenticates against Alpaca, backfills recent news, subscribes
+ to live updates, resolves symbols, validates payloads with NewsStorySchema, and publishes them onto
+ the repo’s bus layer.
+
const backfill = await fetchBackfill();
+for (const item of backfill.reverse()) {
+ await publishStory(item);
+}
+
+if (msg === "authenticated") {
+ ws.send(JSON.stringify({ action: "subscribe", news: ["*"] }));
+}
+ API and live session support were expanded for news
+
+ services/api/src/index.ts now ensures the news table exists, subscribes to a news consumer, fans
+ out live updates, and exposes both recent and paginated history endpoints.
+
if (req.method === "GET" && url.pathname === "/news") {
+ const limit = parseLimit(url.searchParams.get("limit") ?? "100");
+ const data = await fetchRecentNews(clickhouse, limit);
+ return jsonResponse({ data });
+}
+ The web terminal gained a dedicated news surface
+
+ apps/web/app/terminal.tsx added a live-only news pane, a per-story drawer, history loading, and a
+ new /news route entry point via apps/web/app/news/page.tsx.
+
if (features.news) {
+ subscriptions.push({ channel: "news", snapshot_limit: LIVE_OPTIONS_HEAD_LIMIT });
+}
+
+export function NewsRoute() {
+ const state = useTerminal();
+ return (
+ <PageFrame title="News">
+ <div className="page-grid page-grid-news">
+ <NewsPane state={state} className="news-pane-full" />
+ </div>
+ </PageFrame>
+ );
+}
+ Expected Impact for End-Users
++ Users now have a dedicated news wire surface in the web terminal, including summary rows, story details, and + a direct link to the source article. +
++ News is now available alongside the repo’s existing live feeds, with shared symbol resolution and storage that + make the data retrievable through API history endpoints. +
++ The UI copy in the news pane explicitly marks news as live-only in v1, so replay users should not expect the + same behavior there yet. +
+Validation
+-
+
- Reviewed local git history with
git log --since='2026-05-18 00:00' --until='2026-05-19 00:00'.
+ - Used
git log --stat,git show, and file-level history to anchor each summary item to specific commits and files.
+ - No builds or tests were run for this reporting task because the work product is a git summary document, not a behavior change. +
Issues, Limitations, and Mitigations
+-
+
- + This report is grounded in local commit metadata only. No pull request identifiers were present in the inspected + git history, so the summary references commits and files instead of PR numbers. + +
-
+ The
update beadscommit touched onlydeployment/docker/workspace-root/package.jsonin + visible git output, so this report does not infer intent beyond that recorded file change. +
+ - + Counts here describe May 18 commits only and exclude any uncommitted work present after that date. + +
Follow-up Work
+-
+
-
+ No new product follow-up items were derived from this reporting pass. The only beads item created for this task
+ is
islandflow-2df, which tracks publication of this summary document. +
+