Repository navigation
Releases
Releases · justinlindh/human-in-the-loop
v0.447.0
0.447.0 (2026-10-09)
Features
- art: WASD pans the camera like the arrow keys (10b048a), closes #1935
- ui: move Staff menu key to T and Automation to U (7528154)
Bug Fixes
- capture: open Staff with T in the capture manifests (9e60246)
Performance Improvements
- audio: re-encode music beds at 64k Opus and 96k AAC (773f045)
v0.446.0
v0.445.0
0.445.0 (2026-10-09)
Features
- audio: a boxed sale and each era get their own deal sound (6ce503d)
- audio: radio button click and station tuning sounds (5a27b5a)
- contract: postSquad takes an optional exclude list of members left off (a8980a1)
- sim: postSquad takes an optional exclude list of members to leave off (308bf03)
- tools: a still check looks at each changelog still beside its item and keeps those that show it, captioned from what is visible (cd12d33), closes #1915
- tools: changelog stills chosen by rule from each item's PRs, with clip frames and a stills-wanted list, and hand-edited items kept by fingerprint (3077a37), closes #1912 #1905
- ui: squad chips in the new-project and add-people pickers (mock build) (559a44e)
- ui: squad chips in the project pickers post the squad, leaving off whoever is unticked (bca8026)
- ui: squad picker polish: one After launch row, chips that wrap, features entry (3002d7d)
Bug Fixes
- audio: one 30 s clock across every deal sound (7c2564e)
- sim: office gate dates use the HUD's year, quarter and week form (62ebda5)
- sim: office gate reasons name the calendar quarter, with the founding offset (dc5b74e)
- tools: changelog stills rank tablet captures and quality pairs down, put a merely-touched feature's still last, and carry captions (724a601)
- tools: the still check turns down a still too small to read, crops rank first, its run starts in the stills folder, and an item it empties is always wanted (848eab0)
- ui: a blocked office move looks closed and says what is met and what is left (38ae8df)
- ui: office gate names the week as the HUD does, and reads MRR from the sim's totalMrr (740f066)
- ui: office gate wording names the quarter and the weeks left (5cf67f2)
- ui: squad chip cohesion on its 0..1 scale, role no longer blocks a squad on maintenance, breakdown capped (92a6c8f)
- ui: squad chips grow to fit their status line and wrap only when the row is full (832a191)
v0.444.0
0.444.0 (2026-10-08)
Features
- tools: pr-watch also watches the site repository, with changelog PRs' author messages to video (0f37141), closes #1901
Bug Fixes
- art: a walker whose next leg runs through the stopped office robot goes round it (24015ce)
- art: someone waiting on the office robot steps out of its way when it drives off (e165dcd)
- sim: ask the lockdown card before the office empties (401d319)
- tools: an engine sweep plays each seed in its own process, so every row reproduces in a fresh dump or replay (0da6a13), closes #1896
- tools: changelog-auto skips published days, keeps curated items and stills on --force, and works in UTC days (e5e4a7c), closes #1902
v0.443.0
0.443.0 (2026-10-08)
Features
- art: a notable boxed sale raises a retail box at the owner's desk (a178693)
- tools: dump --sweep-row --browser plays the window in a harness page as a browser sweep does (ef6fa53)
- tools: dump --sweep-row honours --patch-js, and --trace-js writes a per-frame value into dump.json (b1fc01c), closes #1894
Bug Fixes
- art: a boxed sale's box goes to a project crew, sales, upkeep or anyone free (c99ae44)
- art: a walker waiting on the office robot faces it and gives it a look; the fourth box colour is purple (e3a6ef3)
- art: stage columns move copies of the shared box geometry, so a rebuild leaves them on the floor (0eb9c26), closes #1897
- art: the portrait warm-up probe draws on its own timing stream, not the shared one (8171c0c)
- art: walkers and the office robot keep out of each other (4e807f3)
- tools: a browser dump whose page logged an error exits 1 and writes no dump.json (f4a93b6)
- tools: both harnesses move the UI's presentation clock with each stepped frame, and the engine's DOM has text nodes (9bbf3a9)
- tools: dump --sweep-row --browser takes the render lock before its first line, so nothing prints twice (1da63ae), closes #1881
- tools: one patch-js helper (async body, awaited) for scene, dump, onscreen and stage (675a2d3), closes #1891
- tools: scene --patch-js awaits its body, and stage's pageErrors row carries the first messages (303880c), closes #1887
- tools: the engine sweep sends status news to the world through ui's routeAmbient, as the page does (8777ca9)
v0.442.0
0.442.0 (2026-10-08)
Features
- tools: sweep reports name their commit, and dump --sweep-row warns when the checkout differs (1d7be14), closes #1873
Bug Fixes
- art: a path to a goal in a blocked cell ends at the free cell nearest it, and the shouldered hammer's head shows over a walker facing the camera (9096170)
- art: a sitter stops far enough behind a deep chair that their head stays off it (a7c322a)
- art: a soft walk into furniture ends on a roomy cell when one is about as near, not under a desk (47663b0)
- art: a soft walk's roomy end cell keeps out of the cells it was told to avoid, and a chair stop keeps a seat exit's room (c52a811)
- art: the hammer carry never starts across the desks from a narrow pickup spot (5571b5d)
- art: the printer batter stands round the printer's middle, not its pivot (1703211)
- art: the stop behind a chair never backs off a free grid cell onto a blocked one (5d6bc75)
- art: the stop behind a NOC chair moves back over grid cells its own chairs block (050f527)
- tools: interrupt-test waits up to 3 s for what the command leaves to go, and prints more of a survivor's command line (9e75cfb), closes #1853
v0.441.0
0.441.0 (2026-10-08)
Features
- art: ai interview seats the hire with forearms on the table and lifts the laptop's bubbles over their head (41f5d47)
- art: spot the ai interview feed and the ai_interview moment (wip) (3f59f03)
- art: the ai interview shows the laptop's avatar to the camera and the hire taps its screen (a46d5e7)
- capture: feature media for the Spot the AI interview card (85599fa)
- capture: first-person capture items for see-as and walk clips (9b78c43)
- sim: turn on AI video interviews and Spot the AI (c7d534b)
- tools: dump records the office robot, and dump-query takes it like a person (7061721), closes #1868
- tools: dump records the robot's remaining path points (63edf84)
- tools: one PR watcher service that tells the lane that must act (1634a0b), closes #1855
- ui: watch an interview from the hire tab and read its transcript on the flagged-interview card (7cf7a0c)
Bug Fixes
- art: the interview feed sets the candidate's head turn itself so medium and low show the same frame (5f724d6)
- capture: first-person see-as items fail when nobody matches or the mode never turns on (10bd271)
- tools: pr-watch finds the team by team-lead and its reviewers from its members (570a711)
- tools: pr-watch gives a Dependabot PR's reviewer the --allow-bot path, and the watcher entries point at the service (7d25fda)
- tools: pr-watch sends a Dependabot PR's failed check or conflict to its reviewer (ea26e91)
- ui: hire tab fee and affordability use the sim's fee, with fame relief and the AI interview multiplier (66d04d9)
- ui: interview feed follows the renderer's hook: person, 4:3, no placeholder (d926a56)
v0.440.0
0.440.0 (2026-10-07)
Features
- art: clear window glass in first person only, tinted at night (030e27b), closes #1813
- art: clear window glass, so the real street shows through (8146b42), closes #1813
- ui: first-person controls and entry points for see-as and walk (48f689e)
Bug Fixes
- art: a walker drifts aside only where it can still walk straight back to its route (b296d9f), closes #1138
- art: a walker drifts aside only where the exact room to furniture allows (f2eb026)
- art: a way round someone standing keeps its distance from furniture (3727846)
- art: between sips the mug rests out from the belly (fd93e25)
- art: end a perk visit when its person is sent out of the office (afc4200), closes #1138
- tools: a reaper process cleans up after an interrupted sweep, so SIGTERM works during long synchronous stretches (6199db5), closes #1853
- tools: an interrupted sweep ends by the signal at startup too (e16ee94), closes #1853
- tools: both sweep engines feed chat through the Yak pacer on simulated time (be36c7a)
- tools: sweep --against exits 2 on a ref that names no commit (fa10d05)
- tools: sweep --against keeps the control report and prints rows only it found (fe9d0cc), closes #1850
- tools: sweep --against refuses a checkout too old for the sweep's borrowed files (355636a), closes #1853
- tools: sweep ends promptly on SIGTERM while sampling, and --against borrows scripts/events (ba36993), closes #1853
- tools: sweep-parity counts rows seen in both kinds once per report (4cf0568)
- tools: sweep-parity keeps the non-seeded states of a row seen in a seeded game too (a71d98e)
- tools: the sweep advances the Yak pacer by a week of game time for every week it plays (2652037)
- ui: ignore a touch that ended before the look layer could capture it (fd29884)
- ui: settings switch knob stays centred in a touch-sized pill (6f42812)
- ui: show the walk stick only on touch screens or under a thumb (4dc5cdb)
v0.439.0
0.439.0 (2026-10-07)
Features
- art: a Classic drop ceiling, drawn only in first person (15ed11d), closes #1812
- art: first-person camera modes with a hook for ui (d299084), closes #1811
- art: mark foosball tables that get no games and warn while placing (8084e05), closes #1800
- audio: screen sound candidates for a ringing tail before the desk (e595666)
- capture: a touch item records as a coarse-pointer touch device (43431f1)
- capture: trailer --reuse keys on the capture item, pinned snapshot and game code (5f336bc)
- tools: dump.mjs --sweep-row loads the exact scene of a sweep violation row (9dfd6e5)
- tools: review-queue --skip leaves named PRs out, so a --wait can stand (6599948)
- tools: the hitl-guards mod and bash-guard judge a shell write by the worktree it lands in (ecf4e99)
- ui: say why a foosball table gets no games, in the build bar and on its card (e7e520a)
Bug Fixes
- art: see-as clips a partition brushed past and leaves out heads at the edge (591207b), closes #1810
- art: see-as ignores input, showing exactly the person's view (86fa9cd), closes #1811
- art: see-as leaves out anyone right by the eye (bb11e5e), closes #1810
- art: see-as looks down the path and at the spot, not into walls (58856e2), closes #1811
- art: see-as reaches further while walking and leaves out the person's own body (a0547ea), closes #1810
- audio: decide a short cue by how long it sounds, so trailing silence cannot hide a ring (e84f3c7)
- audio: judge a sound's tail against its own length and keep every shipped sound passing (22b74ff)
- audio: leading silence no longer counts toward a cue's sounding length (8c77e7c)
- capture: reuse refuses a code hash git could not compute, and hashes untracked files (7fe2825)
- integ: clear a lane's input box and check it holds exactly the command before Enter (cc271d4)
- integ: reset-teammate picks the transcript written last and counts boundaries across candidates (c9d5646)
- integ: reset-teammate waits for a settled pane and checks the command shows before Enter (3086caa)
- integ: send /compact and Enter apart and show the pane when a compact is not confirmed (4505682)
- tools: a killed render-lock parent stops its locked command and frees the lock (7027445)
- tools: autocompact holds on the latest verdict and a message read during the wait; reset-teammate confirm fixes (138e638)
- tools: autocompact reads verdicts from the review status, maps tools2 and team-lead, fails closed (ab5a779)
- tools: dump.mjs refuses a --frames list that is not whole numbers and dump-query prints a missing t as null (8570f3c)
- tools: golden --update writes a reference only from two clean, identical renders (0f4a1c5)
- tools: golden refuses an unknown --only scene name (4dd7834)
- tools: keep the dump toolkit entry's first sentence and print a missing t as ? (34de2f0)
- tools: play.mjs dismisses any card that holds the game and stops on one that stays (e287508)
- tools: play.mjs keeps its log when the page navigates and reads a bare --default-choice as option 0 (a4bedc8)
- tools: review-queue leaves out a head that only merges main over a changes verdict (04bf66a)
- tools: review-queue refreshes the PR snapshot on a wait's first check (2ce7b7b)
- tools: wait-for exits on a changes-requested verdict and never merges main for it (5f054b8)
- tools: wait-for reads the verdict review from the reviews API, so its link is real (6d1ffaa)
- tools: watched-media reads "not a visual change" as no screenshots (34b8fbb)
- ui: darker amber for the foosball hint text and pin the build bar warning in a test (da7b58b)
v0.438.0
0.438.0 (2026-10-07)
Features
- tools: a review checkout takes shell edits for a sweep, and refuses commits (7c15c20)
- tools: dump-query rel reports a person against an item's real edge (0b1af6e)
Bug Fixes
- art: foosball is only played from the two long sides (9c1c815)
- art: foosball players stand at the handles and face the table (1ce9836), closes #1785
- tools: review-queue marks READY on the required checks, not local-ci (389f526)
- tools: smoke prints each failed step's own error lines after the table (12e8aac)
- tools: wait-for exits only on required checks (5fabfdd)
- ui: let a new product start with nobody picked when engineering automation builds it (336b1f3)