igneum/app
igneum-labs 79ae802e12 Power Helper: a helper that dies says why, and the engine shows it (PC 1, 7 October 2026, 22:08 BST: six "helper started" lines, no command run after any, no exit line, the task reading Running with no process, the engine toggling nothing and saying nothing). The helper logs its facts after the start line (exe, version, pid, folder, whether cmd.txt is readable and how many lines) and writes every end to helper.exit as "<unix> <code> <reason>": quit, remove, idle, an unwritable folder (exit 2), and a panic caught by run_guarded (FAULT helper: panicked: <msg>, exit 101). ensure_running returns the helper's own exit reason from this start when the heartbeat does not come, else what no reason means (ended from outside or crashed before it ran; Event Viewer Application 1000, TaskScheduler/Operational 201/202), as "power control: helper not running (<reason>)"; the tune and cap paths show that line as an error event, never a silent toggle. Two ordering fixes of the same class as 6 October's (C): the cap path writes its command lines only after the heartbeat (it wrote them right after Start-ScheduledTask, which a fresh helper skips as present at start), and Power control off starts the helper and waits for its heartbeat BEFORE writing remove (a remove present at the start was skipped, so the task never unregistered itself). Tests known-failed first: a_helper_that_dies_at_start_leaves_its_reason_and_the_engine_names_it, remove_is_written_after_the_heartbeat_not_before_the_start
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 21:40:42 +00:00
..
igneum-app Power Helper: a helper that dies says why, and the engine shows it (PC 1, 7 October 2026, 22:08 BST: six "helper started" lines, no command run after any, no exit line, the task reading Running with no process, the engine toggling nothing and saying nothing). The helper logs its facts after the start line (exe, version, pid, folder, whether cmd.txt is readable and how many lines) and writes every end to helper.exit as "<unix> <code> <reason>": quit, remove, idle, an unwritable folder (exit 2), and a panic caught by run_guarded (FAULT helper: panicked: <msg>, exit 101). ensure_running returns the helper's own exit reason from this start when the heartbeat does not come, else what no reason means (ended from outside or crashed before it ran; Event Viewer Application 1000, TaskScheduler/Operational 201/202), as "power control: helper not running (<reason>)"; the tune and cap paths show that line as an error event, never a silent toggle. Two ordering fixes of the same class as 6 October's (C): the cap path writes its command lines only after the heartbeat (it wrote them right after Start-ScheduledTask, which a fresh helper skips as present at start), and Power control off starts the helper and waits for its heartbeat BEFORE writing remove (a remove present at the start was skipped, so the task never unregistered itself). Tests known-failed first: a_helper_that_dies_at_start_leaves_its_reason_and_the_engine_names_it, remove_is_written_after_the_heartbeat_not_before_the_start 2026-10-07 21:40:42 +00:00
mac The opening window size, one rule for both hosts (window-22, 7 October 2026, the project lead on PC 2: "why did the app open super wide?"): scaling-21's 80 percent of the work area scaled above 1920 wide opened 2752 by 1152 on a 3440-wide area and 3072 by 864 on a two-monitor span, and a remembered WindowW/WindowH could carry that into later starts; now app/windows/opening_size.h: the PRIMARY monitor's work area (MonitorFromPoint primary, never the virtual desktop), width 80 percent capped at 1440 up to a 1920-wide display and 1920 beyond, height from the width at 16:10 bounded by the work area, never wider than 1.6 times the height, never under 900 by 600, never over the work area; a remembered frame kept only when it fits the work area, the minimum and the aspect cap, and never saved when it would not; the Mac window mirrors the rule on NSScreen.screens.first and discards an autosave frame that fails it; opening_size_test.c compiles on the gate with cc (known-failed first: it could not compile before the header, and 0.3.21's rule fails the 3440 by 1440 and the 3840 by 1080 cases); host.cpp touched (the shipper's named line) 2026-10-07 18:34:47 +00:00
windows 0.3.23: version strings (the tree after 0.3.22's cut: the rights step at install, the unattended driver install, the check labels, the .next token read, per-monitor DPI, the network step, the installer closing the host; node pin 2720d8d2) 2026-10-07 20:23:57 +00:00