Feature/cleanup and plaintiff damages#80
Conversation
The 643-line optimize-earth-page-context + optimize-earth-grounding cluster was scaffolded for an autonomous-task-generation agent loop that never landed in any code path. Every consumer of `CORE_PAGE_CONTEXT`, `buildActionFollowThroughRoots`, the growth/contact/system children, and `enrichTaskTreeWithManualGrounding` turned out to be... their own test files. Pure ceremony. Removed: - packages/web/src/lib/optimize-earth-page-context.ts (422 lines) - packages/web/src/lib/optimize-earth-grounding.server.ts (48 lines) - ...page-context.test.ts (120 lines) - ...grounding.server.test.ts (53 lines) - 12 unused `OPTIMIZE_EARTH_*` task-key constants + 5 builders from packages/db/src/task-keys.ts (~54 lines) If autonomous task generation ever becomes a real priority, the rebuild will start from the concrete inputs the campaign actually has at that moment, not from this stale scaffold. Also surfaces the Full Manual link in the War on Disease footer's "Learn Something" column — previously only the Optimitron variant exposed it. The active campaign site is `warondisease.org`; not having the manual on its way to readers from there was a gap. TODO.md updated to reflect PR #71 outcomes (managed-data sync done, dashboard simplified, plaintiff damages surface confirmed shipped, allowsUserSubtasks parked) and to add the planned post-vote forward email + email-screenshot visual review items. The /listen page on the manual returns 404 today (`https://manual.warondisease.org/listen` 404; `/podcast/` resolves but is a different surface). Not adding a nav link until the URL exists. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
LiveCounter rendered a real ticking value during the visual-regression spec, so every screenshot capture saw a different millisecond of the counter and Argos surfaced false-positive diffs on every page that embeds it (/employees, /presidents, signer rows, dashboards). The spec already supports `data-visual-mask="dynamic"` + the placeholder attribute — death-counter and money-counter both use it correctly. This component had a non-standard `data-volatile="..."` attribute that the spec doesn't recognize, so the mask never applied. Match the established pattern so screenshots capture a stable placeholder (`123,456` / `$123,456,789,012`) instead of live values. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The previous setup used `actions/upload-pages-artifact` + `actions/deploy-pages`, which atomically replaces the entire Pages site each deployment. Combined with the workflow's `rm -rf "$pages_root"`, every PR's CI run wiped every other PR's visual review URL — clicking the "Visual review" check on an older PR returned 404 the moment any other PR's CI finished. Switch to `peaceiris/actions-gh-pages@v4` with `keep_files: true`, writing to a long-lived `gh-pages` branch. Each PR's content lands at `pr-<N>/<short_sha>/` (the URL the commit status posts) AND at `pr-<N>/latest/` (a stable per-PR link). Other PRs' directories on the branch are preserved. The job's `contents` permission moves from `read` to `write` so the action can push to gh-pages. `pages: write` / `id-token: write` are removed — they were only needed by the old deploy-pages flow. One-time repo setup (manual): Settings → Pages → Source must be set to "Deploy from a branch" with branch `gh-pages`. The action creates the branch on its first successful run. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (9)
📝 WalkthroughWalkthroughThis PR consolidates multiple code cleanup and workflow updates: it refactors the visual review publishing pipeline to use per-PR gh-pages directories, removes deprecated optimize-earth autonomous-task modules and their associated task-key registry entries, stabilizes live-counter screenshots for visual regression testing, adds a new accountability task-key builder, updates task planning status, and wires a manual paper link into the site footer. ChangesVisual Review and Test Stabilization
Optimize-Earth System Cleanup
Accountability Task Key Registry
Documentation and Site Updates
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related issues
Possibly related PRs
Poem
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2531e8f317
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| data-visual-mask="dynamic" | ||
| data-visual-placeholder={ | ||
| mode === "currency" | ||
| ? VISUAL_REVIEW_CURRENCY_PLACEHOLDER | ||
| : VISUAL_REVIEW_INTEGER_PLACEHOLDER | ||
| } |
There was a problem hiding this comment.
Retain volatile marker on live counters
Add back a data-volatile attribute on this <span> (e.g., money/count) instead of replacing it entirely with visual-mask attrs. The copy-preview pipeline (packages/web/scripts/render-pages-to-markdown.ts, extractPage) only normalizes nodes selected by [data-volatile]; without that marker, live counter text is captured as wall-clock values, so page.logged-*.md outputs churn between runs and obscure real copy diffs.
Useful? React with 👍 / 👎.
Summary by CodeRabbit
New Features
Improvements
Chores