Add Memo set-bio action, Set Bio page controller, Set Bio React view,
account bio display, and acceptance step handlers. Includes unit tests.
By coder.
- Add unit tests to kill all mutation survivors in GetPostThread
(sort order, missing blockHeight/seen fallbacks, non-string txid).
- Add default-limit and falsy-pagination tests for the client page
controllers (ProfilePage, RecentFeedPage).
- Refresh mutation manifests and Gherkin acceptance mutation metadata.
- Write durable review report to docs/reviews/like-count-display-summary.md.
By architect.
- Reduce GetPostThread.buildThreadNode CRAP from 10 to 5 by extracting
fetchPostOrNull, loadChildTxids, and compareReplies helpers.
- Add like-count property tests (conservation, round-trip, pagination).
- Update post-height property test for the new likesDb requirement.
- Add client thread-page flatten property test and a small harness.
By refactorer.
- Add testable RecentFeedPage, ProfilePage, and ThreadPage controllers.
- Wire acceptance handlers for the like-count-display feature.
- Render like counts on the profile page with a read-only LikeButton.
- Add unit tests for the new display page services.
By coder.
- Update backlog: P1.1 read side is done; P1.2 client display is next.
- Update specifier handoff notes with current HEAD and next action.
By specifier.
- Wire likesDb into PostQuery and add buildLikeCountMap().
- Extend pagination helpers to attach like counts to post pages.
- Update ListRecentPosts, ListPostsByAddr, and GetPostThread to
return likeCount on every post / thread node.
- Add/extend unit tests and acceptance fixture for like counts.
By specifier.
- psf-memo-db/specs/like-counts.feature specifies likeCount on
/posts/recent, /posts/by/:addr, and /posts/:txid/thread.
- Dry-checked with gherkin-parser + gherkin-ir-dry-checker; zero findings.
By specifier.
- Document Cloudflare limitation and Wayback Machine protocol source.
- Audit existing indexer/DB handlers and mark partial vs missing features.
- Re-prioritize backlog into P0-P6 tiers.
- Suggest P1.1 like counts as next spec.
By specifier.
Architectural review of the refactorer's postHeights index work. Extract a
shared assemblePostPage helper and a ListUseCase base class to remove DRY
duplication in the post-list use cases. Build the gherkin-mutator runner
adapter for psf-memo-db and psf-memo-indexer. Add boundary and tie-break
tests to kill all surviving language mutations across the changed files
(post-query, pagination, list use cases, indexer post handler).
Mutation: all changed source files fully killed. DRY: clean. CRAP <= 6.
Soft Gherkin acceptance mutation documented survivors (see review report).
By architect.
Deduplicate the postHeights query iteration into a shared generator,
extract shared pagination parsing/enrichment, and extract the idempotent
create-if-missing write pattern. Reduces CRAP for the changed post-height
code to <=6 and removes duplicated parse/attach logic across the post list
use cases. Add property tests covering the postHeight key round-trip and
ordering invariants for both the DB and indexer, exposed via a separate
'property' command.
By refactorer.
Adds a postHeights LevelDB store written by the indexer and used by
psf-memo-db to paginate recent posts and posts-by-address without full
scans. Includes unit tests and Gherkin acceptance pipelines for both
psf-memo-indexer and psf-memo-db.
By coder.
- Move specifier-prompt.md to repo root and rewrite it for the monorepo.
- Move specs/feature-backlog.md to root specs/ and update with component scope.
- Add specs/README.md, psf-memo-indexer/specs/README.md, psf-memo-db/specs/README.md.
- Add swarmforge/constitution/articles/monorepo.prompt for shared monorepo rules.
- Update root README.md with repository layout, local dev commands, and SwarmForge info.
By specifier.