From 42af1f7d964c54c82b68936a7ea36a29d8f066cf Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Fri, 18 Sep 2026 07:48:14 -0700 Subject: [PATCH] Record topics-table-layout completion in backlog and briefing By specifier. --- specifier-prompt.md | 24 ++++++++++++------------ specs/feature-backlog.md | 23 +++++++++++++++-------- 2 files changed, 27 insertions(+), 20 deletions(-) diff --git a/specifier-prompt.md b/specifier-prompt.md index f985590..6307252 100644 --- a/specifier-prompt.md +++ b/specifier-prompt.md @@ -603,18 +603,18 @@ At the end of each session, update this file: - Note the current `master` HEAD commit. - State the next feature to work on. -Current `master` HEAD: `af54b0e` (`topic-metadata` merged from -`swarmforge-architect`). The three verification records name the architect code -review commit `3f05488`; the only later commit (`af54b0e`) added `docs/` -(records and summary), so the records are valid for the merged tree. This task -added `lastSeen` and `followerCount` to `topicSummaries`, exposed them from -`GET /topics`, rebuilt them in the backfill, and rendered four columns on the -client topics page. Records: -`docs/reviews/topic-metadata-verification.json` (indexer), -`-db-verification.json`, `-client-verification.json`. The specifier merged the -branch and ran only the merged features' acceptance suites (indexer 12/12, db -14/14, client 9/9) as the independent check. Run `swarmforge/scripts/state.sh` -to refresh these HEAD lines. +Current `master` HEAD: `1e58b5b` (`topics-table-layout` merged from +`swarmforge-architect`). The verification record names the architect code +review commit `d1f0f76`; the only later commit (`1e58b5b`) added `docs/` +(record and summary), so the record is valid for the merged tree. This task +replaced the topics page flexbox rows with a react-bootstrap `Table` driven by +a pure `buildTopicsTable` view model +(`psf-memo-client/src/services/topics-table.js`). Record: +`docs/reviews/topics-table-layout-verification.json` (client). The specifier +merged the branch and ran only the merged feature's acceptance test (client +5/5) as the independent check; soft Gherkin mutation was 16/16 killed and +language mutation 2/2 killed. Run `swarmforge/scripts/state.sh` to refresh +these HEAD lines. Next action: **TBD** — ask the user for the next feature. Current direction is front-end improvements to `psf-memo-client` (UI/UX polish, accessibility, performance, responsiveness, state handling, error surfacing). See diff --git a/specs/feature-backlog.md b/specs/feature-backlog.md index db54fb5..6af1b5a 100644 --- a/specs/feature-backlog.md +++ b/specs/feature-backlog.md @@ -31,17 +31,24 @@ focus is **front-end improvements** to `psf-memo-client` (the React SPA). ## In progress -- **Topics table layout (spec approved):** replace the topics page's flexbox - list rows with a react-bootstrap `Table` so the four columns line up. The - header labels the columns (`Topic`, `Most recent post`, `Posts`, `Followers`), - each row's cells carry the topic name (`#room`), relative-time label, post - count, and follower count in that order, rows link to the topic feed, and the - table scrolls horizontally on narrow screens. Client-only rendering. Spec: - `psf-memo-client/specs/topics-table-layout.feature`. Task - `topics-table-layout`; spec committed, handed off to coder. +_(none)_ ## Recently completed +- **Topics table layout (2026-09-18):** the topics page now renders topics in + a react-bootstrap `Table`, so the four columns line up. A pure + `buildTopicsTable` view model (`psf-memo-client/src/services/topics-table.js`) + supplies the header labels (`Topic`, `Most recent post`, `Posts`, + `Followers`), each row's cells in fixed order (`#room`, relative time, + `N posts`, `N followers`), the topic-feed link, and the `table-responsive` + horizontal-scroll wrapper; the React `Topics` component is a thin shell over + it. Client-only rendering. Spec: + `psf-memo-client/specs/topics-table-layout.feature`. Merged to `master` at + `1e58b5b` (review commit `d1f0f76`; record + `docs/reviews/topics-table-layout-verification.json`). Independent acceptance + check: client 5/5. Soft Gherkin mutation 16/16 killed; language mutation 2/2 + killed. + - **Topic metadata columns (2026-09-18):** the `/topics` page now shows four columns — topic name, time since the most recent post, post count, and follower count. The indexer writes `lastSeen` (epoch-ms of the newest room