diff --git a/.beads/issues.jsonl b/.beads/issues.jsonl index 2b26525..a1ec579 100644 --- a/.beads/issues.jsonl +++ b/.beads/issues.jsonl @@ -53,6 +53,7 @@ {"_type":"issue","id":"islandflow-zs0","title":"Migrate terminal UI to smart-money profiles","description":"Migrate apps/web terminal rendering to consume SmartMoneyEvent directly: primary profile, probability ladder, reason codes, and suppression/abstention state, while preserving legacy alert/classifier displays during the bridge.","status":"closed","priority":2,"issue_type":"task","owner":"dishes@dpdrm.com","created_at":"2026-05-04T21:35:23Z","created_by":"dirtydishes","updated_at":"2026-05-05T05:39:58Z","closed_at":"2026-05-05T05:39:58Z","close_reason":"Completed terminal smart-money profile migration","dependency_count":0,"dependent_count":0,"comment_count":0} {"_type":"issue","id":"islandflow-igk","title":"Add plan mode","description":"Implement a user-facing plan mode in the application so users can switch into planning before taking action. Scope to be clarified from existing app patterns.","status":"closed","priority":2,"issue_type":"feature","owner":"dishes@dpdrm.com","created_at":"2026-05-04T04:22:37Z","created_by":"dirtydishes","updated_at":"2026-05-04T04:26:18Z","started_at":"2026-05-04T04:22:40Z","closed_at":"2026-05-04T04:26:18Z","close_reason":"Implemented as a global pi extension toggled with Shift+P","dependency_count":0,"dependent_count":0,"comment_count":0} {"_type":"issue","id":"islandflow-biq","title":"Finish raw live options delivery and filter/backpressure observability","description":"The smart-money signal path and Tape filters are in place, but the next firehose pass should finish server-side selective raw live delivery for options subscriptions and add explicit filtered-out/backpressure observability for API/web counters. This was discovered while landing islandflow-e4r.\n","status":"in_progress","priority":2,"issue_type":"task","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-04-28T20:28:58Z","created_by":"dirtydishes","updated_at":"2026-04-29T03:54:12Z","started_at":"2026-04-29T03:54:12Z","dependencies":[{"issue_id":"islandflow-biq","depends_on_id":"islandflow-e4r","type":"discovered-from","created_at":"2026-04-28T16:28:58Z","created_by":"auto-import","metadata":"{}"}],"dependency_count":0,"dependent_count":0,"comment_count":0} +{"_type":"issue","id":"islandflow-0ty","title":"Recreate May 18 standup summary after merge","description":"Regenerate docs/daily-git/2026-05-19-standup-summary-2026-05-18.html using merged history so it reflects all commits in the May 18 window, including native deployment and merge commits.","status":"closed","priority":3,"issue_type":"task","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-05-19T18:53:48Z","created_by":"dirtydishes","updated_at":"2026-05-19T18:55:33Z","started_at":"2026-05-19T18:53:52Z","closed_at":"2026-05-19T18:55:33Z","close_reason":"Closed","dependency_count":0,"dependent_count":0,"comment_count":0} {"_type":"issue","id":"islandflow-2df","title":"Publish 2026-05-18 git standup summary","description":"Why: the daily automation needs a grounded standup summary for May 18, 2026. What: review commits from 2026-05-18, create a scannable HTML summary in docs/daily-git, and capture only commit/file-backed statements.","status":"closed","priority":3,"issue_type":"task","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-05-19T18:41:07Z","created_by":"dirtydishes","updated_at":"2026-05-19T18:42:42Z","started_at":"2026-05-19T18:41:10Z","closed_at":"2026-05-19T18:42:42Z","close_reason":"Closed","dependency_count":0,"dependent_count":0,"comment_count":0} {"_type":"issue","id":"islandflow-x70","title":"Create 2026-05-17 git standup summary","description":"Why this issue exists and what needs to be done:\\n- Produce the daily automation summary for 2026-05-17 git activity.\\n- Ground statements in commits, PRs, and touched files only.\\n- Create a user-readable HTML document in docs/general and update automation memory.\\n- Complete the Beads sync and git push workflow after documenting the run.","status":"closed","priority":3,"issue_type":"task","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-05-18T13:01:43Z","created_by":"dirtydishes","updated_at":"2026-05-18T13:05:37Z","started_at":"2026-05-18T13:01:53Z","closed_at":"2026-05-18T13:05:37Z","close_reason":"Closed","dependency_count":0,"dependent_count":0,"comment_count":0} {"_type":"issue","id":"islandflow-zsy","title":"Expose Forgejo SSH on a direct DNS hostname","description":"git.deltaisland.io currently resolves through Cloudflare's proxy, so SSH on port 2222 does not complete even though the Forgejo container is listening on the host. If SSH-based git/beads workflows are desired, add a DNS-only hostname (or adjust the existing record) that points directly at the server for Forgejo SSH.","status":"open","priority":3,"issue_type":"task","created_at":"2026-05-17T10:34:06Z","created_by":"delta","updated_at":"2026-05-17T10:34:06Z","dependency_count":0,"dependent_count":0,"comment_count":0} diff --git a/docs/daily-git/2026-05-19-standup-summary-2026-05-18.html b/docs/daily-git/2026-05-19-standup-summary-2026-05-18.html index 5a33e66..1d6e914 100644 --- a/docs/daily-git/2026-05-19-standup-summary-2026-05-18.html +++ b/docs/daily-git/2026-05-19-standup-summary-2026-05-18.html @@ -3,27 +3,23 @@ - Daily Git Summary for 2026-05-18 + Daily Git Summary for 2026-05-18 (Merged View) @@ -283,56 +238,54 @@
Daily Git Summary -

Standup summary for Monday, May 18, 2026

+

Standup summary for Monday, May 18, 2026 (after merge)

- 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. + This regenerated report uses merged history for the full May 18 local-day window + (2026-05-18 00:00 -0400 through 2026-05-19 00:00 -0400). It now includes eight commits, + including native deployment work and the merge commit that landed that line of work on main.

-
+
Commits -
4
+
8
- Files Touched -
35
+ Unique Files +
68
Insertions -
1963
+
4244
Deletions -
52
+
194

Summary

-
-
- Primary Delivery +
+
+ User-facing delivery

- 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. + Commit 906fe411 added Alpaca news wire support across ingest, storage, API, and web terminal/news + route surfaces.

-
- Docs And Workflow +
+ Platform and deployment delivery

- 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. + Commits d589858c and bdb9d9a9 added native deployment workflow, infra/user units, + cutover, rollback, and health-check scripts, then merged via 8f0794dd (PR #2).

-
- Standup Framing +
+ Workflow and docs updates

- Yesterday’s visible product work centered on making live Alpaca news available end to end. The remaining - activity was project hygiene and documentation. + Commits 687a2170, 62aae708, 48095fce, and 04baeceb updated + beads/docs instructions and added turn/standup documentation.

@@ -341,94 +294,99 @@

Changes Made

-
-
+
+
update beads - 687a2170 - 2026-05-18 03:15 -0400 + 687a2170 + 2026-05-18 03:15 -0400 1 file
-

- 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. -

+

Touched deployment/docker/workspace-root/package.json with one-line change.

-
-
- docs(general): add 2026-05-17 standup summary - 62aae708 - 2026-05-18 09:05 -0400 +
+
+ Implement native fast iterative deploy workflow + d589858c + 2026-05-18 03:34 -0400 + 17 files + +873 / -110 +
+
    +
  • Expanded scripts/deploy.ts for native deploy runtime behavior.
  • +
  • Added native user-unit templates and rollback/health tooling in deployment/native/.
  • +
  • Added associated plan and turn documents in docs/plans and docs/turns.
  • +
+
+ +
+
+ fix(api): remove duplicate alert context import + 48095fce + 2026-05-18 09:04 -0400 2 files
-

- Added the prior day’s report at docs/general/2026-05-18-standup-summary-2026-05-17.html and - updated .beads/issues.jsonl. -

-
- docs/general/2026-05-18-standup-summary-2026-05-17.html - .beads/issues.jsonl -
+

Removed duplicate import in services/api/src/index.ts and added a turn doc.

-
-
+
+
+ docs(general): add 2026-05-17 standup summary + 62aae708 + 2026-05-18 09:05 -0400 + 2 files +
+

Added docs/general/2026-05-18-standup-summary-2026-05-17.html and updated beads state.

+
+ +
+
add alpaca news wire across ingest api and web - 906fe411 - 2026-05-18 16:55 -0400 + 906fe411 + 2026-05-18 16:55 -0400 31 files +1407 / -50
    -
  • - Added a new ingest service in services/ingest-news/src/index.ts that backfills Alpaca news, - subscribes to the Alpaca news websocket, resolves symbols, and publishes NewsStory payloads to - NATS. -
  • -
  • - Extended shared contracts in packages/types/src/events.ts and - packages/types/src/live.ts, plus new storage support in - packages/storage/src/news.ts and packages/storage/src/clickhouse.ts. -
  • -
  • - Wired the API to store, fan out, and expose news via /news and /history/news in - services/api/src/index.ts and live-session updates in services/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 in apps/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.ts plus packages/types/tests/live.test.ts. -
  • +
  • Created services/ingest-news and wired Alpaca backfill/websocket ingestion.
  • +
  • Added news types/storage contracts in packages/types and packages/storage.
  • +
  • Extended API live/history endpoints and web terminal/news route rendering.
-
- services/ingest-news/src/index.ts - packages/storage/src/news.ts - services/api/src/index.ts - apps/web/app/terminal.tsx - apps/web/app/news/page.tsx - apps/web/app/globals.css -
-
-
+
+
+ Implement native public edge cutover + bdb9d9a9 + 2026-05-18 19:55 -0400 + 29 files + +1215 / -31 +
+
    +
  • Added native infra system units and scripts for bootstrap/start/stop/cutover/full rollback.
  • +
  • Updated deploy docs and runtime config files under deployment/native/config.
  • +
  • Added turn doc docs/turns/2026-05-18-native-public-edge-cutover.html.
  • +
+
+ +
+
+ Merge pull request 'Native public edge cutover with Docker rollback path' (#2) + 8f0794dd + 2026-05-19 00:09 +0000 + merge commit +
+

Merged native-deploy into main within the May 18 US/Eastern day window.

+
+ +
+
update turn docs and beads workflow - 04baeceb - 2026-05-18 21:32 -0400 + 04baeceb + 2026-05-18 21:32 -0400 1 file
-

- Edited AGENTS.md to update turn-document and beads workflow guidance. -

+

Updated repository-level instructions in AGENTS.md.

@@ -436,92 +394,59 @@

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. + The earlier report was generated before merged history included the native deployment branch on main. + This recreation uses git log --all over the same date window, so it captures both feature work and + merged operational/deployment work visible after PR merge.

Important Implementation Details

-
-
-

News ingestion was introduced as a first-class service

+
+
+

News wire ingestion and delivery path

- 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. + The news pipeline added a new ingest service and API fanout channel, then exposed UI surfaces in + /news and terminal panes.

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>
-  );
 }
-
+
+
+

Native deployment hardening

+

+ Deployment scripts and unit templates now include direct scripts for cutover and rollback, with infra and + service checks under deployment/native/. +

+
deployment/native/cutover.sh
+deployment/native/full-rollback.sh
+deployment/native/install-infra-units.sh
+
+
+

Merged history effect on standup scope

+

+ The merged view increased the standup scope from 4 to 8 commits and from 35 to 68 unique files touched for the + same local-day window. +

+

Expected Impact for End-Users

-
-
- Live Terminal -

- 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. -

+
+
+ Trading UI users +

Live news wire data is now available in terminal surfaces alongside existing market/event feeds.

-
- Coverage -

- 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. -

+
+ Operators +

Native deployment and rollback procedures now have first-class scripted and documented paths.

-
- Current Boundary -

- 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. -

+
+ Team reporting +

This standup report now matches merged repository history instead of pre-merge branch-local history.

@@ -529,36 +454,27 @@ export function NewsRoute() {

Validation

Issues, Limitations, and Mitigations

Follow-up Work