Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
6685 commits
Select commit Hold shift + click to select a range
f59dc06
Use full width for the community name field
john-preston Jul 23, 2026
b114816
Don't paint underline for directional controls.
john-preston Jul 23, 2026
8ccd011
Fit short table columns to their content
john-preston Jul 24, 2026
2ebcbe4
Separate Community add-chat title translation
john-preston Jul 24, 2026
c142771
Show table titles in rich message previews
john-preston Jul 24, 2026
421f9fd
[ai] Document stale macOS language rebuild recovery
john-preston Jul 24, 2026
d853721
[ai] Protect portable data during Xcode clean rebuilds
john-preston Jul 24, 2026
b6e2540
Moved toggling of mute forever to separate helper.
23rd Jul 24, 2026
d5dddb1
Added muting forever by left click on profile button.
23rd Jul 24, 2026
1d66d4a
Fixed WebAuthn challenge expiration on retried attempts.
23rd Jul 24, 2026
e045499
Fixed cross-datacenter WebAuthn login.
23rd Jul 24, 2026
816bd7b
Fixed settings opening under boxes without session.
23rd Jul 24, 2026
089b4ca
Fix possible assertion violation in text.
john-preston Jul 24, 2026
9a6accb
Place Markdown table titles before preview icons
john-preston Jul 24, 2026
d2e5ebb
Create new chats from Community chooser
john-preston Jul 24, 2026
2a6fd2c
Enable upload caption edits in forum topics
john-preston Jul 24, 2026
e96f7fe
Applied tabs appearance setting to vertical folders strip.
23rd Jul 24, 2026
3936168
Moved shared style structs to own files.
23rd Jul 25, 2026
9d52a03
Removed unused style includes from sources.
23rd Jul 25, 2026
edec595
Split per-consumer blocks out of big style files.
23rd Jul 25, 2026
b2e7008
Fixed Escape exiting intro instead of returning to QR step.
23rd Jul 25, 2026
4e91b9e
Guarded login code handler against destroyed code step.
23rd Jul 25, 2026
cf8cd34
Elided too long user names in add contact bar.
23rd Jul 25, 2026
bcf33dd
Added delayed tooltip with full name in add contact bar.
23rd Jul 25, 2026
ce38f8c
Fixed group emoji section repaint in emoji list widget.
23rd Jul 25, 2026
80373ba
Added section match guard for emoji repaint dedupe to emoji list widget.
23rd Jul 25, 2026
498475a
Fixed audio files playlist ignoring opened forum topic.
23rd Jul 25, 2026
ec86198
Scoped media player playlist panel to current playlist.
23rd Jul 25, 2026
0d7f650
Extracted deep link menu for experimental settings into common helper.
23rd Jul 25, 2026
9fa4807
Fixed switch inline query in channel direct messages.
23rd Jul 26, 2026
1e7f9a0
[thanos] Skipped message dissolution while window is not rendered.
23rd Jul 26, 2026
bea9590
[thanos] Cancelled in-flight dissolution when window stops rendering.
23rd Jul 26, 2026
fc6291b
[thanos] Moved collapse gaps ownership to effect controller.
23rd Jul 26, 2026
68231e5
[thanos] Fixed double counted height of message being removed.
23rd Jul 26, 2026
75602cf
[thanos] Fixed collapse gap position when history top margin moves.
23rd Jul 26, 2026
c8c6168
[thanos] Pinned scroll to bottom within same frame during collapse.
23rd Jul 26, 2026
c0a713a
[thanos] Fixed collapse gap snapping shut on quick repeated deletions.
23rd Jul 26, 2026
c86a207
[thanos] Applied collapse gaps to migrated history painting.
23rd Jul 26, 2026
461d837
[thanos] Moved collapse gaps with content when older messages loaded.
23rd Jul 26, 2026
725aa16
[thanos] Kept scroll steady when anchor lost date bar to loaded message.
23rd Jul 26, 2026
91d4a65
[thanos] Kept inherited date bar at collapse gap top while it closes.
23rd Jul 26, 2026
4d5d40d
Disabled Touch Bar by default on Apple Silicon Macs.
23rd Jul 26, 2026
41709b9
Added external link icon to sponsored message button.
23rd Jul 26, 2026
fb56460
Fixed crash on quit by clearing folder chats lists before main one.
23rd Jul 26, 2026
1b35a69
Fixed crash on search in community with forced embedded search.
23rd Jul 27, 2026
1b10e38
Added sliding tabs widget with animated content switching.
23rd Jul 27, 2026
76aa496
Added slide animation between transaction history tabs.
23rd Jul 27, 2026
0882078
Added slide animation between bot earnings history tabs.
23rd Jul 27, 2026
cf255e7
Switch slideshow slides by touch in chat sections
john-preston Jul 25, 2026
076b358
Hide member tag editing in communities
john-preston Jul 25, 2026
3948db9
Keep list pinned when composer grows mid-bounce
john-preston Jul 25, 2026
5a4fe11
Keep chat section pinned during overscroll bounce
john-preston Jul 26, 2026
317b612
Apply the top bar height delta once in chat section
john-preston Jul 26, 2026
807ff98
[ai] Review from independent lenses and route unverified gaps
john-preston Jul 26, 2026
5a17b72
[ai] Better API request lifetime instructions.
john-preston Jul 26, 2026
f5bf555
Widen the replies-root at-bottom check in chat
john-preston Jul 26, 2026
f3a38d7
Apply the top bar delta once per section resize
john-preston Jul 26, 2026
2e1af1a
Apply the top bar delta once in legacy history
john-preston Jul 26, 2026
82bd13a
Keep the list anchored when the replies bar appears
john-preston Jul 26, 2026
4815f89
[ai] Keep Computer Use interruptions non-blocking.
john-preston Jul 13, 2026
b9db1fa
Remove the unused top-moved helper from info content
john-preston Jul 26, 2026
83e97ae
Fix some more formula parsing crashes.
john-preston Jul 27, 2026
7b214bd
Fix macOS crash when a second instance connects
john-preston Jul 27, 2026
5e3301f
Preserve empty paragraphs in rich article layouts
john-preston Jul 24, 2026
57d8627
Allow community admins without membership
john-preston Jul 24, 2026
360fb59
Replaced sliding tabs snapshots with opaque ones.
23rd Jul 27, 2026
3ec2d7d
Removed unused premium bot dependency from earn transaction history.
23rd Jul 27, 2026
a2352e3
Guarded passkey login callback by intro step.
23rd Jul 24, 2026
3b4c518
Requested passkey list on first call after launch.
23rd Jul 24, 2026
0f153a6
Fix scroll jump when messages load during collapse
john-preston Jul 27, 2026
b78ff6f
Hit-test touch slideshow drags at the touch position
john-preston Jul 27, 2026
f31bb4a
Fix playlist scope for accessibility media playback
john-preston Jul 27, 2026
093cdc5
Fix frozen animated emoji after emoji search
john-preston Jul 27, 2026
ed8b87a
Skip background loading in hidden sliding tabs
john-preston Jul 27, 2026
4be7181
Use contacts list for new community admin.
john-preston Jul 27, 2026
26bc83a
Make thinner stroke of unchecked check.
john-preston Jul 27, 2026
148ac47
Fixed message deletion by keyboard in history view char section.
23rd Jul 27, 2026
815033b
[thanos] Cleared stale removal height in history view list widget.
23rd Jul 27, 2026
cf4eee7
[thanos] Reserved collapse gap in list top margin while it closes.
23rd Jul 27, 2026
c09a63b
[thanos] Kept scroll baseline alive across list slice refresh.
23rd Jul 27, 2026
fccb267
Version 7.0.6.
john-preston Jul 27, 2026
1c276a7
Removed LibraryLoader api set from Windows delay-load list.
23rd Jul 24, 2026
d3aa07c
Added vendored libfido2 and libcbor static builds.
23rd Jul 24, 2026
e87a4f6
Added caBLE v2 hybrid transport core.
23rd Jul 24, 2026
b31c287
Added cross-platform WebAuthn ceremony engine with platform stubs.
23rd Jul 24, 2026
5ba7a55
Added Linux WebAuthn support via BlueZ and libfido2.
23rd Jul 24, 2026
36fb841
Added macOS WebAuthn support via CoreBluetooth and libfido2.
23rd Jul 24, 2026
298014c
Added Windows WebAuthn support via webauthn.dll and libfido2 fallback.
23rd Jul 24, 2026
3b69866
Guarded passkey registration callbacks by their box.
23rd Jul 24, 2026
8fb09f5
Added arrow key navigation in settings sections.
23rd Jul 24, 2026
354bf62
[img-editor] Added geometric shapes to paint mode.
23rd Jul 25, 2026
e401c06
Added experimental UserNotifications manager for macOS.
23rd Jul 26, 2026
fda5ae9
Fixed swipe-to-reply on incoming ephemeral messages.
23rd Jul 27, 2026
c2961ad
Fixed reaction animation position during swipe-to-reply.
23rd Jul 27, 2026
1c75974
[img-editor] Added item transforms to undo history.
23rd Jul 27, 2026
73bb550
[img-editor] Excluded preset sticker image from undo history.
23rd Jul 27, 2026
075927c
[img-editor] Added exact canvas fit for preset sticker image.
23rd Jul 27, 2026
641bbbe
Added return to image editor from sticker creator box.
23rd Jul 27, 2026
7c86e5d
Added emoji search to sticker creator picker overlay.
23rd Jul 27, 2026
87a022a
[ai] Have semi-prepared testing run.
john-preston Jul 28, 2026
140c9a9
[ai] Treat the live test folder as disposable
john-preston Jul 28, 2026
bd702c4
Fix build with MSVC.
john-preston Jul 28, 2026
9243860
Extend pull gesture to unread forum topics
john-preston Jul 24, 2026
64c8d95
[ai] Improve testing cycles.
john-preston Jul 28, 2026
ce77904
[ai] Skip code review when there is no product diff
john-preston Jul 28, 2026
02ab391
[ai] Fixed synthetic click point type in the test harness.
john-preston Jul 28, 2026
383bf97
Explicitly disable clipboard reading.
john-preston Jul 28, 2026
12e8d4a
[ai] Add Linux-specific / cppgir instructions.
john-preston Jul 29, 2026
eb83403
[ai] Attempt to judge the structure of the plan.
john-preston Jul 29, 2026
4911100
[ai] Fuse real launches and assert document opens
john-preston Jul 28, 2026
f1e45d4
[ai] Capture off-screen rows and name misframing
john-preston Jul 28, 2026
ca5ac77
[ai] Clear stale crash dumps in test SETUP
john-preston Jul 29, 2026
d722407
[ai] Expose open predicates to the hand-off helper
john-preston Jul 30, 2026
668eccc
[ai] Preserve project lineage in task routing.
john-preston Jul 30, 2026
f238e46
Default rich message posting to premium
john-preston Jul 29, 2026
08f466f
[ai] Clear a stale crash report before a test run
john-preston Jul 30, 2026
798fc5c
[ai] Diagnose a crash after clearing stale state
john-preston Jul 30, 2026
226ca6f
Grouped experimental options into described rows by category.
23rd Jul 31, 2026
1f67171
Update patches with Qt 6 crash fix.
john-preston Jul 31, 2026
57fd706
Add some more IP revealing extensions.
john-preston Jul 31, 2026
34b896c
Harden formula parsing some more.
john-preston Jul 31, 2026
5c220ac
Fix reschedule for some rich text serialization.
john-preston Jul 31, 2026
1ac54f5
Fix possible crash in webapps.
john-preston Jul 31, 2026
e499ccb
Moved Linux caBLE scanner to generated BlueZ interfaces.
23rd Jul 29, 2026
7402941
Kept security key reachable when bluetooth is unavailable.
23rd Jul 29, 2026
a97b4a6
Added BlueZ failure logging to Linux caBLE scanner.
23rd Jul 29, 2026
a196a69
Added security key fallback to passkey registration.
23rd Jul 31, 2026
da5a4ef
Fixed quick dialog action trigger on release outside dialogs.
23rd Jul 31, 2026
768cf7c
[img-editor] Fixed invalid shape geometry for tiny images.
23rd Jul 31, 2026
b840c8b
Added bluez and u2f-devices snap plugs for passkeys.
23rd Jul 31, 2026
a912514
Removed unreachable dummy BLE scanner from webauthn build.
23rd Jul 31, 2026
b088356
[img-editor] Added aspect ratio to item transform history.
23rd Jul 31, 2026
d9214a3
[img-editor] Added arrow bend to item transform history.
23rd Jul 31, 2026
fc6174e
Fixed clearing of in-flight requests in UserNotifications on macOS.
23rd Jul 31, 2026
6858f10
Use target_link_frameworks.
john-preston Jul 31, 2026
8df8f17
Use implib for libudev.
john-preston Jul 31, 2026
303db96
Add sent message watcher to test harness
john-preston Jul 30, 2026
b23c32d
Reconcile harness docs with stale crash setup
john-preston Jul 31, 2026
69527e8
Recover autonomous builds from output locks
john-preston Jul 31, 2026
85a134f
Guard custom emoji click data lifetime
john-preston Jul 31, 2026
3dd9646
Bind custom emoji activation to pressed object
john-preston Jul 31, 2026
ccab70a
Make chats-list wait non-fatal
john-preston Jul 31, 2026
ea1bfa2
Fix Mini App cookies on Linux
Suthankan1 Jul 31, 2026
b6adefd
Fixed build Windows CI.
23rd Jul 31, 2026
beedf9a
Fixed Qt 6 Windows link error on duplicate cbor_encode_double.
23rd Jul 31, 2026
4573d38
[ai] Remove test code from release.
john-preston Jul 31, 2026
848e13c
Version 7.0.7.
john-preston Jul 31, 2026
105f85e
Use canonical WIN32/APPLE/else order in the new fido2/webauthn code
ilya-fedin Jul 31, 2026
69e01ae
Prepend pkg-config udev search with tdesktop to avoid conflicts
ilya-fedin Jul 31, 2026
ee93b40
Support packaged fido2
ilya-fedin Jul 31, 2026
e861100
Removed 28 unused style entries.
actions-user Aug 1, 2026
821981c
Fix launch on some Windows 7.
john-preston Aug 3, 2026
8ed7b58
Version 7.0.8.
john-preston Aug 3, 2026
cea59cf
Bump actions/stale from 10 to 11
dependabot[bot] Aug 3, 2026
dfaef0f
Update User-Agent for DNS to Chrome 150.0.0.0.
actions-user Aug 1, 2026
d17f5a1
Update dav1d, libavif, libde265, libheif, libjxl
novomesk Jul 28, 2026
aa964e3
Allow GIFs in GroupedMedia grids.
john-preston Aug 2, 2026
7d42ef4
Allow slideshows more than 10.
john-preston Aug 3, 2026
f7c00e6
Make harness synthetic input settle postponed fix-ups
john-preston Aug 3, 2026
e65ea19
Defer postponed calls during harness synthetic input
john-preston Aug 3, 2026
cbc6f8c
Correct rich-message voice controls in both views
john-preston Aug 3, 2026
52f5af1
Center scaled community hidden badge
john-preston Aug 3, 2026
4d85908
Group copied forum messages by topic ranges
john-preston Aug 3, 2026
15e1313
Guard GIF layout against empty decoded frames
john-preston Aug 3, 2026
175f7fc
Populate community hashtag search on first click
john-preston Aug 3, 2026
4a8d7fc
Make test recovery more direct
john-preston Aug 3, 2026
ab20eb8
Scope setup-email gate to auxiliary windows and URLs
john-preston Aug 4, 2026
cd8f3b8
Slide to the next unread forum topic from bottom
john-preston Jul 29, 2026
edfeeb3
Include unopened forum topics in pull navigation
john-preston Aug 4, 2026
f353a24
Update openal-soft on Linux to 1.25.2.
john-preston Aug 4, 2026
ea6e1ed
Remove fullscreen media viewer shadow
john-preston Aug 4, 2026
2fc2013
Fix MicroTeX crashes on smallmatrix and stray units
john-preston Aug 4, 2026
d0f3ac6
Fix some more formula user-input handling.
john-preston Aug 4, 2026
64a2405
Fix the build by using the Audio media kind
john-preston Aug 4, 2026
906f9c9
Add some more formula-gen hardening.
john-preston Aug 5, 2026
c17c56a
Added support of callback buttons in notifications on Linux.
23rd Aug 1, 2026
bb240d6
Added single source of boosts count in giveaway creation box.
23rd Aug 1, 2026
1e61d7e
Fixed inconsistent mouse wheel scroll step on macOS.
23rd Aug 1, 2026
b3c68dc
Added experimental option for Vulkan rendering on Linux.
23rd Aug 1, 2026
ec753a3
Added swipe ungroup animation for community rows in dialogs.
23rd Aug 3, 2026
26a6365
Fixed quick action mark as read on collapsed community rows in dialogs.
23rd Aug 3, 2026
05edce5
Added ungroup quick action as fallback for community rows in dialogs.
23rd Aug 3, 2026
ce089ee
Fixed saving notify settings of communities to server.
23rd Aug 3, 2026
abc4e36
Fixed restoring pinned community dialogs on launch.
23rd Aug 3, 2026
8ad4407
[img-editor] Added drag threshold to item transforms.
23rd Aug 3, 2026
7eaf253
[img-editor] Added empty stroke guard for brush items.
23rd Aug 3, 2026
13ebd8c
[img-editor] Added drag threshold to brush strokes.
23rd Aug 3, 2026
cd43bca
Fixed losing active profile tab on message edit.
23rd Aug 3, 2026
2139ef0
Added restoring of chosen profile tab after it hides.
23rd Aug 3, 2026
d32499d
Disabled unsupported formatting in poll question and answers.
23rd Aug 3, 2026
5fe465b
Fixed reverse focus order on Shift+Tab in input fields.
23rd Aug 3, 2026
2bc48fb
Added pasting of spreadsheet tables into article editor.
23rd Aug 3, 2026
199c039
Fixed clipped caret at end of long line in input fields.
23rd Aug 3, 2026
6af3039
Replaced pill tabs with profile tabs strip in peer color box.
23rd Aug 3, 2026
a4bca94
Fixed ripple shape of forum userpic buttons.
23rd Aug 3, 2026
c92d390
Fixed open photo action display for peers without photo.
23rd Aug 3, 2026
5e90a11
[img-editor] Fixed userpic crop shape for communities.
23rd Aug 3, 2026
51185c4
Added icon for remove from community button in edit peer community box.
23rd Aug 3, 2026
2dda1fd
Added arrow to linked community row in edit peer info box.
23rd Aug 3, 2026
804d610
Added helpers for enabling and disabling auto-download by source.
23rd Aug 3, 2026
eeb3e7c
Added separated toggle helper for settings buttons.
23rd Aug 3, 2026
009ae7d
Added master toggles to auto-download rows in advanced settings.
23rd Aug 3, 2026
175b900
Fixed rounding of top corners in scrolled cocoon box.
23rd Aug 3, 2026
6a90ccd
Added community userpic to chats list top bar.
23rd Aug 4, 2026
852d968
Decreased size in style for userpic from community top bar.
23rd Aug 4, 2026
2002c1c
Added pasting of rich HTML blocks into article editor.
23rd Aug 4, 2026
bc7b646
Added anchors and quote captions to article editor HTML import.
23rd Aug 4, 2026
d018ef9
Allowed AI creation without premium in article editor.
23rd Aug 4, 2026
732e48a
Added submit way support to prompt field in AI creation box.
23rd Aug 4, 2026
44e2551
Added showing of error popup service notifications in article window.
23rd Aug 4, 2026
8677d91
Added bottom outer corners painting toggle to labeled emoji tabs.
23rd Aug 4, 2026
c459690
Added single use tone api support to AI compose requests.
23rd Aug 4, 2026
58e1eb7
Added prompt tab with custom prompt field to AI editor.
23rd Aug 4, 2026
deb3677
Extracted rich draft clearing from rich editor migration.
23rd Aug 4, 2026
96d58e6
Added discard button to rich message draft in composer.
23rd Aug 4, 2026
684017e
Added wrapping of size limit label in export settings.
23rd Aug 4, 2026
654b6d1
Added extra export panel height for wrapped size limit label.
23rd Aug 4, 2026
fd7052e
Added layer guard for context menu in media view overlay widget.
23rd Aug 4, 2026
dbf47a6
Added context menu propagation guard to tabbed selector.
23rd Aug 4, 2026
e444d5a
Added effects panel style override to send menu details.
23rd Aug 4, 2026
fb08f95
Added contextual icon for gif caption item in gifs list menu.
23rd Aug 4, 2026
90736a7
Added contextual styles to sticker set and emoji list menus.
23rd Aug 4, 2026
deb6b61
Added contextual ripple to search shortcut packs in tabbed panel.
23rd Aug 4, 2026
66a7790
Added contextual style to reset recents item in emoji menu.
23rd Aug 4, 2026
5c0660e
Added open sets feature guard to sticker set creator badge.
23rd Aug 4, 2026
8f30928
Fixed voice record bar shape in stories compose controls.
23rd Aug 4, 2026
4e60982
Fixed crash on tab switching in tabbed selector.
23rd Aug 4, 2026
97fe436
Preserve video progress clipping in slideshows
john-preston Aug 4, 2026
49d0922
[ai] Correct style built-in type documentation
john-preston Aug 4, 2026
92877af
[ai] Default test interface scale per run
john-preston Aug 4, 2026
058b9fe
Document hidden RpWidget geometry event deferral
john-preston Aug 4, 2026
194d4b2
Track generated and third-party header dependencies
john-preston Aug 4, 2026
f56f7f7
Suppress MicroTeX reorder warnings in td_iv builds
john-preston Aug 4, 2026
8e921d1
Order MicroTeX suppressions after MSVC enablers
john-preston Aug 4, 2026
0233582
Fix build with MSVC.
john-preston Aug 5, 2026
90ca232
Added external task entries to downloads manager.
23rd Aug 5, 2026
2e457a8
Added rich message saving to HTML.
23rd Aug 5, 2026
e177d7f
Added rich message import from exported HTML.
23rd Aug 5, 2026
3a03bd7
Added regrouping of mixed media selections in rich message editor.
23rd Aug 5, 2026
8b54d62
Added group type switch to grouped media context menu.
23rd Aug 5, 2026
5f50566
Added ungrouping of grouped media to selection context menu.
23rd Aug 5, 2026
580a6e5
Fixed userpic flicker in mentions autocomplete on every typed character.
23rd Aug 5, 2026
33f38da
Fixed clipped collapsed badge for large counts in emoji list widget.
23rd Aug 5, 2026
9e2ff91
Added keep aspect ratio toggle to sticker creation editor.
23rd Aug 5, 2026
40751b4
Fix libvpx build with nasm.
john-preston Aug 5, 2026
91303da
Fix possible crash in miniapps.
john-preston Aug 5, 2026
f931072
Fix build with MSVC.
john-preston Aug 5, 2026
e45d60d
Add some hardenings to blocking popups.
john-preston Aug 5, 2026
3ec91b5
Fix build with GCC.
john-preston Aug 5, 2026
a1e89e1
Version 7.0.9.
john-preston Aug 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
87 changes: 87 additions & 0 deletions .agents/shared/build-lock-recovery.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
# Autonomous Windows Build-Lock Recovery

This contract applies to Debug builds run by `continue` / `perform-task`.
Those workflows own the selected checkout's build tree for the duration of
the task, so a transient lock is recoverable and is not a task `Block` or a
global hard stop on first sight.

## Safety boundary

Resolve `SOURCE_ROOT`, its exact `BUILD_ROOT`, and the exact checkout `EXE`
before acting.

- Process control may target the exact `EXE`, or a verified compiler/linker
process tied to `BUILD_ROOT` or directly holding one named artifact inside
it.
- File deletion may target only exact named artifacts inside `BUILD_ROOT`.
- Never kill by image name, stop an installed Telegram client, touch another
checkout, delete a directory, or terminate an IDE/debugger or an unknown
process.
- In this autonomous workflow, an exact-path `EXE` process is a disposable
task/test straggler even if a previous phase launched it. It may be stopped.

## Before every build

Serialize builds that share `BUILD_ROOT`. Stop only an exact-path app
straggler:

```bash
python SOURCE_ROOT/.agents/skills/process-inbox/scripts/workspace.py \
test-cleanup --exe EXE
```

Do not pass `--delete-exe` during this proactive step.

## Recover a lock

Treat `C1041`, `LNK1104`, `cannot open output file`, `access denied`, `file in
use`, and equivalent failures on an output under `BUILD_ROOT` as one recovery
round:

1. Preserve the complete build output in the task's `.local/build-logs/`.
2. Extract every exact locked output path from the error. For an
`LNK1104` naming the task executable, use `EXE`. Do not guess a path that
the log did not identify.
3. Run:

```bash
python SOURCE_ROOT/.agents/skills/process-inbox/scripts/workspace.py \
build-lock-recover \
--source-root SOURCE_ROOT \
--build-root BUILD_ROOT \
--exe EXE \
--artifact LOCKED_PATH \
--wait 10
```

Repeat `--artifact` for multiple named outputs. The helper waits for
transient scanners, stops the exact checkout executable, uses Windows
Restart Manager to identify direct holders, terminates only verified build
processes, and deletes only the named artifacts so the next build
regenerates them. An artifact that disappears during the wait is already
recovered and is reported as `already_absent`.
4. When the helper reports `safe_to_retry: true`, rerun the same Debug build.
A recovery round consumes neither an implementation attempt nor a test run.
A Restart Manager query error never authorizes terminating an unverified
process. It may still be safe to retry when every named artifact was
deleted or became absent without doing so; if any artifact remains, the
round is unsafe.

Run at most three recovery-and-build rounds for one build phase. A new locked
artifact reported by the retry is handled by the next round within that same
cap.

## Exhaustion

Hard-stop only when:

- three bounded recovery rounds still produce a lock;
- the failure does not identify an exact locked path, or identifies one
outside `BUILD_ROOT`;
- the helper reports a surviving IDE, debugger, unknown, or other non-owned
holder; or
- exact-path safety cannot be established.

Leave the task `in-progress` with its source and artifacts recoverable. Report
the final build error, the helper JSON, the named artifact, and any surviving
holder. Do not publish a task `Block` for this environment failure.
703 changes: 703 additions & 0 deletions .agents/shared/test-loop.md

Large diffs are not rendered by default.

Loading