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.tsandpackages/types/src/live.ts, plus new storage support inpackages/storage/src/news.tsandpackages/storage/src/clickhouse.ts. -
Wired the API to store, fan out, and expose news via
/newsand/history/newsinservices/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 inapps/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, andscripts/deploy.ts. -
Added tests in
packages/storage/tests/news.test.ts,services/ingest-news/tests/symbols.test.ts, and adjustedapps/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.