feat: warn that cutoff-rewritten titles open the live body (v0.88.0) - #162
feat: warn that cutoff-rewritten titles open the live body (v0.88.0)#162seonghobae wants to merge 1 commit into
Conversation
Opening a marked analysis-run title still shows the live post. The popup now says so instead of inventing a cutoff snapshot.
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Review
Do not merge this head. The popup warning is the right slice on #150, but the status tells the operator what the product does not store instead of the next action required by ADR 0016.
analysisRunLivePostWarning on the run list already says to compare marked bodies with this run. analysisRunOpenedBodyWarning switches to “the earlier text is not stored, so this popup does not invent it.” That is developer honesty. The operator is looking at the live body and needs to compare it with this run before treating the text as reconstructed evidence.
A successor on cursor/bc-482049cd-0dc4-4e6a-b4e1-acd8b86c8202-4a5e will keep this warning, name that next action, give the status a stable AccName, extract the amber token, and lock related-post clear. Prefer that landing. Do not merge this before #150 and #74. Do not invent a cutoff snapshot or a TEPP theta.
CodeRabbit skipped this base (not the default branch). CLI agent auth is not available in this environment.
Sent by Cursor Automation: Fix Issues
| const when = cutoffDate ? `the ${cutoffDate} ` : ""; | ||
| return ( | ||
| `This is the live body, not the version known at ${when}analysis-run cutoff. ` + | ||
| "The earlier text is not stored, so this popup does not invent it." |
There was a problem hiding this comment.
This sentence is developer honesty, not the next action. The run-list helper already tells the operator to compare marked bodies with this run. The popup should continue that action, for example: “This is the live body, not a cutoff snapshot. Compare it with this 2026-01-12 run before you treat it as reconstructed evidence.” Do not invent the earlier text.
| {new Date(post.created_at).toLocaleString()} | ||
| </p> | ||
| {liveBodyWarning ? ( | ||
| <p className="popup-live-body-warning" role="status"> |
There was a problem hiding this comment.
This is the only status today, so uniqueness holds. AccName is name-from-content only, and the new test queries the unnamed role. Add a stable name such as aria-label="Live body warning" and query that name so a second live region cannot steal the assertion.
| ); | ||
| await waitFor(() => expect(screen.getByText("The full body text.")).toBeInTheDocument()); | ||
| expect(screen.getByRole("status")).toHaveTextContent( | ||
| "This is the live body, not the version known at the 2026-01-12 analysis-run cutoff. The earlier text is not stored, so this popup does not invent it.", |
There was a problem hiding this comment.
This locks the honesty sentence. After the copy change, assert the compare-with-this-run action. Also walk Open post: Linked post after a marked open and assert the status is gone — selectPost without options already clears the flag, but no test covers that path.
| .popup-live-body-warning { | ||
| margin: 0.75rem 0 1rem; | ||
| padding: 0.65rem 0.75rem; | ||
| border-left: 3px solid #b45309; |
There was a problem hiding this comment.
New amber hex. --lw-font-size-meta already exists for 0.85rem. Add --lw-color-warning beside the existing --lw-* tokens and use it here. Do not install Storybook on this slice.
There was a problem hiding this comment.
Do not merge #162 at 296fa30.
This popup-warning increment is the right buyer next action, but it stacks on dirty #150 (b4e6d2b) against a stale #74 base. Current #74 is 69c035b (already v0.87.0 retention purge and tokens).
Use #176 (7e4a4b0) instead: write-clock marks plus this live-body popup status, rebased onto current #74 as v0.88.0. After make seed, open the Demo Corp lineage run, click Demo public post, and read the live-body status above the text. Demo private post and the home list stay quiet.
#167 still stacks on this dirty head. Rebase it onto #176 after #74, or close it in favor of a #176-based successor.
Queued or predecessor-head gates are non-passing. This automation cannot merge.
Sent by Cursor Automation: Fix Issues


Buyer gap
#150 marks analysis-run titles rewritten after the cutoff, but opening one still showed the live body with no popup honesty. After
make seed, Demo public post looked like reconstructed evidence.What the operator sees
Stacked on #150 (
feat/analysis-run-live-write-clock). Do not merge before #74.make seed, open Lineage reconstruction · Succeeded · Demo Corp, click Demo public post: the warning is above the live body.Boundaries
tepp_client. This write does not invent a theta.Tests
frontend/src/App.test.tsx— marked title shows the live-body status; unmarked run title and the home post list do not.Supersedes competing 0.87.0 drafts that invent later slices on a stale #74 base.