Commit Graph
100 Commits
Author SHA1 Message Date
Leonid PershinandCursor f10c83b4e1 Point portraits 60-61 review journal at the merge.
ci / server (push) Failing after 3m43s
ci / client (push) Successful in 21s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 16:22:39 +03:00
Leonid Pershin 5e23d1f500 Merge branch 'review/off-queue-portraits' 2026-08-20 16:21:21 +03:00
Leonid PershinandCursor 766e370be3 Point slice 7 B-C recheck journal at the merge.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 16:21:10 +03:00
Leonid Pershin 549634bba7 Merge branch 'review/slice-7-bc-recheck' 2026-08-20 16:19:37 +03:00
Leonid PershinandCursor 118d1815d8 Record slice 7 B-C recheck after later slices drifted climate and dress paths.
Adds a weather-drop walk test so a jacket is not teleported onto the body; PE change regressions already red on main stay open.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 16:17:45 +03:00
Leonid PershinandCursor 6b72b2c771 Point portraits 60-61 review journal at 94e3e66.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 16:17:44 +03:00
Leonid PershinandCursor 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 505bcc6912 Point slice 8 recheck journal at the merge. 2026-08-20 16:11:21 +03:00
Leonid Pershin 71000655e0 Merge branch 'review/slice-8-recheck' 2026-08-20 16:10:07 +03:00
Leonid Pershin bd403b4017 Record slice 8 recheck after later slices drifted session paths.
Promises 38-40 still hold. Ownerless cards now show a bare dash; the journal is a recheck from 1c3ae9a.
2026-08-20 16:08:07 +03:00
Leonid Pershin 5490cfb247 Show a bare dash on ownerless school cards.
The design asked for the owner name or an em dash; wrapping the dash in the Owner template produced Хозяин: —. Low-speed clock tests now cover x1/2 and x2 as well as x1.
2026-08-20 16:06:59 +03:00
Leonid Pershin d42af2569a Point slice 7 A recheck journal at the merge.
ci / server (push) Failing after 3m37s
ci / client (push) Successful in 21s
2026-08-20 15:58:11 +03:00
Leonid Pershin 5468852529 Merge branch 'review/slice-7-a-recheck' 2026-08-20 15:57:12 +03:00
Leonid Pershin 6307ae21e5 Point slice 7 A recheck journal at 5df341f. 2026-08-20 15:53:10 +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 PershinandCursor 71a68b44fd Point slice 6 recheck journal at the merge.
ci / server (push) Failing after 3m49s
ci / client (push) Successful in 24s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 15:50:22 +03:00
Leonid Pershin 1c63357a79 Merge branch 'review/slice-6-recheck'
Co-authored-by: Cursor <cursoragent@cursor.com>

# Conflicts:
#	docs/phases/reviewed.md
2026-08-20 15:47:41 +03:00
Leonid PershinandCursor c717eba66f Point slice 6 recheck journal at 1ef0517.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 15:39:49 +03:00
Leonid PershinandCursor 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 PershinandCursor 5bfdab0efd Point slice 5 recheck journal at the merge.
ci / server (push) Failing after 3m47s
ci / client (push) Successful in 23s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 15:35:37 +03:00
Leonid Pershin 1118c591d1 Merge branch 'review/slice-5-recheck' 2026-08-20 15:33:06 +03:00
Leonid PershinandCursor 882ff9ed8c Record slice 5 recheck after later slices drifted presence paths.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 15:29:03 +03:00
Leonid PershinandCursor 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 PershinandCursor 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 PershinandCursor 81f6f7cf8d Point slice 3 recheck journal at a0f0152.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 15:02:14 +03:00
Leonid PershinandCursor 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 PershinandCursor 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 PershinandCursor 678d240162 Mark phase 61 portrait-loras-embeds complete.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 14:58:53 +03:00
Leonid PershinandCursor 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 PershinandCursor 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 PershinandCursor 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 PershinandCursor 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 PershinandCursor 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 PershinandCursor 2f9c2d707e Merge branch 'review/slice-9-cd'
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 14:39:07 +03:00
Leonid PershinandCursor 3875dda56a Point slice 1 recheck journal at f6bb4c7.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 14:34:20 +03:00
Leonid PershinandCursor 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 PershinandCursor 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 PershinandCursor 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 PershinandCursor 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 PershinandCursor 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 PershinandCursor 026fe4934f Mark phase 46 speech-home complete.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 13:54:38 +03:00
Leonid PershinandCursor f4f726a19d Merge branch 'phase/58-worker-card-split'
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 13:54:25 +03:00
Leonid PershinandCursor 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 PershinandCursor 1e1a86fece Mark phase 58 worker-card-split complete.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 13:52:11 +03:00
Leonid PershinandCursor 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 PershinandCursor cc9ea18480 Merge branch 'review/slice-9-ab'
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 13:40:20 +03:00
Leonid PershinandCursor 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 PershinandCursor 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 PershinandCursor 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 PershinandCursor f7d5fa1d6b Mark bug 4 wwwroot skip as complete.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 13:22:59 +03:00
Leonid PershinandCursor 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 PershinandCursor 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 PershinandCursor 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 PershinandCursor 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 PershinandCursor 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 PershinandCursor 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 PershinandCursor 7423b34d60 Mark phase 59 dump nodes complete.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 12:46:13 +03:00
Leonid PershinandCursor 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 PershinandCursor 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 PershinandCursor 0902185b70 Mark phase 55 view-state as complete.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 12:03:33 +03:00
Leonid PershinandCursor 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 PershinandCursor 069c58194d Mark phase 54 whats-new as complete.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 11:44:11 +03:00
Leonid PershinandCursor 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 PershinandCursor 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 PershinandCursor 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 PershinandCursor 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 PershinandCursor 85bf757b69 Journal: set slice 8 review commit hash.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 11:05:31 +03:00