From 86fd79d50b79a99e5c47d26670bba430eafabe83 Mon Sep 17 00:00:00 2001 From: Seongho Bae Date: Mon, 17 Aug 2026 18:52:18 +0900 Subject: [PATCH] feat: name Ask after Priya Nair related nodes are current (v2.2.0) Opening Public post from landed Demo Corp members now names related nodes for Priya Nair as current and points at Ask about this lineage. Home list opens do not add that copy. No TEPP theta. No invented cutoff body. --- CHANGELOG.d/2.2.0-name-ask-after-priya-related.md | 4 ++++ CHANGELOG.md | 9 +++++++++ CLAUDE.md | 6 ++++-- frontend/package.json | 2 +- frontend/src/App.test.tsx | 13 ++++++++++++- frontend/src/App.tsx | 13 ++++++++++++- lineageweave/__init__.py | 2 +- pyproject.toml | 2 +- uv.lock | 2 +- 9 files changed, 45 insertions(+), 8 deletions(-) create mode 100644 CHANGELOG.d/2.2.0-name-ask-after-priya-related.md diff --git a/CHANGELOG.d/2.2.0-name-ask-after-priya-related.md b/CHANGELOG.d/2.2.0-name-ask-after-priya-related.md new file mode 100644 index 000000000..37a463a42 --- /dev/null +++ b/CHANGELOG.d/2.2.0-name-ask-after-priya-related.md @@ -0,0 +1,4 @@ +# 2.2.0 Name Ask after Priya Nair related nodes are current + +Open Public post from the landed Demo Corp members and the popup names +Ask about this lineage after Priya Nair related nodes are current. diff --git a/CHANGELOG.md b/CHANGELOG.md index db129f0ed..2c9406593 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). +## [2.2.0] - 2026-08-17 + +### Added + +- Opening Public post from the landed Demo Corp members now names the + next action after Priya Nair related nodes are current: **Ask about + this lineage**. Home list opens do not add that copy. No TEPP theta + is invented. No cutoff body is invented (ADR 0016). + ## [2.1.0] - 2026-08-17 ### Added diff --git a/CLAUDE.md b/CLAUDE.md index 6ead8380a..bbe596a7e 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -57,5 +57,7 @@ popup names Keyman and evaluation as the next read. After landed evaluation, the popup names the first Keyman as the next read. After landed Ada West related, the popup names the first related node as the next read. After that next action, the popup lands Priya Nair -related nodes. Changing the week first still focuses the report -period field. Mean θ stays on the period-report panel. +related nodes. After those related nodes land, the popup names Ask +about this lineage as the next read. Changing the week first still +focuses the report period field. Mean θ stays on the period-report +panel. diff --git a/frontend/package.json b/frontend/package.json index a01050f53..c60b3e502 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,7 +1,7 @@ { "name": "frontend", "private": true, - "version": "2.1.0", + "version": "2.2.0", "type": "module", "scripts": { "dev": "vite", diff --git a/frontend/src/App.test.tsx b/frontend/src/App.test.tsx index 328cb4f27..10c16e9e9 100644 --- a/frontend/src/App.test.tsx +++ b/frontend/src/App.test.tsx @@ -1488,6 +1488,7 @@ describe("App, authenticated", () => { ).not.toBeInTheDocument(); expect(screen.queryByRole("status", { name: "Keyman next action" })).not.toBeInTheDocument(); expect(screen.queryByRole("status", { name: "Related next action" })).not.toBeInTheDocument(); + expect(screen.queryByRole("status", { name: "Ask next action" })).not.toBeInTheDocument(); expect(screen.queryByText("Related to Ada West")).not.toBeInTheDocument(); expect(screen.queryByText("Related to Priya Nair")).not.toBeInTheDocument(); const popup = document.querySelector(".popup-panel"); @@ -2368,7 +2369,14 @@ describe("App, authenticated", () => { expect( relatedNext.compareDocumentPosition(landedRelated) & Node.DOCUMENT_POSITION_FOLLOWING, ).not.toBe(0); - expect(landedRelated.compareDocumentPosition(affiliate) & Node.DOCUMENT_POSITION_FOLLOWING).not.toBe( + const askNext = await screen.findByRole("status", { name: "Ask next action" }); + expect(askNext).toHaveTextContent( + "Related nodes for Priya Nair are current. Ask about this lineage next.", + ); + expect( + landedRelated.compareDocumentPosition(askNext) & Node.DOCUMENT_POSITION_FOLLOWING, + ).not.toBe(0); + expect(askNext.compareDocumentPosition(affiliate) & Node.DOCUMENT_POSITION_FOLLOWING).not.toBe( 0, ); } finally { @@ -2646,6 +2654,9 @@ describe("App, authenticated", () => { "Priya Nair is the first related node. Read that person next.", ); expect(await screen.findByRole("heading", { name: "Related to Priya Nair" })).toBeInTheDocument(); + expect(await screen.findByRole("status", { name: "Ask next action" })).toHaveTextContent( + "Related nodes for Priya Nair are current. Ask about this lineage next.", + ); }); it("lets post_admin rebuild the period report", async () => { diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 73af4fb9c..0c32b3ef5 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -203,7 +203,9 @@ function ChatPanel({ postId, accessToken }: { postId: string; accessToken: strin return (
-

Ask about this lineage

+

+ Ask about this lineage +

{!seededOnly && (
) : null} + {afterList && landFirstRelated && landedRelatedName && landedRelated !== null ? ( +

+ {relatedNodesCurrentNextAction(landedRelatedName)} +

+ ) : null} ); } diff --git a/lineageweave/__init__.py b/lineageweave/__init__.py index ffb131a7a..d6f62810d 100644 --- a/lineageweave/__init__.py +++ b/lineageweave/__init__.py @@ -55,4 +55,4 @@ "sentence_excerpts", ] -__version__ = "2.1.0" +__version__ = "2.2.0" diff --git a/pyproject.toml b/pyproject.toml index 33ff7e0d7..07ad08f65 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "lineageweave" -version = "2.1.0" +version = "2.2.0" description = "Reconstructs git-branch-style lineage DAGs from scattered short records using multi-channel score fusion and LLM adjudication." readme = "README.md" license = { text = "MIT" } diff --git a/uv.lock b/uv.lock index dd528a381..c75f5984b 100644 --- a/uv.lock +++ b/uv.lock @@ -454,7 +454,7 @@ wheels = [ [[package]] name = "lineageweave" -version = "2.1.0" +version = "2.2.0" source = { virtual = "." } dependencies = [ { name = "certifi" },