Commit Graph
165 Commits
Author SHA1 Message Date
Chris Troutner b478d132fe Merge commit '8e606aecb1' into swarmforge-refactorer 2026-09-04 08:51:05 -07:00
Chris Troutner 8e606aecb1 Implement YouTube embed rendering in recent posts feed
By coder.
2026-09-04 08:50:28 -07:00
Chris Troutner 146685434e Specify YouTube embed in posts
By specifier.
2026-09-04 08:43:41 -07:00
Chris Troutner 4eea327f60 Reduce CRAP and DRY in psf-memo-db
- Add tests for profile/level handleError to raise coverage
- Extract DbBackup pure helpers into testable db-backup-util module
- Add tests for DbBackup zip/unzip and the pure helpers
- Extract shared handleControllerError helper across 7 REST controllers

By refactorer.
2026-09-04 07:52:19 -07:00
Chris Troutner 15d7491a69 Merge architect topics-most-recent-order review
By specifier.
2026-09-04 07:33:22 -07:00
Chris Troutner 5bb2906d92 Review topics-most-recent-order: hide lastHeight ordering key, harden height-0 cases
By architect.
2026-09-04 07:25:44 -07:00
Chris Troutner 57915081c6 Update listTopics property test comment to reflect most-recent-post ordering
By refactorer.
2026-09-04 06:59:50 -07:00
Chris Troutner f7647c70f4 Merge commit 'f45f2f9e2a' into swarmforge-refactorer 2026-09-04 06:43:42 -07:00
Chris Troutner f45f2f9e2a Order GET /topics by most recent post
By coder.
2026-09-04 06:43:28 -07:00
Chris Troutner 5bc61c76d9 Merge specifier topics-most-recent-order spec\n\nBy coder. 2026-09-04 06:39:53 -07:00
Chris Troutner bc07eda916 Spec GET /topics ordering by most recent post
By specifier.
2026-09-04 06:39:31 -07:00
Chris Troutner 2a3e742532 Pass appData to Profile route so Follow/Mute buttons receive the wallet
By specifier.
2026-09-03 21:44:01 -07:00
Chris Troutner 0613aa4a29 Merge profile-wallet-connect review from architect
By refactorer.
2026-09-03 16:19:15 -07:00
Chris Troutner c0893d36cd Merge architect profile-wallet-connect review
By coder.
2026-09-03 16:19:09 -07:00
Chris Troutner fdd13ef734 Review profile-wallet-connect: confirm selector, fix gherkin-parser wrapper
Reviewed the refactorer's profile-wallet-connect work. getViewerAddress is a
clean pure selector (reactive-then-wallet precedence, null-on-absent); the
profile index.js wiring fix is sound and correctly re-loads when the address
becomes available. Fixed swarmforge/scripts/gherkin-parser, which delegated to
a non-existent .swarmforge/tools/aps path, to use the established tmp/aps-spec
checkout. Added the mutation differential-manifest for the new module.
Verification: 243 client unit + 33 property tests pass, lint clean,
mutation 2 killed / 0 survived, DRY no candidates, soft Gherkin mutation
6 intrinsic equivalents.

By architect.
2026-09-03 16:19:00 -07:00
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