{ "startedAt": "2026-10-31T12:49:35", "finishedAt": "2026-10-31T12:49:37", "sessionId": "Codex-20261031T142951Z-plugin-session", "requestId": "req-20261031T174556Z-cap10-shrink-test-extension", "parentSessionId": "Codex-20261027T100516Z-plugin-session", "parentRequestId": "req-20261031T171140Z-cap10-release", "binding": "mock", "phase": "POST-implementation test extension at current MAX10; not original preimplementation mock-first evidence", "revision": "0e8d31a638e4db63e96302ca60fa7512c6accc96", "dirtySource": true, "executable": "npm", "arguments": [ "exec", "vitest", "--", "run", "tests/application/capacity-policy.test.ts", "tests/application/legacy-match-capacity.test.ts", "tests/application/capacity-public.test.ts", "tests/web/capacity-ui.test.ts", "--maxWorkers=1", "--reporter=default", "--reporter=junit", "--outputFile.junit=\u003Crepo\u003E/docs/evidence/release10/entry-shrink-extension-20261031T124626/mock/unit.xml" ], "exitCode": 0, "cases": 42, "failed": 0, "skipped": 0, "negativeControls": 14, "caseNames": [ "tests/application/capacity-policy.test.ts|CAP10 requirements: FR-ROOMACCESS-001 AC-01/02/24 and stable CAP15-LEGACY; TR-ROOM-CODES-010 > admits each integer capacity 2 through …", "tests/application/capacity-policy.test.ts|CAP10 requirements: FR-ROOMACCESS-001 AC-01/02/24 and stable CAP15-LEGACY; TR-ROOM-CODES-010 > admits the tenth player but rejects an …", "tests/application/capacity-policy.test.ts|CAP10 requirements: FR-ROOMACCESS-001 AC-01/02/24 and stable CAP15-LEGACY; TR-ROOM-CODES-010 > blocks legacy11,15,20,25 countdowns wit…", "tests/application/capacity-policy.test.ts|CAP10 requirements: FR-ROOMACCESS-001 AC-01/02/24 and stable CAP15-LEGACY; TR-ROOM-CODES-010 > draws the anchor from both inclusive en…", "tests/application/capacity-policy.test.ts|CAP10 requirements: FR-ROOMACCESS-001 AC-01/02/24 and stable CAP15-LEGACY; TR-ROOM-CODES-010 > keeps Leave functional in legacy11,15,2…", "tests/application/capacity-policy.test.ts|CAP10 requirements: FR-ROOMACCESS-001 AC-01/02/24 and stable CAP15-LEGACY; TR-ROOM-CODES-010 > preserves legacy11,15,20,25 running roo…", "tests/application/capacity-policy.test.ts|CAP10 requirements: FR-ROOMACCESS-001 AC-01/02/24 and stable CAP15-LEGACY; TR-ROOM-CODES-010 > preserves legacy11,15,20,25 waiting mem…", "tests/application/capacity-policy.test.ts|CAP10 requirements: FR-ROOMACCESS-001 AC-01/02/24 and stable CAP15-LEGACY; TR-ROOM-CODES-010 > preserves the separate twenty-five-obse…", "tests/application/capacity-policy.test.ts|CAP10 requirements: FR-ROOMACCESS-001 AC-01/02/24 and stable CAP15-LEGACY; TR-ROOM-CODES-010 > projects the effective ten-seat waiting…", "tests/application/capacity-policy.test.ts|CAP10 requirements: FR-ROOMACCESS-001 AC-01/02/24 and stable CAP15-LEGACY; TR-ROOM-CODES-010 > rejects 1,11,15,16,20,25,26 and malform…", "tests/application/capacity-policy.test.ts|CAP10 requirements: FR-ROOMACCESS-001 AC-01/02/24 and stable CAP15-LEGACY; TR-ROOM-CODES-010 > rejects every new match above ten befor…", "tests/application/capacity-policy.test.ts|CAP10 requirements: FR-ROOMACCESS-001 AC-01/02/24 and stable CAP15-LEGACY; TR-ROOM-CODES-010 > rejects wrong wrong-block-after-shrink against the same shrink-to-limit assertions", "tests/application/capacity-policy.test.ts|CAP10 requirements: FR-ROOMACCESS-001 AC-01/02/24 and stable CAP15-LEGACY; TR-ROOM-CODES-010 > rejects wrong wrong-legacy against the same countdown assertions", "tests/application/capacity-policy.test.ts|CAP10 requirements: FR-ROOMACCESS-001 AC-01/02/24 and stable CAP15-LEGACY; TR-ROOM-CODES-010 > rejects wrong wrong-legacy against the same waiting assertions", "tests/application/capacity-policy.test.ts|CAP10 requirements: FR-ROOMACCESS-001 AC-01/02/24 and stable CAP15-LEGACY; TR-ROOM-CODES-010 > rejects wrong wrong-observer-limit against the same observers assertions", "tests/application/capacity-policy.test.ts|CAP10 requirements: FR-ROOMACCESS-001 AC-01/02/24 and stable CAP15-LEGACY; TR-ROOM-CODES-010 > rejects wrong wrong-player-limit against the same invalid assertions", "tests/application/capacity-policy.test.ts|CAP10 requirements: FR-ROOMACCESS-001 AC-01/02/24 and stable CAP15-LEGACY; TR-ROOM-CODES-010 > unblocks legacy11 after voluntary Leave…", "tests/application/capacity-public.test.ts|CAP10 public discovery hides full or oversized legacy rooms and advertises effective free seats", "tests/application/capacity-public.test.ts|CAP10 publishes the same ten-player rules with release2.8 metadata", "tests/application/capacity-public.test.ts|rejects wrong fifteen-player public rules using the same publication assertions", "tests/application/capacity-public.test.ts|rejects wrong oversized discovery using the same public lobby assertions", "tests/application/legacy-match-capacity.test.ts|CAP10 stable CAP15-LEGACY preserves all 11 historical players and completes eight rounds", "tests/application/legacy-match-capacity.test.ts|CAP10 stable CAP15-LEGACY preserves all 15 historical players and completes eight rounds", "tests/application/legacy-match-capacity.test.ts|CAP10 stable CAP15-LEGACY preserves all 20 historical players and completes eight rounds", "tests/application/legacy-match-capacity.test.ts|CAP10 stable CAP15-LEGACY preserves all 25 historical players and completes eight rounds", "tests/application/legacy-match-capacity.test.ts|rejects wrong legacy truncation of 11 historical players using the same completion assertions", "tests/application/legacy-match-capacity.test.ts|rejects wrong legacy truncation of 15 historical players using the same completion assertions", "tests/application/legacy-match-capacity.test.ts|rejects wrong legacy truncation of 20 historical players using the same completion assertions", "tests/application/legacy-match-capacity.test.ts|rejects wrong legacy truncation of 25 historical players using the same completion assertions", "tests/web/capacity-ui.test.ts|CAP10 creation sends ten and leaves the observer setting separate", "tests/web/capacity-ui.test.ts|CAP10 exposes a 2 through 10 creation input, preserves default4 and browser validation blocks11/15/16/25", "tests/web/capacity-ui.test.ts|CAP10 legacy11 countdown explains the block and retains Leave without readiness", "tests/web/capacity-ui.test.ts|CAP10 legacy11 waiting explains the block and retains Leave without readiness", "tests/web/capacity-ui.test.ts|CAP10 legacy15 countdown explains the block and retains Leave without readiness", "tests/web/capacity-ui.test.ts|CAP10 legacy15 waiting explains the block and retains Leave without readiness", "tests/web/capacity-ui.test.ts|CAP10 legacy20 countdown explains the block and retains Leave without readiness", "tests/web/capacity-ui.test.ts|CAP10 legacy20 waiting explains the block and retains Leave without readiness", "tests/web/capacity-ui.test.ts|CAP10 legacy25 countdown explains the block and retains Leave without readiness", "tests/web/capacity-ui.test.ts|CAP10 legacy25 waiting explains the block and retains Leave without readiness", "tests/web/capacity-ui.test.ts|rejects wrong fifteen-player UI using the same creation assertions", "tests/web/capacity-ui.test.ts|rejects wrong legacy countdown UI using the same notice/Leave/readiness assertions", "tests/web/capacity-ui.test.ts|rejects wrong legacy waiting UI using the same notice/Leave/readiness assertions" ], "testPins": [ { "path": "tests/application/capacity-policy.test.ts", "sha256": "2D9F5505B7CB8404DA11D491AA6BCA28A411D1089E86EEC8DCD5B0880EAC530A" }, { "path": "tests/application/legacy-match-capacity.test.ts", "sha256": "DEA38A178D6845382DEB853714057BBCA9A8C5B860BE16838410DD7B597BADC9" }, { "path": "tests/application/capacity-public.test.ts", "sha256": "D1A2ED4954A17341FE1D2C9C0690813F5051EBFD6EEB774E91D704249FDF5B28" }, { "path": "tests/web/capacity-ui.test.ts", "sha256": "AB6F5FAE3A0945BF78D5AF2DFF09555A128E9D483317888AF2536DEFC21163D8" }, { "path": "tests/application/capacity-contract-fixture.ts", "sha256": "FA3FC88BF3A9DD7C274A842C32CA3B70CF7045DB68D7A395E4C0F5C2DE10121F" }, { "path": "tests/web/capacity-ui-fixture.ts", "sha256": "F385A85378EDD91142DFE5555607739B5E2D9F58CB03C24CDC37BE8277154BF3" } ], "unchangedCurrentProductPins": [ { "path": "src/app/admin/layout.tsx", "sha256": "3CE8803E34C610B83FB5862B7F88184B8743CF2F6524C8D5A9503C95BAE49D0B" }, { "path": "src/app/admin/manifest.webmanifest/route.ts", "sha256": "F278A1ED8C888000BF3F58AD9FB243212DD71072FA8A3264E435D4D2E7A333FF" }, { "path": "src/app/admin/page.tsx", "sha256": "74FB6FEFA04BCBA0B0AFF3AE0D7020E5BAF0F2AA7DB9F9DC24F3A3F1FDBA945E" }, { "path": "src/app/admin/users/page.tsx", "sha256": "E32EFB29C39D8A17F7084D69B239537E603339EBDCE3D9C36EBFE38C8D4700CA" }, { "path": "src/app/admin/words/page.tsx", "sha256": "62BA4FCB36864FCF39D842185699FF73C726B66CBBB54B5EC3B558A2935DA8B8" }, { "path": "src/app/api/admin/session/route.ts", "sha256": "0F5BA3EA2E82A81B3A873ACB67918304016A14F9D8ABDD5C5877601C94532BBE" }, { "path": "src/app/api/admin/users/route.ts", "sha256": "77F7A34708838E101559A29BC93075506835B5DFA81ED7388F37B55B941908FE" }, { "path": "src/app/api/auth/callback/route.ts", "sha256": "DE439C7E9CF843D03EA658A2AE1DD320403F10AD652678181323C43690AEB50A" }, { "path": "src/app/api/auth/github/callback/route.ts", "sha256": "E286D508D0A51217C0C94CACDDF103C1BCB023542EF4B6815F6888F0B6368C4B" }, { "path": "src/app/api/auth/github/login/route.ts", "sha256": "03C04DB39FA0DC25E5D6C4A55164932EB8BCFC7B4E17734758C201D967D68D37" }, { "path": "src/app/api/auth/login/route.ts", "sha256": "EC5DA377A363C0B555734D3ABEA78192E93A484C7077CE89E80B617051CB7728" }, { "path": "src/app/api/content/route.ts", "sha256": "C57373CBC29D5A09F110F39608C1BC10BD201E042E09211F63C0BC1FA4791DD3" }, { "path": "src/app/api/internal/deadlines/route.ts", "sha256": "28C5D19E19A07CE648E776557DA1C78155B6AE39A8BCC92CE23977544C29056E" }, { "path": "src/app/api/landing/route.ts", "sha256": "D41612A6842F9920C0339AB1DC35992EC24DF56AB4739B695198374AA88B2DF5" }, { "path": "src/app/api/profile/route.ts", "sha256": "C48FFFD1BD3C19BAB9F778EE3F466ACC189CF454C981E6F142BD7A9E05B9463C" }, { "path": "src/app/api/realtime/route.ts", "sha256": "8FEA2BF272D582C7FC17933E2D35B92B38534C4C6AF27090FBE1DE910047FB1E" }, { "path": "src/app/api/rooms/[reference]/lobby/route.ts", "sha256": "42A952A7D2D548E07B751B0DB4CE1109A126E6FA7F58894390A750759E1603DB" }, { "path": "src/app/api/rooms/[reference]/match/route.ts", "sha256": "1994448A577C0DE063882050324AB1BD56F2EF5CADFBCEB4E8A2564E2EDCBB41" }, { "path": "src/app/api/rooms/[reference]/reactions/route.ts", "sha256": "725D0F9BC3DA3238902118F2DEB1063AF7E98D3E16D1D98AE25B1C269ACC4788" }, { "path": "src/app/api/rooms/[reference]/route.ts", "sha256": "668E6C5EFD4854D66D81883BCEEAEBFEDADE97D9983CBDEDC3B9D70050AA7192" }, { "path": "src/app/api/rooms/route.ts", "sha256": "1D958C836E6C727CA205FCC84CA51252ECAEF3B1865EB537B9FAD9B7FE46153B" }, { "path": "src/app/api/session/route.ts", "sha256": "1E37D7AB0033C263FAB38F0FEF1AFCE21E76CFECC46BC9EFC0BADB1D5CA29137" }, { "path": "src/app/content/page.tsx", "sha256": "4E7F8C198CFED151F20B5090474A059D60B4CEA6F5E863D402BE183CEECB4F53" }, { "path": "src/app/globals.css", "sha256": "E2B47C325F9F22D6C98A840878856F28EB40D8A29F7B1006D4F39559EB7CD3B7" }, { "path": "src/app/layout.tsx", "sha256": "07418B6A3E3729F994BD39EC5BA590DE45EE8F6923DC79A60F06BB1186BAD318" }, { "path": "src/app/page.tsx", "sha256": "FAF99C6E22D033E624849213F9B02D95C7F17BA7D01087340CEBAF7A7B7B3104" }, { "path": "src/app/play/page.tsx", "sha256": "84CB4B9D59F768D64D3E5B0C9D183416B9D91393DF8440F04E1276709A1A4F16" }, { "path": "src/app/rooms/[reference]/page.tsx", "sha256": "0BCD84F59681454431CF149AA19E07EF6A964B68E98A1D94A6643CDC34F9BEB2" }, { "path": "src/application/access.ts", "sha256": "FC50B2754FE12DD51DE1D5E546F6206184AF9FA480DC728CB2402CD8053AEA7E" }, { "path": "src/application/command.ts", "sha256": "36A421CFA65CF9A302FD8330402DE4A11B8244EAC17D2AAB1423D87191766241" }, { "path": "src/application/content.ts", "sha256": "DCE7440F073CB81EC247444756913F59E62512F8980B6B6A5328B1C7AA20417A" }, { "path": "src/application/identity.ts", "sha256": "F9922A091B03EC0514129AAC858ADC36EC2609686EA1F56DDDBEBE056F251907" }, { "path": "src/application/index.ts", "sha256": "8E609BB71C20B858C77F0E9F90BB1319DB8477B13F9F965F1A1E18524BF50881" }, { "path": "src/application/lobby.ts", "sha256": "AE3FDD03FD5CA2BEBB9F3CCAF835ED414F6A9BDCA273A538ADF2DE4C1D06ADB8" }, { "path": "src/application/matches.ts", "sha256": "9E059792D487D23510A375D123A913ECCB78B39B4A31B3AE01ADA178F8E68593" }, { "path": "src/application/outbox.ts", "sha256": "CE760225B3BE774449100C2AA9B7196B7D6B25C35E692A26C52D55CF69A111E7" }, { "path": "src/application/ports.ts", "sha256": "2A7329CD454EACA055F1F3B8198285D033C423EBC1F99D94F2591E0A3805B35D" }, { "path": "src/application/public-pages.ts", "sha256": "E208840CD4247ADD3F75488328FD811E887B82104EF103339EAE00A73AD491C6" }, { "path": "src/application/public-projections.ts", "sha256": "1F8D0DF404ED79EE9AF31B1D1F81B044D7B99046FC0F6C16732FC0F23DE81CCB" }, { "path": "src/application/public-service.ts", "sha256": "85DF1EDD3AA690EEFD975762CE5D755446BA7C9CA13FB271569DD10EEF1E97B5" }, { "path": "src/application/reactions.ts", "sha256": "2BE7F16ED5B63D6145793E5B11C69037476BE7742AA076AEEED5BAC58E360D36" }, { "path": "src/application/rooms.ts", "sha256": "7AA01A3F04EFE01AE225C7DE0D77D2378DB7B278A66CA4070C31CA068273A6D2" }, { "path": "src/domain/access.ts", "sha256": "BCBE76A2DF2CE501910344813F012FC16EA4EF08187DB9BB2E35BABA416DD407" }, { "path": "src/domain/catalog.ts", "sha256": "770963E99A5349CFF7D775F2E68C1F675BC55CF89ACA9EA21FBA00864487945F" }, { "path": "src/domain/content.ts", "sha256": "96415D3568DE91769D2C86BA5974B4D1564B1544B068316EC2905E1BBA3F9670" }, { "path": "src/domain/index.ts", "sha256": "8E609BB71C20B858C77F0E9F90BB1319DB8477B13F9F965F1A1E18524BF50881" }, { "path": "src/domain/lobby.ts", "sha256": "D714FBEAED05C62C103DFCDDAA9931C31CDDD4D9A602BD92B73794ADCB9CC3D8" }, { "path": "src/domain/match.ts", "sha256": "4F92070120E3767042F9E99225D48E30FA24B138EAC0FCD20656D7C9D32B70C3" }, { "path": "src/domain/model.ts", "sha256": "203F1B0DD77A9362638F271706CBE4936363C3CF751831434CEF2FE44B54B271" }, { "path": "src/domain/reactions.ts", "sha256": "526F718BCAF3643D16D7574B3F2401C650E727D5E5064D50492F4E908666E89E" }, { "path": "src/domain/result.ts", "sha256": "4F133D2F343B6571A189CC613346AA9C671FC3E7F17D15422B94E7F6EEA81961" }, { "path": "src/domain/rooms.ts", "sha256": "AF12AB5C29E1EDF8797AB965ADFA6B4215856314BFA944D35443DB81729023CB" }, { "path": "src/domain/unicode-casefold.json", "sha256": "B3BFA66E59F7D093016882E4A946A1BBD2593C8C2C22607B55409E68AB65F0C2" }, { "path": "src/infrastructure/access-repository.ts", "sha256": "92E06A2FCFC134A59FC3F502CB3CA6129C85507E7A094A374BC0DBA03817B47F" }, { "path": "src/infrastructure/catalog-repository.ts", "sha256": "0249D4EFFEB0EAAA1FF100F1DCD243A93CFEE67D20E5632A03374A84795FDD56" }, { "path": "src/infrastructure/catalog-seed.json", "sha256": "CC2A2F271AE5EA9064AF4ACF68ED00A6C92D4B91C73AB6EBFB26C3B0619F8E48" }, { "path": "src/infrastructure/content-repository.ts", "sha256": "25D99B92458F5CAB5E20B0BEB6B6CB6755F2AA423BA01411123DE9FC7DA283B0" }, { "path": "src/infrastructure/deadlines.ts", "sha256": "9F796AF3D200AF2F5F1E6F2C7D1F5498B146D753799C939DF07295D81674BF6B" }, { "path": "src/infrastructure/github-admin.ts", "sha256": "A67343C9DCCA915DEAD4A30222F1DF1DD81FC0A51DBAD856B5C1FEDC6DB196B5" }, { "path": "src/infrastructure/hosting/001_scheduler.sql", "sha256": "BB6B22FEC2469E3D662EAC01E39826367B6432FB845FF1562014812CA1F08585" }, { "path": "src/infrastructure/hosting/002_realtime_policy.sql", "sha256": "0D64CEFC30FE90E133A337FD2BB0AC20E6BF332C05C1E3CBE1601513CFB71CAB" }, { "path": "src/infrastructure/identity-repository.ts", "sha256": "49003C1D7FA6CD9451466B9F7D9D211CE68FB968B7BDB58C9F5F030B84CB56B3" }, { "path": "src/infrastructure/index.ts", "sha256": "8E609BB71C20B858C77F0E9F90BB1319DB8477B13F9F965F1A1E18524BF50881" }, { "path": "src/infrastructure/invitations.ts", "sha256": "14B00929624B2364131DF9676BCBFB40FBAA2E6E63A07C33520747A88584BE91" }, { "path": "src/infrastructure/match-repository.ts", "sha256": "FF656DD160A8DF1D3A5B21C44B0735C6A4730AE712CDF3B1A4D9FCBCA03CB86B" }, { "path": "src/infrastructure/migrations/001_foundation.sql", "sha256": "FAC5387942CBC0DD4DE5F053270F252E6435194B6968764A2043D46973E34A5F" }, { "path": "src/infrastructure/migrations/002_public_reads.sql", "sha256": "503AA197D99F213A8F99DE8636BD6E74EEF5CFD68B5632B19FB45D931F992730" }, { "path": "src/infrastructure/migrations/003_identity.sql", "sha256": "6F6B267A5B4EABF82F19C6EE40DC8A306D0773216A1F5489A97D2451A14C7672" }, { "path": "src/infrastructure/migrations/004_rooms.sql", "sha256": "2B28CEB90B698EABF61370427A7EE3A67EA56E3F68490E692C35D272A8AF4467" }, { "path": "src/infrastructure/migrations/005_outbox.sql", "sha256": "38150D374975254F57FDF30D897F9454428E1C7AA5E36F2CEA03EAF9BA3408E8" }, { "path": "src/infrastructure/migrations/006_lobby_deadlines.sql", "sha256": "0C1D14EEC35AA8656356171601867891AE3642B62E1C17C2DF62AC349D25B8BA" }, { "path": "src/infrastructure/migrations/007_matches.sql", "sha256": "8416D2B2028EF3F498CE185EDC1473403CF6FBC1849CF2FBB94AF8131F737108" }, { "path": "src/infrastructure/migrations/008_content.sql", "sha256": "819F89C79440B0466EE919E61E1680D4C0E850FF992ECEEDB6E1FCEFE22AD4F6" }, { "path": "src/infrastructure/migrations/009_reactions.sql", "sha256": "46E88FE195EC632191EE6A356682EEA376A52DF86D4067E7C9D63546C55E568D" }, { "path": "src/infrastructure/migrations/010_access_control.sql", "sha256": "98A101C9E99EE80FC4F2548C42C0A0F61A1788587A3BB6EC5C368624CB69E5AF" }, { "path": "src/infrastructure/migrations/011_content_review_states.sql", "sha256": "2F4188A6835986C48268346DDD4F2D25E493D8E8DD236DD49CAAFF9E6BEB56DD" }, { "path": "src/infrastructure/migrations/012_guest_public_profiles.sql", "sha256": "B85BEC54713448ED2052AB802AE147839D52D37E7AC653FA5BE2595EDA339C7F" }, { "path": "src/infrastructure/migrations/013_player_capacity.sql", "sha256": "CBE351B1F8343A42AA9A3E5611D515710BE2E1E004C9E8848AD89B0CA124C5F2" }, { "path": "src/infrastructure/migrations/014_capacity10.sql", "sha256": "2C25F35D0F0D46E66C56E40BD6316735509ABE4789BD0EDA7BF13DE2000D619A" }, { "path": "src/infrastructure/oidc.ts", "sha256": "357A55B7B146CEE67CCA06FA254E943A3D1D2B7F8910D778429E1C5BA78BD805" }, { "path": "src/infrastructure/outbox.ts", "sha256": "46B72933333D7DB5353652E09A97E0A918CB2AED68D6B66FC94A7A3634B7C598" }, { "path": "src/infrastructure/postgres-pool.ts", "sha256": "DF6953B452FEF7FCBD5CFC72A7E8ABF7B3BE736F6C77FE2B780DEC667F5EA455" }, { "path": "src/infrastructure/public-read.ts", "sha256": "45F413BE9233F8CC929898A91DAF276FAEE14BD598715CC8D1FDE1F5DE46CDD8" }, { "path": "src/infrastructure/reaction-repository.ts", "sha256": "2832BC0F87BF381ED62B56B039DA4FE0FDEB19163ED8A9F428DCB4CA9D1AA65D" }, { "path": "src/infrastructure/realtime-policy.sql", "sha256": "43B45914B0F8B473756D1942E3C863D77E18B2D6A6886C4FDEAECCD7702D112A" }, { "path": "src/infrastructure/realtime.ts", "sha256": "7B2030BA8616FDDFA4ADD530804E2D2F3E5784018105447730A5286FDC878A82" }, { "path": "src/infrastructure/room-repository.ts", "sha256": "D78739DEECA432ABA46E3DFF241707587D1ED49378B84210EB5E30E9FDC08961" }, { "path": "src/infrastructure/runtime.ts", "sha256": "ADC454269563DC6C5D3507F303A67061110023E3E3B8914AFE4FB64AA7EA415D" }, { "path": "src/infrastructure/secrets.ts", "sha256": "F9ED04B1A0605DBF00DFEFC729BCAE01D4DE8F2A03978B8F0E1CD6960DCEE4B7" }, { "path": "src/infrastructure/supabase-postgres.ts", "sha256": "6E3D9378B754BFD6B507E151E943042A0DC70A51D1B1FCEDAF1B9755AF0EF5DF" }, { "path": "src/web/admin-manifest.ts", "sha256": "FBD03087C844973EF042FACA8F4862AFAE95BC9828B06AA1137A0052C54E9503" }, { "path": "src/web/admin-panel.tsx", "sha256": "A56F2C06B8E95D8048F530AEF1AE7C6096058527CCB0BBC555B554E747A2F921" }, { "path": "src/web/admin-session.ts", "sha256": "15F82AFBCA01E7E2929E02F5C75DD7AA5ECAFED813A900F3E95AF8356A26A603" }, { "path": "src/web/content-input.ts", "sha256": "05F795F2C029DE26688E410DC9A07409ECEDCC52FE8401A3712569F08E75603E" }, { "path": "src/web/content-panel.tsx", "sha256": "47B13186DBC176A7D04CBFC29E61F7F5234CE2738A04110F90CA0CF0DF1F44F5" }, { "path": "src/web/game-panel.tsx", "sha256": "3B99A07B9F6B21A099728FB1C94875776BD323489849D3A1B871F9D25D55D821" }, { "path": "src/web/github-auth-http.ts", "sha256": "3B7084D3191581D36FA77F77721BC264B2BC6168EA196F56B06926FCC2DF4A65" }, { "path": "src/web/guest-credential.ts", "sha256": "D9D86461A48DF271EAB38887E096A8E6DC6BFCA0469AB759B84A4337B9356B1C" }, { "path": "src/web/identity-panel.tsx", "sha256": "7FF4C2B1BA82143E8501DA70A18FD891822C2ACDC77286DBC8889616A15A6B05" }, { "path": "src/web/landing-board.tsx", "sha256": "91470EF3A53EDAF4C901F6F4BD4531A2728867BADE591C51935531A1C8D112E4" }, { "path": "src/web/play-hub.tsx", "sha256": "85667018A046E6392F69C95BE6BF92F165E4E92DDA91438EFF6CAB7F1C3BC80D" }, { "path": "src/web/private-draft.tsx", "sha256": "121AF0F201F4101F219D87B98327477F479315B072C615FDEE086055D93FBDB3" }, { "path": "src/web/private-state.ts", "sha256": "98AA2BC4ACEE7B412920375E5700D41FBC2705554879CDD5637134FF704DDF3E" }, { "path": "src/web/pwa-support.tsx", "sha256": "DCBA6BE71353BC9352EB1725FA4FFD5F82FEC1737B7314F07A1D7686278937B0" }, { "path": "src/web/room-screen.tsx", "sha256": "6A1AB737E57B0D4008FF2A73CC5F0A21AFED39D852566C706BB2903EC20A078F" }, { "path": "src/web/server-http.ts", "sha256": "8BDDAEEF30679913A986CA1F77AD517C78AEC33F719454359B0AD9972DD217D6" }, { "path": "src/web/social-panel.tsx", "sha256": "09759F2041C6D9B30991A69F176F2D97E84DB5C657A5C9438A7F0BCF16A013C7" }, { "path": "src/web/use-private-intent.ts", "sha256": "D9D0311EEBBF05571D5B92FA832660DC17C08B0992D969B65F6CEA99C1561564" }, { "path": "src/web/use-room-updates.ts", "sha256": "E6E58C64855EF455565F9BA489059B5DEDF3466B0FF3718D8EC2C56518297EF1" } ], "productFileCount": 109, "baselineSha256": "04596ADC7809AB64E25E55444987EB9604F2E815D89E2C21F2820E255BB7B90D", "junitSha256": "D0B08EE6DA95A17D02B871BFA414716F6D04047F1F35761D08DA8CAA4DD7EAD3", "producerSha256": "F4C8911F324E5BB46F97E5E3FC58BE8046733AD76FB31B0AB297119AB640D43F", "qualification": "Original40-case mock-first and real history retained. This new42-case mock then identical real binding is a post-implementation test extension. No product edit, full gate, browser gameplay, hosted result, independent HV or done-state claim." }