Leonid Pershin and Cursor
94e3e661e8
Record portrait phases 60-61 as reviewed.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 16:17:17 +03:00
Leonid Pershin
5468852529
Merge branch 'review/slice-7-a-recheck'
2026-08-20 15:57:12 +03:00
Leonid Pershin
5df341f91b
Restore Slavic save lift and redress abstract underwear on load.
...
Recheck of slice 7 stage A found UpgradeOlderSave removed after UpperUnderwear, so format-2 nameSetId saves never started, and golden people.json wearing abstract Underwear failed RequireKnownApparel. Bring back the lift, treat unusable items as undressed, and restore GoldenSaveTests.
2026-08-20 15:52:17 +03:00
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
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
01ef277f96
Merge branch 'review/slice-4-recheck'
2026-08-20 15:05:08 +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
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
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
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
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
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 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
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
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
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
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
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 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
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
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
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 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
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
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
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
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
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 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
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
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
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
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
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 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
51b4c22b69
Merge branch 'phase/39-school-owners'
ci / client (push) Successful in 18s
ci / server (push) Failing after 3m51s
2026-08-20 09:56:13 +03:00