Leonid Pershin and Cursor
1ef051764b
Restore golden-save host tests for slice 6 after later formats stopped loading historic files.
...
Phase 39 dropped GoldenSaveTests when format 2 saves became unstartable. Recheck restores the missing-field and seed-equals-id assertions against a stamped copy, and records the recheck.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 15:39:07 +03:00
Leonid Pershin and Cursor
0ec02dde8d
Point slice 3 recheck journal at the merge.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 15:20:19 +03:00
Leonid Pershin and Cursor
cf1403e3b8
Merge branch 'review/slice-3-recheck'
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 15:19:22 +03:00
Leonid Pershin
9c92fb44a7
Merge branch 'phase/61-portrait-loras-embeds'
2026-08-20 15:14:45 +03:00
Leonid Pershin
822aad9d5a
Point slice 4 recheck journal at the merge.
2026-08-20 15:10:28 +03:00
Leonid Pershin
01ef277f96
Merge branch 'review/slice-4-recheck'
2026-08-20 15:05:08 +03:00
Leonid Pershin and Cursor
81f6f7cf8d
Point slice 3 recheck journal at a0f0152.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 15:02:14 +03:00
Leonid Pershin and Cursor
a0f0152914
Record slice 3 recheck after later slices drifted staffing paths.
...
Pin homeroom seats, the management money row and assign-from-card, and drop the stale top-three skills claim from the protocol.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 15:01:22 +03:00
Leonid Pershin and Cursor
e7a0260a04
Record slice 4 recheck after staffing, presence and worker split.
...
Planner, pin API and calendar tests still hold; class/person GET filters now have tests. GET catalog day frame still lacks lunchBreaks.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 14:59:49 +03:00
Leonid Pershin
9bb69cef51
Point slice 2 recheck journal at the merge.
2026-08-20 14:59:39 +03:00
Leonid Pershin and Cursor
678d240162
Mark phase 61 portrait-loras-embeds complete.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 14:58:53 +03:00
Leonid Pershin and Cursor
5a049d43c8
Cover class and person timetable filters that phases 16-17 already promised.
...
GET ?classId=/personId= and personTimetableQuery had no tests; occupancy on the grid comment still pointed at the old map snapshot.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 14:58:39 +03:00
Leonid Pershin and Cursor
9e217e93eb
Stack portrait LoRAs and embeddings from model, preset, and shot kind.
...
Swarm loads LoRAs via loras/loraweights; embeddings go in the prompt as embed tags, not lora tags.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 14:58:26 +03:00
Leonid Pershin
8108508e24
Merge branch 'review/slice-2-recheck'
2026-08-20 14:58:03 +03:00
Leonid Pershin and Cursor
98cb2f0d1d
Record slice 2 recheck after country, clothing and social.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 14:55:11 +03:00
Leonid Pershin and Cursor
c2e01f09d3
Lock slice-2 filters and the staff-parent intake path later slices left untested.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 14:53:56 +03:00
Leonid Pershin
67b7f7ec08
Merge branch 'phase/60-portrait-models'
...
ci / server (push) Failing after 3m46s
ci / client (push) Successful in 21s
# Conflicts:
# docs/phases/off-queue/README.md
2026-08-20 14:46:20 +03:00
Leonid Pershin and Cursor
d0a8d4a075
Point slice 1 recheck journal at the merge.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 14:43:15 +03:00
Leonid Pershin
5d46550f12
checkpoint before checking out main
2026-08-20 14:43:00 +03:00
Leonid Pershin
d08748638a
Merge branch 'review/slice-1-recheck'
2026-08-20 14:41:29 +03:00
Leonid Pershin and Cursor
2f9c2d707e
Merge branch 'review/slice-9-cd'
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 14:39:07 +03:00
Leonid Pershin and Cursor
3875dda56a
Point slice 1 recheck journal at f6bb4c7.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 14:34:20 +03:00
Leonid Pershin and Cursor
f6bb4c76cc
Record slice 1 recheck after clothing, session and social.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 14:33:30 +03:00
Leonid Pershin and Cursor
6507bfc323
Record slice 9 C-D review at 19554d4.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 14:28:26 +03:00
Leonid Pershin and Cursor
19554d4362
Review slice 9 C-D: persist clash opinions and the bully's victim.
...
FinishConflict never set RosterTalkDirty, so people.json skipped quarrel shifts until some other save — the same seam as the A-B talk-circle fix. First BullyVictimId write stayed in RAM only.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 14:27:49 +03:00
Leonid Pershin
820aea53fe
Merge branch 'review/slice-10-a'
...
# Conflicts:
# docs/phases/10-craft/reviewed.md
# docs/phases/reviewed.md
2026-08-20 14:21:18 +03:00
Leonid Pershin
a5aa1a7f74
Mark phase 61 portrait-loras-embeds in progress.
2026-08-20 14:18:21 +03:00
Leonid Pershin
1fd8ade69c
Merge branch 'review/slice-10-bc'
2026-08-20 14:15:59 +03:00
Leonid Pershin and Cursor
b23ce583df
Use Seed.Mix in speech-policy PickTopic tests after Roll01.
...
Sequential integer seeds all roll ~0, so NoRude never saw a rude topic under free speech.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 14:13:14 +03:00
Leonid Pershin
477f8cf6c9
Mark phase 60 portrait-models complete.
2026-08-20 14:09:13 +03:00
Leonid Pershin
81fd3f6181
Split SwarmUI portraits into a model catalog and layered prompts.
...
Picker is Swarm intersect config, preset style/shot inherit model defaults, and living saves lift the old preset shape.
2026-08-20 14:08:11 +03:00
Leonid Pershin and Cursor
05a806ad51
Record slice 10 B-C review.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 14:07:41 +03:00
Leonid Pershin
63cde56cc3
Merge branch 'phase/46-speech-home'
...
Co-authored-by: Cursor <cursoragent@cursor.com >
# Conflicts:
# docs/phases/09-social/README.md
# src/HSchool.Server/Game/SchoolWorker.cs
# tests/HSchool.Ai.Tests/TalkCirclesTests.cs
# tests/HSchool.Simulation.Tests/MorningOpinionsTests.cs
# tests/HSchool.Simulation.Tests/TalkCircleTests.cs
2026-08-20 14:06:29 +03:00
Leonid Pershin
a7e2820824
Record slice 10 A review.
...
Phases 56-57 checked on e2e7d30 . Phase 58 was in flight; 59 was out of this pass.
2026-08-20 14:06:12 +03:00
Leonid Pershin
e2e7d30701
Tighten layer graph tests and document npm test typecheck.
...
Content and People/Schedule/Ai now fail the same way if they grow a game-layer edge the projects.md graph forbids; README matches the tsc-then-vitest script from phase 57.
2026-08-20 14:04:35 +03:00
Leonid Pershin and Cursor
026fe4934f
Mark phase 46 speech-home complete.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 13:54:38 +03:00
Leonid Pershin and Cursor
f4f726a19d
Merge branch 'phase/58-worker-card-split'
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 13:54:25 +03:00
Leonid Pershin and Cursor
92c2143329
Add speech-topic policy from tomorrow and a morning family talk.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 13:53:12 +03:00
Leonid Pershin and Cursor
1e1a86fece
Mark phase 58 worker-card-split complete.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 13:52:11 +03:00
Leonid Pershin and Cursor
b48bbbcf7c
Split SchoolWorker and the person card along existing seams without a second thread or public API.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 13:51:39 +03:00
Leonid Pershin
f381475566
Mark phase 60 portrait-models in progress.
2026-08-20 13:43:29 +03:00
Leonid Pershin and Cursor
cc9ea18480
Merge branch 'review/slice-9-ab'
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 13:40:20 +03:00
Leonid Pershin and Cursor
26666ba426
Record slice 9 A-B review.
...
Phases 41-43 checked on b38d0bb . 44 and 46 were in flight; Outgoing.talkCircleBonus is a no-op at max 4.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 13:35:16 +03:00
Leonid Pershin and Cursor
b38d0bb628
Persist talk opinions and pick topics by weight.
...
A finished circle never set Tick's peopleChanged bit, so people.json kept pre-talk numbers until morning drift. PickTopic compared a 0..total roll to a 0..1 cursor, so gossip almost never changed the subject.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 13:34:34 +03:00
Leonid Pershin
e62f1c3cb7
Merge branch 'bug/4-wwwroot-not-found'
2026-08-20 13:33:14 +03:00
Leonid Pershin and Cursor
add739de33
Mark phase 46 speech-home in progress.
...
ci / server (push) Failing after 3m39s
ci / client (push) Successful in 23s
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 13:28:19 +03:00
Leonid Pershin
5e147a8e47
Mark phase 58 worker-card-split in progress.
2026-08-20 13:25:41 +03:00
Leonid Pershin
c526921779
Merge branch 'phase/44-quarrel-fight'
...
Co-authored-by: Cursor <cursoragent@cursor.com >
# Conflicts:
# docs/phases/README.md
# src/HSchool.Content/PeopleDefs.cs
# src/HSchool.People/Roster.cs
# src/HSchool.People/Seed.cs
2026-08-20 13:24:12 +03:00
Leonid Pershin and Cursor
f7d5fa1d6b
Mark bug 4 wwwroot skip as complete.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 13:22:59 +03:00
Leonid Pershin and Cursor
e35b8e438c
Skip UseFileServer when wwwroot is missing.
...
Local Aspire has no published client folder; the middleware warned on every boot.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 13:22:28 +03:00
Leonid Pershin
8d07b3606d
Merge branch 'phase/57-client-typecheck'
...
# Conflicts:
# docs/phases/10-craft/README.md
2026-08-20 13:12:16 +03:00
Leonid Pershin and Cursor
da1a4010f6
Merge branch 'phase/59-dump-nodes'
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 13:08:19 +03:00
Leonid Pershin
a6000678bc
Mark phase 57 client typecheck complete.
2026-08-20 12:58:01 +03:00
Leonid Pershin
45059b927f
Run client typecheck before vitest in npm test.
...
Duplicate keys in strings.ts were green under vitest and red only on build. Drop the self file: dependency loop so npm test is enough.
2026-08-20 12:57:16 +03:00
Leonid Pershin
782a56eefe
Merge branch 'phase/56-architecture-tests'
...
Co-authored-by: Cursor <cursoragent@cursor.com >
# Conflicts:
# docs/phases/10-craft/README.md
2026-08-20 12:54:53 +03:00
Leonid Pershin and Cursor
fc6c22bc41
Mark phase 56 architecture tests complete.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 12:48:59 +03:00
Leonid Pershin
2909315880
Merge branch 'bug/3-users-json-as-school'
ci / server (push) Failing after 3m49s
ci / client (push) Successful in 19s
2026-08-20 12:48:53 +03:00
Leonid Pershin and Cursor
121c28e4a3
Put layer and wall-clock bans in one test project so Content and Protocol fail the same way as People.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 12:48:00 +03:00
Leonid Pershin and Cursor
a8b24bc681
Mark bug 3 users.json skip as complete.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 12:47:23 +03:00
Leonid Pershin and Cursor
0b1a52a5e5
Skip users.json when loading school saves.
...
The session user list sits beside {id}.json; LoadAll treated it as a school with id 0.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 12:46:52 +03:00
Leonid Pershin and Cursor
7423b34d60
Mark phase 59 dump nodes complete.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 12:46:13 +03:00
Leonid Pershin and Cursor
0d6173431a
Wait for a person on a node before asserting the dump.
...
Needs.Count is true for everyone, so the old OR never caught empty occupancy.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 12:45:18 +03:00
Leonid Pershin and Cursor
7496718d88
Mark phase 59 dump nodes in progress.
...
ci / server (push) Failing after 3m41s
ci / client (push) Successful in 19s
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 12:36:59 +03:00
Leonid Pershin
9a6cbff55a
Update AGENTS.md and various SKILL.md files to improve documentation structure, clarify design phase references, and ensure consistency in file paths. Adjust links to design documents for better navigation and organization across phases.
ci / server (push) Failing after 3m41s
ci / client (push) Successful in 21s
2026-08-20 12:26:21 +03:00
Leonid Pershin
a37a5eb82d
Remove off-queue.md and add new design documentation files including README.md, defs.md, near-term.md, projects.md, runtime.md, people.md, staffing.md, and schedule.md to outline the structure and agreements for the game's design phases.
2026-08-20 12:26:13 +03:00
Leonid Pershin
12cc36b4dd
Merge branch 'phase/55-view-state'
...
ci / server (push) Failing after 3m39s
ci / client (push) Successful in 20s
# Conflicts:
# docs/phases/README.md
2026-08-20 12:10:55 +03:00
Leonid Pershin
4f3d3fc068
Update AGENTS.md to reflect live status of country, wardrobes, and weather; clarify off-queue tasks in off-queue.md; introduce phase 10 (craft) in README.md with design details and phase breakdown.
ci / server (push) Failing after 3m39s
ci / client (push) Failing after 15s
2026-08-20 12:08:27 +03:00
Leonid Pershin and Cursor
0902185b70
Mark phase 55 view-state as complete.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 12:03:33 +03:00
Leonid Pershin and Cursor
36ec5e9f8e
Restore school tabs and filters after refresh.
...
The URL keeps the open school and current view; sessionStorage keeps list filters and searches so F5 and re-entry do not dump the player on an empty map.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 12:03:04 +03:00
Leonid Pershin
d8a2c2903c
Merge branch 'phase/54-whats-new'
ci / server (push) Failing after 3m45s
ci / client (push) Failing after 21s
2026-08-20 11:45:48 +03:00
Leonid Pershin and Cursor
069c58194d
Mark phase 54 whats-new as complete.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 11:44:11 +03:00
Leonid Pershin and Cursor
449be4e0ea
Show unseen Server commits after login.
...
Bake first-parent git log at Server build and remember the SHA in a browser cookie.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 11:43:36 +03:00
Leonid Pershin
e299995d98
add skils
ci / server (push) Failing after 3m43s
ci / client (push) Failing after 14s
2026-08-20 11:33:39 +03:00
Leonid Pershin and Cursor
827c5f94d5
Mark phase 44 quarrel and fight as complete.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 11:31:56 +03:00
Leonid Pershin and Cursor
395107c959
Add recess quarrels, rare yard and gym fights, and apologies.
...
Bullies remember a victim by a trait field, a defender can join, staff break up a fight with a reprimand, and skip empty time clears leftover clashes so they cannot last forever.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 11:31:06 +03:00
Leonid Pershin and Cursor
1e7014cabd
Mark phase 54 in progress.
...
ci / server (push) Failing after 3m41s
ci / client (push) Failing after 14s
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 11:30:11 +03:00
Leonid Pershin
ee6930a39d
Merge branch 'phase/45-presence-talk'
...
# Conflicts:
# docs/phases/README.md
# src/HSchool.Server/Api/PeopleModels.cs
# src/HSchool.Server/Game/PersonCardReader.cs
2026-08-20 11:27:58 +03:00
Leonid Pershin
43267e4482
Merge branch 'review/slice-8-session'
ci / server (push) Failing after 3m36s
ci / client (push) Successful in 17s
2026-08-20 11:11:54 +03:00
Leonid Pershin and Cursor
85bf757b69
Journal: set slice 8 review commit hash.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 11:05:31 +03:00
Leonid Pershin and Cursor
1c3ae9ab7e
Reject a second live WebSocket for the same session name.
...
Two tabs with the cookie already set never POST /api/session, so name-online on login did not cover the design rule. Claim the name under the same lock as the online check.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 11:04:56 +03:00
Leonid Pershin
ae2e3ddc14
Merge branch 'phase/47-romance-pack'
...
ci / server (push) Failing after 3m39s
ci / client (push) Successful in 19s
# Conflicts:
# docs/phases/README.md
# src/HSchool.Content/PeopleDefs.cs
# src/HSchool.People/Seed.cs
2026-08-20 11:00:12 +03:00
Leonid Pershin
74720af208
Update Vite configuration to serve on 127.0.0.1 for Tailscale compatibility, preventing connection issues on Windows.
ci / server (push) Failing after 3m40s
ci / client (push) Successful in 17s
2026-08-20 10:54:28 +03:00
Leonid Pershin and Cursor
d52f784e5e
Mark phase 44 as in progress.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 10:51:15 +03:00
Leonid Pershin
d3396b5b8f
Refactor run-aspire scripts for improved cross-platform support. Replace run-aspire.cmd with run-aspire.ps1 for Windows and add run-aspire.sh for Ubuntu. Update documentation to reflect these changes and ensure synchronization between build rules across scripts. Enhance Tailscale integration and clarify usage instructions.
ci / server (push) Failing after 3m38s
ci / client (push) Successful in 18s
2026-08-20 10:48:19 +03:00
Leonid Pershin and Cursor
663edaccae
Mark phase 45 presence talk as complete.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 10:43:56 +03:00
Leonid Pershin
72e4891453
Mark phase 47 romance pack as complete.
2026-08-20 10:43:20 +03:00
Leonid Pershin and Cursor
2034946378
Show talk-circle partners and topic on the location panel and Now tab.
...
The frame and card share member ids; the client builds the sentence from the directory and locale.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 10:43:16 +03:00
Leonid Pershin
d2911c3daf
Complete phase 47 romance pack on generic orientation and affinity hooks.
...
Vanilla catalogs stay without crushes; a content pack ships the overlay so later mods can reuse it.
2026-08-20 10:42:42 +03:00
Leonid Pershin and Cursor
1a21a64b4b
Bump protocol to v9 and carry talk-circle ids on the presence frame.
...
Names stay off the wire; a person not in a circle writes an empty member list and topic.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 10:42:11 +03:00
Leonid Pershin and Cursor
f45347b335
Merge branch 'phase/43-whisper'
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 10:40:35 +03:00
Leonid Pershin and Cursor
089917025a
Mark phase 43 whisper as complete.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 10:36:06 +03:00
Leonid Pershin and Cursor
f7d5e0c042
Add lesson whispers, teacher catch chance, and after-bell teacher talk.
...
Whispering cuts lesson skill gain from BehaviorDef; a teacher in the room may interrupt into a discipline circle, and pedagogy scales the pupil's opinion of the teacher.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 10:35:31 +03:00
Leonid Pershin
9c49c8b3a6
Update SKILL documentation for phase and bug workflows. Clarified branch creation commands to specify main instead of HEAD, emphasized the importance of not committing phase changes to the bug tree, and provided detailed instructions for managing worktrees and agent interactions. Enhanced clarity on handling dependencies and worktree paths to prevent conflicts.
ci / server (push) Failing after 3m36s
ci / client (push) Successful in 20s
2026-08-20 10:29:56 +03:00
Leonid Pershin
b14d27dd81
Merge branch 'bug/2-client-endpoint-proxy'
ci / server (push) Failing after 3m42s
ci / client (push) Successful in 16s
2026-08-20 10:17:31 +03:00
Leonid Pershin and Cursor
8e9ea6715c
Mark phase 45 presence talk as in progress.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 10:16:50 +03:00
Leonid Pershin and Cursor
491ed39184
bug 2: mark complete
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 10:14:58 +03:00
Leonid Pershin and Cursor
7851bed14f
Pin Vite to 5173 without an Aspire proxy so AppHost can start.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 10:14:26 +03:00
Leonid Pershin and Cursor
3bb5d45f10
Mark phase 45 presence talk as in progress.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 10:13:19 +03:00
Leonid Pershin and Cursor
7eac934533
Mark phase 47 romance pack as in progress.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 10:11:20 +03:00
Leonid Pershin and Cursor
52a4104f68
Mark phase 43 whisper as in progress.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 10:10:20 +03:00