diff --git a/CHANGELOG.d/1.4.0-current-event-lineage-node.md b/CHANGELOG.d/1.4.0-current-event-lineage-node.md
new file mode 100644
index 000000000..a41cb4129
--- /dev/null
+++ b/CHANGELOG.d/1.4.0-current-event-lineage-node.md
@@ -0,0 +1,4 @@
+# 1.4.0 Current Event Lineage node
+
+Open Public post from the landed Demo Corp members and the popup Event
+Lineage DAG marks that post current. The home DAG does not.
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5e98c688b..8a0f85648 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,15 @@ All notable changes to this project are documented here. Format follows
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/); versioning follows
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+## [1.4.0] - 2026-08-17
+
+### Added
+
+- Opening Public post from the landed Demo Corp members marks that
+ post current in the popup Event Lineage DAG, so the focused heading
+ has a you-are-here node. The home DAG stays unmarked. No TEPP theta
+ is invented. No cutoff body is invented (ADR 0016).
+
## [1.3.0] - 2026-08-17
### Added
diff --git a/frontend/package.json b/frontend/package.json
index 0361d7c2b..c29108ea1 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -1,7 +1,7 @@
{
"name": "frontend",
"private": true,
- "version": "1.3.0",
+ "version": "1.4.0",
"type": "module",
"scripts": {
"dev": "vite",
diff --git a/frontend/src/App.css b/frontend/src/App.css
index d43b5d75f..78fced0e0 100644
--- a/frontend/src/App.css
+++ b/frontend/src/App.css
@@ -283,6 +283,11 @@
stroke-width: 2.5;
}
+.lineage-dag-node[aria-current="true"] circle {
+ stroke-width: 3;
+ stroke: canvastext;
+}
+
.keyman-list {
list-style: none;
padding: 0;
diff --git a/frontend/src/App.test.tsx b/frontend/src/App.test.tsx
index 5aa1b02dd..f96a80009 100644
--- a/frontend/src/App.test.tsx
+++ b/frontend/src/App.test.tsx
@@ -2266,6 +2266,16 @@ describe("App, authenticated", () => {
screen.getAllByRole("heading", { name: "Event Lineage" }).length,
).toBeGreaterThanOrEqual(2);
expect(document.getElementById("post-event-lineage")).toHaveFocus();
+ const popup = document.querySelector(".popup-panel");
+ expect(popup).not.toBeNull();
+ expect(within(popup as HTMLElement).getByLabelText("Open post: Public post")).toHaveAttribute(
+ "aria-current",
+ "true",
+ );
+ const homeNode = screen
+ .getAllByLabelText("Open post: Public post")
+ .find((node) => !popup?.contains(node));
+ expect(homeNode).not.toHaveAttribute("aria-current");
} finally {
HTMLElement.prototype.scrollIntoView = originalScrollIntoView;
}
diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx
index ce0f8a08a..81f2173b8 100644
--- a/frontend/src/App.tsx
+++ b/frontend/src/App.tsx
@@ -303,7 +303,7 @@ function EventLineageSection({
return (
<>
{scoped.nodes.length > 0 && onSelectPost && (
-