## Implementation Plan: Fix Comment Permalinks on Feed/Card Pages **Objective** Restore correct share‑button URLs for comments rendered in feed/card listings. No backend, JS, or CSS changes required — only four template files need a single‑line edit each. ### Changes 1. **`templates/_post_card.html` line ~47** Replace `{{ render_comment(c, 0) }}` with `{{ render_comment(c, 0, resolve_object_url("post", item.post["uid"])) }}` 2. **`templates/gists.html` line ~77** Replace `{{ render_comment(c, 0) }}` with `{{ render_comment(c, 0, resolve_object_url("gist", item.gist["uid"])) }}` 3. **`templates/news.html` line ~53** Replace `{{ render_comment(c, 0) }}` with `{{ render_comment(c, 0, resolve_object_url("news", item.article["uid"])) }}` 4. **`templates/projects.html` line ~89** Replace `{{ render_comment(c, 0) }}` with `{{ render_comment(c, 0, resolve_object_url("project", project["uid"])) }}` - `resolve_object_url` is already accessible as a Jinja global — no imports needed. - The `parent_url` argument is then correctly wired to the `data-share` attribute in `_comment.html`. ### Testing & Validation - Run the existing test suite: `pip install -e '.[dev]' -q && make test-unit` - Run the linter: `pip install -q ruff && ruff check .` - All existing tests must pass; lint must produce zero errors. ### Definition of Done - [ ] `templates/_post_card.html` updated with `parent_url` argument - [ ] `templates/gists.html` updated with `parent_url` argument - [ ] `templates/news.html` updated with `parent_url` argument - [ ] `templates/projects.html` updated with `parent_url` argument - [ ] Unit tests pass: `make test-unit` exits 0 with no failures - [ ] Lint checks pass: `ruff check .` exits 0 - [ ] No new compilation or syntax errors in any changed file