Review recent profile identity: record mutation manifests and acceptance stamps

Architectural review of the recent-profile-identity task found no structural
changes needed: the DB join lives in the ProfileQuery adapter behind the
ListRecentProfiles use case and controller, and the client account cell follows
the established CommonJS + acceptance-render-adapter pattern for DOM-free
testing. Committing the tool-written mutate4javascript manifests and the
gherkin-mutator mutation stamps/manifests produced by the verification run.

By architect.
This commit is contained in:
Chris Troutner
2026-09-20 13:09:01 -07:00
parent 63107855a2
commit 7973e2dcdf
7 changed files with 24 additions and 2 deletions
@@ -1,3 +1,8 @@
# mutation-stamp: sha256=84388b1856157ba554eb1a1fd40c248e5627fac461cbf32ef993ec6d056990ba
# acceptance-mutation-manifest-begin
# {"version":1,"tested_at":"2026-09-20T20:08:48.255064334Z","feature_name":"Recent Profile Display","feature_path":"/home/trout/work/psf-memo/.worktrees/architect/psf-memo-client/specs/recent-profile-display.feature","background_hash":"da06b9f905acb9a781acdf0c6ebd291ba14806b33c2a0219b0e324be93cca860","implementation_hash":"unknown","scenarios":[{"index":0,"name":"Recent Profile Display - 1 the account column shows each profile's display name and avatar","scenario_hash":"051989028f7dc8aa3bcbc2791abd8077b79a96cef19c0e305808ae8895f271c1","mutation_count":6,"result":{"Total":6,"Killed":6,"Survived":0,"Errors":0},"tested_at":"2026-09-20T20:08:48.255064334Z"},{"index":1,"name":"Recent Profile Display - 2 the account avatar and display name link to the profile","scenario_hash":"6bfc6fd8d7a183e1e51f4aef3a116f9169d54165046f069865f96e92d317354c","mutation_count":4,"result":{"Total":4,"Killed":4,"Survived":0,"Errors":0},"tested_at":"2026-09-20T20:08:48.255064334Z"}]}
# acceptance-mutation-manifest-end
# Scenarios: Recent Profile Display - 1, Recent Profile Display - 2, Recent Profile Display - 3, Recent Profile Display - 4, Recent Profile Display - 5
#
# The /profile/recent page renders each recent profile in a table. A new
@@ -72,3 +72,7 @@ function RecentProfileAccount ({ account, onProfileClick }) {
module.exports = RecentProfileAccount
module.exports.RecentProfileAvatar = RecentProfileAvatar
// mutate4javascript-manifest-begin
// {"version":1,"tested_at":"2026-09-20T20:03:40.156Z","module_hash":"273e3b8ffe62e9652c879d86bb4945960a317d1be06756e26f847955bdc2f2a1","functions":[{"id":"func/RecentProfileAvatar","name":"RecentProfileAvatar","line":20,"end_line":36,"hash":"29e36fe30fccd9b49d07e10e6a82788fc25ed69ce9c09331e621788265f8294d"},{"id":"func/RecentProfileAccount","name":"RecentProfileAccount","line":38,"end_line":71,"hash":"29f77d9b21812ee7c11fe94c8b6661e68e2e2cf48fb845f6714f35bdfd0d391b"}]}
// mutate4javascript-manifest-end
@@ -56,3 +56,7 @@ module.exports = {
buildRecentProfileAccount,
buildRecentProfilesTable
}
// mutate4javascript-manifest-begin
// {"version":1,"tested_at":"2026-09-20T20:04:31.617Z","module_hash":"e57f7553060407dc4472d276c952224eebc9af601e3af89fe9823521772b867d","functions":[{"id":"func/profilePath","name":"profilePath","line":20,"end_line":22,"hash":"600b1f8066ecb8274c17a26c6ac2c753471c3ee4efc2de69558c6811a070a82c"},{"id":"func/accountDisplayName","name":"accountDisplayName","line":26,"end_line":28,"hash":"f9a24ca7336983aa345213b6c3e2e6d30add7ace5d5bcbf415d933a86f4c6271"},{"id":"func/buildRecentProfileAccount","name":"buildRecentProfileAccount","line":31,"end_line":38,"hash":"0d5ddd089881bcf323bcd3c37b2a69e4c3fad99b75845c35f8fc75cf7e2474c5"},{"id":"func/buildRecentProfilesTable","name":"buildRecentProfilesTable","line":41,"end_line":49,"hash":"8a97cc5d5925c43b411ccb2c10160648d63198ca22d861e6016fc22326786249"}]}
// mutate4javascript-manifest-end