Commit Graph
350 Commits
Author SHA1 Message Date
Chris Troutner 2bd9af5a1b Merge commit '5c6bffd6de' into swarmforge-architect 2026-09-03 16:15:35 -07:00
Chris Troutner 68df72fcc6 Merge notifications property test review from architect
By refactorer.
2026-09-03 16:13:50 -07:00
Chris Troutner 5c6bffd6de Add getViewerAddress property tests for reactive precedence
Pin the profile wallet-address selector invariants over broad input
space: reactive-state precedence, wallet fallback, and null-on-absent.
CRAP (3.0), DRY, and mutation scan assessed; no split needed and no
manifests discarded.

By refactorer.
2026-09-03 16:13:15 -07:00
Chris Troutner c558027286 Merge architect notifications property-test review
By coder.
2026-09-03 16:10:35 -07:00
Chris Troutner 9cdc5941f0 Review notifications property tests: confirm reference oracle, run verification
Merged the refactorer's notifications-query property-test suite and reviewed
it architecturally. Property tests are well-placed in test/property/, reuse
the shared harness, and the independent buildExpected oracle traces 1:1
against the production aggregation/sort/pagination. No production source
changed. Verification: 39 property tests pass, 315 unit tests pass, lint
clean, mutation differential 0/0/0 (no regression), DRY no candidates,
soft Gherkin mutation 0 killed / 16 intrinsic equivalents.

By architect.
2026-09-03 16:10:07 -07:00
Chris Troutner 62af430e8e Merge profile wallet connect implementation from coder
By refactorer.
2026-09-03 16:08:13 -07:00
Chris Troutner c294617782 Fix profile page wallet address wiring so Follow button appears for other profiles
Use the reactive bchWalletState.cashAddress as the viewer address source
and include it in the profile load effect dependencies. Extract a small
wallet-address selector so the behavior is unit-testable.

By coder.
2026-09-03 16:07:48 -07:00
Chris Troutner cf09636a76 Merge commit '2704c2059d' into swarmforge-architect 2026-09-03 16:05:53 -07:00
Chris Troutner 2704c2059d Add notifications-query property tests for ordering and pagination
Pin the NotificationsQuery aggregation invariants over broad random
inputs: newest-first ordering with seen tie-break, global ordering, and
pagination conservation. Coverage, CRAP (max 6.0), DRY, and mutation
scan were assessed; all changed/new source files are well under the
100-site split threshold and mutation manifests are preserved.

By refactorer.
2026-09-03 16:04:36 -07:00
Chris Troutner b2756d2ead Merge specifier profile-wallet-connect briefing
By coder.
2026-09-03 16:03:34 -07:00
Chris Troutner 58dc9ac719 Merge notifications review refactor from architect
By refactorer.
2026-09-03 15:55:32 -07:00
Chris Troutner c9e0c294f8 Merge architect notifications refactor
By coder.
2026-09-03 15:54:55 -07:00
Chris Troutner edbdbc6019 Record architect merge in briefing
By specifier.
2026-09-03 14:28:45 -07:00
Chris Troutner d99eda3db4 Add startup bloat check for mutation build dirs
Record the tmp/acceptance and target/mutation-workers bloat that made
mutate4javascript worker copies many GB and mutation runs appear to hang.
Add a startup check that flags any of these dirs over 100MB so they are
cleaned before a mutation run.

By architect.
2026-09-03 14:23:38 -07:00
Chris Troutner fcb864b6b6 Merge commit 'cd7da1f696' into swarmforge-architect
By architect.
2026-09-03 14:11:45 -07:00
Chris Troutner 87ca402cae Review notifications refactor: extract shared getPostOrNull, add adapter unit suite
Extract the post-lookup-with-null helper into a shared module used by both
the notifications and post query adapters, removing duplication. Add a
dedicated NotificationsQuery unit suite (26 tests) and hardening tests that
kill the sort-comparator and followee-guard mutations. Refresh mutation
manifests via the approved tool. Document 5 intrinsic mutation equivalents
and 16 soft-Gherkin equivalents in the review summary.

By architect.
2026-09-03 14:10:54 -07:00
Chris Troutner 8592db3dbc Add gherkin-parser wrapper for APS Babashka task
By coder.
2026-09-03 09:34:51 -07:00
Chris Troutner cd7da1f696 Merge specifier commit 45882dc4aa into swarmforge-coder
By coder.
2026-09-03 06:55:43 -07:00
Chris Troutner 45882dc4aa Remove debug console.logs from profile page
By specifier.
2026-09-03 06:49:21 -07:00
Chris Troutner 4764edff78 Adding console.log for debugging 2026-09-03 06:40:11 -07:00
Chris Troutner cfa3d82782 Clear backlog; set direction to front-end improvements
By specifier.
2026-09-03 06:21:52 -07:00
Chris Troutner d3903fa2b4 Record notifications merge in briefing and backlog
By specifier.
2026-09-02 20:37:53 -07:00
Chris Troutner 45a2fc2579 Merge notifications feature from architect
By specifier.
2026-09-02 20:37:40 -07:00
Chris Troutner ab5254c469 Merge commit '5389660b76' into swarmforge-refactorer 2026-09-02 13:11:39 -07:00
Chris Troutner f1841b64a6 Refactor notifications: extract reply predicate, add manifests
Extract the reply-notification predicate from
_collectReplyNotifications into a _replyNotificationChild helper, moving
the txid-presence guard into the loop so both functions drop to CRAP 5.
Add mutation manifests for the new notifications-query, list-notifications,
and notifications-page modules via the approved tool.

By refactorer.
2026-09-02 13:11:29 -07:00
Chris Troutner 73ff53553f Merge following-feed review refactor from architect
By coder.
2026-09-02 13:02:01 -07:00
Chris Troutner 5389660b76 Review isFolloweePost refactor: confirm CRAP cut, refresh manifests
By architect.
2026-09-02 13:01:34 -07:00
Chris Troutner 9d63733166 Merge commit '5c95e4bf57' into swarmforge-refactorer 2026-09-02 12:55:04 -07:00
Chris Troutner 5c95e4bf57 Serialize notification aggregation to avoid concurrent LevelDB iterators
By coder.
2026-09-02 12:54:13 -07:00
Chris Troutner 1a7d2574ce Merge commit '8ee07fc35f' into swarmforge-refactorer 2026-09-02 12:53:28 -07:00
Chris Troutner 8ee07fc35f Implement Notifications read-only feature
Add psf-memo-db notifications query, use case, route, and tests.
Add psf-memo-client NotificationsPage service, React page, nav link,
route, and tests. Wire acceptance handlers for notifications.

By coder.
2026-09-02 12:53:02 -07:00
Chris Troutner 53ead58b9c Merge branch 'swarmforge-refactorer' into swarmforge-architect 2026-09-02 12:52:12 -07:00
Chris Troutner b85878a5d5 Refactor following-feed scan: extract isFolloweePost to cut CRAP
Extract the reply/viewer/membership predicate from
scanFollowingFeedTxidsAndCount into an isFolloweePost helper, reducing
the scan's cyclomatic complexity from 7 to 5 (CRAP 7.0 to 5.0) while
preserving behavior. Refresh the mutation manifest via the approved tool.

By refactorer.
2026-09-02 12:51:53 -07:00
Chris Troutner 843a90ec8c Record notifications handoff in briefing and backlog
By specifier.
2026-09-02 12:33:22 -07:00
Chris Troutner 297abf6389 Spec Notifications (P6.3)
Add Gherkin spec for the Notifications read-side feature: the psf-memo-db
API aggregates replies to the viewer's posts, likes on the viewer's posts,
and follows of the viewer into a single newest-first, paginated list; the
client renders a Notifications page. Only actions by other people on the
viewer's own content are shown.

By specifier.
2026-09-02 12:32:57 -07:00
Chris Troutner c5a609b3e7 Record following-feed hardening merge in briefing and backlog
By specifier.
2026-09-02 12:31:26 -07:00
Chris Troutner 4422372c51 Merge following-feed hardening from architect
Merge the architect's second-pass hardening of the Following feed (P6.6):
extract parseRequiredString shared by the addr/room-scoped list use cases,
add client and DB composition-root hardening tests, and record the review
summary and architect process notes.

By specifier.
2026-09-02 12:31:16 -07:00
Chris Troutner d8639dc04c Point architect startup at its process notes
By architect.
2026-09-02 12:27:00 -07:00
Chris Troutner b4848c887e Rename process notes to architect-scoped and add role guard
By architect.
2026-09-02 12:25:24 -07:00
Chris Troutner fe75bc0dbd Document review-summary force-add exception in process notes
By architect.
2026-09-02 12:23:44 -07:00
Chris Troutner 4f6b09e011 Commit following-feed review summary (force-add; docs/ is gitignored)
By architect.
2026-09-02 12:23:38 -07:00
Chris Troutner 4bf99e7db0 Review and harden following feed: kill survivors, DRY parseRequiredString
- Extract parseRequiredString into pagination.js, shared by the three list
  use cases, removing duplicated required-field guards.
- Add client hardening tests (emptyBecauseNoFollows init, canLoadMore null
  guard) and a DB composition-root test for UseCases.start.
- Refresh mutation manifests and Gherkin acceptance-mutation stamp.

By architect.
2026-09-02 12:20:37 -07:00
Chris Troutner 9b482c4ae0 Mark Following feed (P6.6) shipped; update briefing
By specifier.
2026-08-29 13:01:25 -07:00
Chris Troutner 62d6297197 Merge Following feed (P6.6) from refactorer 2026-08-29 10:44:54 -07:00
Chris Troutner d606ee6608 Refactor following feed: reduce CRAP/DRY, add property coverage
- Extract shared runUseCase and listPostsForAddr in the posts controller to
  remove the duplicated try/catch error wrapper (CRAP 14.7 -> 4.0) and DRY
  the addr-scoped handlers.
- Add error-path unit tests for the posts controller covering both branches
  of handleError.
- Consolidate ListFollowingFeed onto the shared ListUseCase constructor to
  remove constructor duplication across list use cases.
- Add property tests for scanFollowingFeedTxidsAndCount (ordering, reply/
  viewer/membership exclusion, pagination conservation) and for the client
  FollowingFeedPage.load state invariants.

By refactorer.
2026-08-29 10:44:28 -07:00
Chris Troutner 9fff348081 Merge branch 'swarmforge-coder' into swarmforge-refactorer 2026-08-29 10:31:33 -07:00
Chris Troutner 6d1bd148e9 Implement Following feed
Add psf-memo-db endpoint GET /posts/following/:addr that returns top-level
posts from followed profiles, excluding replies and the viewer's own posts,
newest first and paginated. Add PostQuery.scanFollowingFeedTxidsAndCount,
ListFollowingFeed use case, and REST controller/router wiring.

Add psf-memo-client Following feed page, route /posts/following, nav link,
MemoDb.getFollowingFeed, and FollowingFeedPage service. Update acceptance
handlers for the new following-feed.feature.

By coder.
2026-08-29 10:30:54 -07:00
Chris Troutner 9f5357ba29 Record following-feed handoff in backlog and briefing
By specifier.
2026-08-29 10:22:14 -07:00
Chris Troutner 6d94372438 Spec Following feed (P6.6)
By specifier.
2026-08-29 10:21:28 -07:00
Chris Troutner 96956f3ef3 Mark Search (P6.4) shipped; update briefing
By specifier.
2026-08-29 09:25:52 -07:00