diff --git a/.beads/issues.jsonl b/.beads/issues.jsonl
index c76f14d..488a0e4 100644
--- a/.beads/issues.jsonl
+++ b/.beads/issues.jsonl
@@ -71,6 +71,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-hgm","title":"Publish May 20 standup git summary","description":"Create the daily standup-ready git activity summary for 2026-05-20, save the HTML artifact under docs/general, and push the result so the automation leaves a durable record.","status":"closed","priority":3,"issue_type":"task","owner":"dishes@dpdrm.com","created_at":"2026-05-21T13:02:38Z","created_by":"dirtydishes","updated_at":"2026-05-21T13:05:16Z","closed_at":"2026-05-21T13:05:16Z","close_reason":"Closed","dependency_count":0,"dependent_count":0,"comment_count":0}
{"_type":"issue","id":"islandflow-4q0","title":"refresh readme app description with current classification approach","description":"Update README intro content to better describe the app's current architecture and include a concise explanation of how Islandflow classifies prints, aligned with smartmoney.md and current services.","status":"closed","priority":3,"issue_type":"task","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-05-21T01:53:30Z","created_by":"dirtydishes","updated_at":"2026-05-21T01:55:01Z","started_at":"2026-05-21T01:53:33Z","closed_at":"2026-05-21T01:55:01Z","close_reason":"Closed","dependency_count":0,"dependent_count":0,"comment_count":0}
{"_type":"issue","id":"islandflow-8vr","title":"Summarize 2026-05-19 git activity for standup","description":"Create the daily git summary for 2026-05-19 in docs/general using yesterday's commits, touched files, and validation evidence only.","status":"closed","priority":3,"issue_type":"task","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-05-20T13:02:41Z","created_by":"dirtydishes","updated_at":"2026-05-20T13:04:50Z","started_at":"2026-05-20T13:02:47Z","closed_at":"2026-05-20T13:04:50Z","close_reason":"Closed","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}
diff --git a/docs/general/2026-05-21-standup-summary-2026-05-20.html b/docs/general/2026-05-21-standup-summary-2026-05-20.html
new file mode 100644
index 0000000..cfcb8ff
--- /dev/null
+++ b/docs/general/2026-05-21-standup-summary-2026-05-20.html
@@ -0,0 +1,516 @@
+
+
+
+ Yesterday’s visible git activity on main grouped into three concrete buckets:
+ a web-terminal fix for historical alert packet resolution landed through PR #6,
+ a one-time GitHub ↔ Forgejo backfill sync was documented, and the root
+ README.md was refreshed to match the current classification flow and system shape.
+
+
+
+ Commits inspected
+ 4 total on 2026-05-20
+
+
+ Unique workstreams
+ 3 landed changes
+
+
+ Functional change
+ apps/web/app/terminal.tsx
+
+
+ Docs-heavy follow-through
+ 3 HTML turn docs plus README refresh
+
+
+
+
+
+
Summary
+
+
+
Historical alert context lookup stopped assuming the first evidence ref was the packet.
+
+ Commit adba1f6 changed alert packet selection in the terminal so historical
+ context hydration scans packet refs explicitly, then PR merge commit fb25b5a
+ landed that fix on main.
+
+
+
+
Remote migration state was captured in repo docs.
+
+ Commit df9c9f3 added a turn document describing a one-time bidirectional sync
+ between the GitHub and Forgejo remotes, including branch parity validation.
+
+
+
+
README positioning now matches the current classification pipeline.
+
+ Commit 1e2ed3e updated README.md to describe current ingest,
+ reconstruction, profile scoring, and explainable artifact output more precisely.
+
+ fix historical alert flow packet resolution updated
+ apps/web/app/terminal.tsx and apps/web/app/terminal.test.ts.
+ The patch added getAlertFlowPacketRefs and
+ resolveAlertFlowPacket, then replaced several
+ evidence_refs[0]-based lookups with packet-ref scanning.
+
+ docs: record github-forgejo one-time backfill sync added
+ docs/turns/2026-05-20-remote-backfill-sync.html and updated
+ .beads/issues.jsonl with the corresponding tracking state.
+
+ refresh readme description with current classification flow revised
+ the repo overview in README.md and added a current-step explanation for
+ ingest, parent-event reconstruction, feature computation, profile scoring, and emitted
+ artifacts.
+
+ This summary only covers commits present in local git history with commit dates on
+ 2026-05-20. The functional change and validation details were grounded in the
+ commit diff for adba1f6, the merge metadata for fb25b5a, and the
+ turn documents committed the same day for the remote-sync and README work.
+
+
+
+
+
Important Implementation Details
+
+
+ The alert fix stopped relying on selectedAlert.evidence_refs[0] in several
+ places, including selected alert packet resolution, visible alert prefetching, active
+ pinned packet keys, and classifier-hit-to-alert matching.
+
+
+ New tests in apps/web/app/terminal.test.ts explicitly cover alerts whose
+ first evidence ref is not the flow packet, using evidence like
+ smartmoney:single_leg_event:flowpacket:1 ahead of
+ flowpacket:1.
+
+
+ The remote sync documentation records that GitHub and Forgejo branch parity was checked
+ after a two-way backfill, and it names Beads issue islandflow-xc5 in the
+ follow-up section.
+
+
+ The README refresh expanded the top-level product description from a shorter bullet list
+ into a more specific current-state explanation of adapters, derived artifacts, and
+ smart-money classification behavior.
+
+
+
Key terminal helpers added on 2026-05-20:
+
+getAlertFlowPacketRefs(alert)
+resolveAlertFlowPacket(alert, packets)
+
+These helpers replaced first-item packet assumptions in the web terminal.
+
+
+
+
Expected Impact for End-Users
+
+
+ Historical alert drilldowns in the web terminal should resolve the correct flow packet
+ more reliably when packet refs are not the first evidence entry.
+
+
+ Maintainers now have a committed record of the one-time GitHub ↔ Forgejo backfill sync
+ and its parity checks.
+
+
+ Readers landing on the repository should get a more accurate picture of the current
+ classification pipeline and user-facing surfaces from the refreshed README.
+
+
+
+
+
+
Validation
+
+
+ Used git log scoped to 2026-05-20 to enumerate the day’s four
+ commits.
+
+
+ Inspected the functional diff for adba1f6 with
+ git show, including the added tests in
+ apps/web/app/terminal.test.ts.
+
+
+ Used the committed turn doc for the alert fix to anchor the reported quality gates:
+ bun test apps/web/app/terminal.test.ts passed with 72 tests and
+ bun --cwd=apps/web run build passed on Next.js 16.2.6.
+
+
+ Used the committed turn docs for the remote sync and README refresh to anchor their
+ recorded validation steps instead of inferring extra runtime checks.
+
+
+
+
+
+
Issues, Limitations, and Mitigations
+
+ history-only view
+ no speculation
+
+
+
+ This summary is intentionally limited to landed git history on 2026-05-20;
+ it does not include uncommitted work, private discussion, or work that happened outside
+ this repository.
+
+
+ The merge commit duplicates the file changes from adba1f6, so the summary
+ treats them as one landed workstream plus its merge event rather than two separate fixes.
+
+
+ The remote sync and README updates are described from their committed docs and diffs, not
+ from re-running the original operational commands.
+
+
+
+
+
+
Follow-up Work
+
+
+ No new follow-up issue was created from this summary itself beyond
+ islandflow-hgm, which tracks publishing this standup artifact.
+
+
+ Existing follow-up reference from yesterday’s commits: the remote sync turn doc names
+ islandflow-xc5.
+
This turn created the daily git-summary artifact in docs/general, grounded to commits from 2026-05-20, then prepared the repo for commit and push.
+
+
+
+
Summary
+
Added a standup-ready HTML summary for yesterday’s git activity and kept the narrative anchored to commit hashes, merged PR metadata, and touched files.
+
+
+
+
Changes Made
+
+
Created docs/general/2026-05-21-standup-summary-2026-05-20.html.
+
Created this turn record in docs/turns.
+
Updated Beads tracking for the publication task.
+
+
+
+
+
Context
+
The request was to summarize yesterday’s git activity for standup without speculating about intent or future work. The report therefore cites only landed commits on 2026-05-20 and the repo artifacts those commits added or changed.
+
+
+
+
Important Implementation Details
+
+
The primary summary separates the terminal fix, the PR merge event, the remote-sync documentation commit, and the README refresh so duplicate merge stats are not misreported as separate feature work.
+
The styling follows the repo’s existing summary-document direction even though the repo-local impeccable loader path was unavailable.
Teammates now have a scannable standup artifact in the repo that points back to the exact commits and files changed on 2026-05-20.
+
+
+
+
Validation
+
+
Queried git history for 2026-05-20 and inspected commit diffs with git show.
+
Checked the existing standup-summary location and naming under docs/general.
+
No runtime tests were required because this turn added documentation only.
+
+
+
+
+
Issues, Limitations, and Mitigations
+
+
The repo-local .agents/skills/impeccable/scripts/load-context.mjs path was unavailable, so the document was produced with a manual polished HTML fallback.
+
This turn documents committed history only and does not attempt to summarize work that never landed in git.
+
+
+
+
+
Follow-up Work
+
+
No additional follow-up is required beyond sharing the generated summary in standup.