Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
285 commits
Select commit Hold shift + click to select a range
584b8ff
docs(5d4-streaming): refresh research.md and drift.md with measure-fi…
openhands-agent Jun 12, 2026
b87b82b
chore(openhands): record run trace 27446387093-1
openhands-agent Jun 12, 2026
88effae
chore(openhands): apply partial agent changes (agent outcome: failure)
openhands-agent Jun 12, 2026
fa61fc2
chore(openhands): record run trace 27446387806-1
openhands-agent Jun 12, 2026
21e0581
docs(5d1): research + drift snapshot
openhands-agent Jun 12, 2026
5e430c4
chore(openhands): record run trace 27446385687-1
openhands-agent Jun 12, 2026
d698585
chore(openhands): apply partial agent changes (agent outcome: failure)
openhands-agent Jun 12, 2026
fe6f06a
chore(openhands): record run trace 27446388320-1
openhands-agent Jun 12, 2026
4cd6e91
chore(openhands): apply agent changes
openhands-agent Jun 12, 2026
198f815
chore(openhands): record run trace 27446386333-1
openhands-agent Jun 12, 2026
ef64437
chore(openhands): apply agent changes
openhands-agent Jun 12, 2026
fe67dd8
chore(openhands): record run trace 27446387018-1
openhands-agent Jun 12, 2026
e433e9e
chore(openhands): record run trace 27454103300-1
openhands-agent Jun 13, 2026
c8d2836
docs(5d4): plan and design for fresh defer + PSR + e2e streams
openhands-agent Jun 13, 2026
6beb863
chore(openhands): record run trace 27454273181-1
openhands-agent Jun 13, 2026
da8f893
chore(openhands): apply partial agent changes (agent outcome: failure)
openhands-agent Jun 13, 2026
9cbd53e
chore(openhands): record run trace 27454169329-1
openhands-agent Jun 13, 2026
46d42c3
plan-eval: PLAN-EVAL verdict for 5d4 streaming — NEEDS-REVISION
openhands-agent Jun 13, 2026
5efae21
chore(openhands): record run trace 27461651497-1
openhands-agent Jun 13, 2026
3de7947
5d2-builders: PLAN-EVAL verdict FAIL_PLAN
openhands-agent Jun 13, 2026
d517047
chore(openhands): record run trace 27461651279-1
openhands-agent Jun 13, 2026
7b46e20
plan(5d4): resolve clock-port open decision per supervisor
openhands-agent Jun 13, 2026
11c7633
chore(openhands): record run trace 27462135675-1
openhands-agent Jun 13, 2026
2794806
chore(openhands): apply agent changes
openhands-agent Jun 13, 2026
8dbb21e
chore(openhands): record run trace 27462608746-1
openhands-agent Jun 13, 2026
d1f6f4e
chore(openhands): record run trace 27461621449-1
openhands-agent Jun 13, 2026
abfca1e
chore(openhands): apply partial agent changes (agent outcome: failure)
openhands-agent Jun 13, 2026
9a2be0b
chore(openhands): record run trace 27461621854-1
openhands-agent Jun 13, 2026
ec3f5ab
chore(openhands): apply partial agent changes (agent outcome: failure)
openhands-agent Jun 13, 2026
03cc7ac
chore(openhands): record run trace 27461621394-1
openhands-agent Jun 13, 2026
9257a3c
docs(plan): revise 5d4 plan/design with full Arch-3 gate map, doc-lin…
openhands-agent Jun 13, 2026
272454c
chore(openhands): apply partial agent changes (agent outcome: failure)
openhands-agent Jun 13, 2026
fb27318
chore(openhands): record run trace 27461651058-1
openhands-agent Jun 13, 2026
ef4922b
chore(openhands): apply agent changes
openhands-agent Jun 13, 2026
9465953
chore(openhands): record run trace 27463177474-1
openhands-agent Jun 13, 2026
73e2759
plan(5d2): revise design.md, plan.md, drift.md after PLAN-EVAL FAIL_PLAN
openhands-agent Jun 13, 2026
b7075ee
chore(openhands): apply agent changes
openhands-agent Jun 13, 2026
f8e214a
chore(openhands): record run trace 27462135694-1
openhands-agent Jun 13, 2026
c45b256
PLAN-EVAL #3: independent evaluator verdict FAIL_PLAN
openhands-agent Jun 13, 2026
f45b3fb
chore(openhands): record run trace 27464169296-1
openhands-agent Jun 13, 2026
744bb61
docs(5d1): complete research.md markers, update drift.md
openhands-agent Jun 13, 2026
17f4f27
chore(openhands): record run trace 27463663315-1
openhands-agent Jun 13, 2026
c0be86c
research(5d5): fill fresh<->fresh-ui seam analysis
openhands-agent Jun 13, 2026
cc96a26
research(5d5): fill Standard Schema landscape + market bar
openhands-agent Jun 13, 2026
220abfa
research(5d5): fill D-5d5-1 drift / umbrella-level publish blocker
openhands-agent Jun 13, 2026
9e36d4d
chore(openhands): record run trace 27463663659-1
openhands-agent Jun 13, 2026
def2029
plan(5d1): design, slice lock, context pack, drift update for fresh s…
openhands-agent Jun 13, 2026
342e3ce
chore(openhands): record run trace 27464673888-1
openhands-agent Jun 13, 2026
bd9975b
chore(openhands): apply agent changes
openhands-agent Jun 13, 2026
9eddba8
chore(openhands): record run trace 27464673881-1
openhands-agent Jun 13, 2026
36bd391
docs(5d6): fill research.md TODOs and drift ledger for query/server/f…
openhands-agent Jun 13, 2026
eeb95c3
chore(openhands): record run trace 27463663749-1
openhands-agent Jun 13, 2026
119f41b
chore(openhands): apply agent changes
openhands-agent Jun 13, 2026
1c7c414
chore(openhands): record run trace 27465201437-1
openhands-agent Jun 13, 2026
3ae538c
[5d5] PLAN phase artifacts: design, plan, context-pack, drift
openhands-agent Jun 13, 2026
499d4e9
[5d5] record commit hash for PLAN artifact milestone
openhands-agent Jun 13, 2026
0614526
chore(openhands): record run trace 27465201406-1
openhands-agent Jun 13, 2026
2163459
docs(5d3-route): fill PLAN-phase design.md + plan.md, update drift + …
openhands-agent Jun 13, 2026
28168a4
chore(openhands): apply agent changes
openhands-agent Jun 13, 2026
9b64001
chore(openhands): record run trace 27464169182-1
openhands-agent Jun 13, 2026
a7ca812
chore(openhands): apply agent changes
openhands-agent Jun 13, 2026
d35fdde
chore(openhands): record run trace 27466343559-1
openhands-agent Jun 13, 2026
d76c29d
Add PLAN-EVAL for 5d3 route manifest + contract runtime
openhands-agent Jun 13, 2026
f8acd95
chore(openhands): record run trace 27466343267-1
openhands-agent Jun 13, 2026
1333b21
chore(openhands): record run trace 27465201451-1
openhands-agent Jun 13, 2026
1bdd141
docs(5d6): PLAN-phase design.md, plan.md, drift update for query/serv…
openhands-agent Jun 13, 2026
bcc1cc1
docs(5d6): record PLAN-phase commit hash
openhands-agent Jun 13, 2026
711d246
chore(openhands): record run trace 27467331167-1
openhands-agent Jun 13, 2026
f1a288a
chore(openhands): record run trace 27467844680-1
openhands-agent Jun 13, 2026
f2bfec2
plan-eval 5d6-query: independent evaluation complete, APPROVED
openhands-agent Jun 13, 2026
bf30141
chore(openhands): record run trace 27468361894-1
openhands-agent Jun 13, 2026
d5c03fc
docs(5d4): consolidate plan.md — full Arch-3 18-gate map + doc-lint(1…
rickylabs Jun 13, 2026
bec665d
chore(openhands): record run trace 27468952079-1
openhands-agent Jun 13, 2026
7fb1e24
chore(openhands): apply agent changes
openhands-agent Jun 13, 2026
39b7de1
chore(openhands): record run trace 27468989228-1
openhands-agent Jun 13, 2026
edca845
plan-eval(retry4): APPROVED — all 3 blockers resolved, drift consistent
openhands-agent Jun 13, 2026
973dcd1
chore(openhands): record run trace 27469004141-1
openhands-agent Jun 13, 2026
b57156d
fix(cli): support WSL scaffold copy fallback
rickylabs Jun 13, 2026
6104b94
fix(cli): support WSL scaffold copy fallback
rickylabs Jun 13, 2026
54fb9e6
fix(cli): support WSL scaffold copy fallback
rickylabs Jun 13, 2026
7b30275
fix(cli): support WSL scaffold copy fallback
rickylabs Jun 13, 2026
4504b6b
fix(cli): support WSL scaffold copy fallback
rickylabs Jun 13, 2026
c5852f8
fix(cli): support WSL scaffold copy fallback
rickylabs Jun 13, 2026
0a72579
fix(cli): support WSL scaffold copy fallback
rickylabs Jun 13, 2026
b326c52
fix fresh streaming public surface
rickylabs Jun 13, 2026
7d3c8e3
polish fresh streaming telemetry and sse surface
rickylabs Jun 13, 2026
27f1267
test fresh renderer abort cancellation
rickylabs Jun 13, 2026
dcbb4a8
test fresh sse abort cleanup
rickylabs Jun 13, 2026
ed5fedc
Implement fresh support spine quality slice
rickylabs Jun 13, 2026
877e1c5
Record 5d1 implementation commit
rickylabs Jun 13, 2026
10b0121
wrap fresh streams public surface
rickylabs Jun 13, 2026
98a96ca
Record 5d1 push blocker
rickylabs Jun 13, 2026
d669b82
document fresh permissions and slow types
rickylabs Jun 13, 2026
f490b60
close out fresh streaming gates
rickylabs Jun 13, 2026
9be04b0
record fresh streaming closeout commit
rickylabs Jun 13, 2026
6aeebf3
record fresh streaming push blocker
rickylabs Jun 13, 2026
df29fea
eval(5d1): record support spine verdict
rickylabs Jun 13, 2026
1c4fadf
Record 5d1 publication resolution
rickylabs Jun 13, 2026
83a84fa
record fresh streaming blocker commit
rickylabs Jun 13, 2026
6bd0431
Record 5d1 publication resolution
rickylabs Jun 13, 2026
9440f11
Merge remote-tracking branch 'origin/feat/package-quality-wave5-apps-…
rickylabs Jun 13, 2026
5b0d7a7
record fresh streaming push resolution
rickylabs Jun 13, 2026
17a5b17
eval(5d1): clarify final publication state
rickylabs Jun 13, 2026
cc3205c
evaluate fresh streaming implementation
rickylabs Jun 13, 2026
fcb188c
fix(fresh): repair 5d1 fail-fix gates
rickylabs Jun 13, 2026
c9a4841
chore(5d1): record fail-fix commit
rickylabs Jun 13, 2026
c7e5d9e
chore(5d1): record fail-fix push blocker
rickylabs Jun 13, 2026
1c92dc9
fix(fresh): publish 5d1 fail-fix gate repairs
rickylabs Jun 13, 2026
09b64bf
Merge remote-tracking branch 'origin/feat/package-quality-wave5-apps-…
rickylabs Jun 13, 2026
2ae0d7a
eval(5d1): record rerun pass verdict
rickylabs Jun 13, 2026
8aa0b74
chore(5d1): record rerun evaluator commit
rickylabs Jun 13, 2026
ed3772d
chore(5d1): record rerun push blocker
rickylabs Jun 13, 2026
36a6d88
Merge branch 'feat/package-quality-wave5-apps-5d1-support' into feat/…
rickylabs Jun 13, 2026
3ae35dc
Merge branch 'feat/package-quality-wave5-apps-5d4-streaming' into fea…
rickylabs Jun 13, 2026
5921494
chore(5d): record supervisor merge push blocker
rickylabs Jun 13, 2026
b87f88c
Merge branch 'feat/package-quality-wave5-apps-5d-fresh' into feat/pac…
rickylabs Jun 13, 2026
627796e
Merge branch \feat/package-quality-wave5-apps-5d-fresh\' into feat/p…
rickylabs Jun 13, 2026
99f48ba
Merge branch 'feat/package-quality-wave5-apps-5d-fresh' into feat/pac…
rickylabs Jun 13, 2026
e4e53f5
Merge branch 'feat/package-quality-wave5-apps-5d-fresh' into feat/pac…
rickylabs Jun 13, 2026
0b30d11
test(fresh): snapshot builders public surface
rickylabs Jun 13, 2026
b01ec31
fix(fresh): document form builder surface
rickylabs Jun 13, 2026
aed2925
refactor(fresh): extract define page builder state
rickylabs Jun 13, 2026
5105cf1
refactor(fresh): extract define page builder factory
rickylabs Jun 13, 2026
52bd5b9
refactor(fresh): extract define page builder validators
rickylabs Jun 13, 2026
8e519ad
refactor(fresh): move define page builder entry
rickylabs Jun 13, 2026
f1f2b9a
refactor(fresh): extract define page runtime context
rickylabs Jun 13, 2026
05ac7f5
refactor(fresh): extract define page runtime render
rickylabs Jun 13, 2026
2fa86c1
refactor(fresh): extract define page runtime handlers
rickylabs Jun 13, 2026
4ba10a4
refactor(fresh): move define page runtime entry
rickylabs Jun 13, 2026
80d9070
refactor(fresh): extract define page navigation context
rickylabs Jun 13, 2026
edab690
refactor(fresh): extract define page navigation hooks
rickylabs Jun 13, 2026
d675857
chore(5d2): record navigation hooks commit
rickylabs Jun 13, 2026
0ee035c
refactor(fresh): extract define page navigation link
rickylabs Jun 13, 2026
58d790a
chore(5d2): record navigation link commit
rickylabs Jun 13, 2026
30e0a6f
refactor(fresh): move define page navigation entry
rickylabs Jun 13, 2026
a2df689
chore(5d2): record navigation entry commit
rickylabs Jun 13, 2026
762a337
refactor(fresh): thin builders barrel
rickylabs Jun 13, 2026
646223d
chore(5d2): record builders barrel commit
rickylabs Jun 13, 2026
2b1e62f
refactor(fresh): trim define page type catalog
rickylabs Jun 13, 2026
91c8df7
chore(harness): record slice 16 commit
rickylabs Jun 13, 2026
a7a867b
docs(fresh): clean define page subbarrel docs
rickylabs Jun 13, 2026
6173d2f
chore(harness): record slice 17 commit
rickylabs Jun 13, 2026
8fda34f
chore(harness): record fresh publish dry run
rickylabs Jun 13, 2026
3b19802
chore(harness): record slice 18 commit
rickylabs Jun 13, 2026
12305b7
test(fresh): split define page builder tests
rickylabs Jun 13, 2026
147a49b
chore(harness): record slice 19 commit
rickylabs Jun 13, 2026
431bf52
test(fresh): split define page runtime tests
rickylabs Jun 13, 2026
b7fc043
chore(harness): record slice 20 commit
rickylabs Jun 13, 2026
fca2a2f
test(fresh): split define page navigation tests
rickylabs Jun 13, 2026
8f9a2ce
chore(harness): record slice 21 commit
rickylabs Jun 13, 2026
cddbfdc
test(fresh): split define page search tests
rickylabs Jun 13, 2026
6296fc0
chore(harness): record slice 22 commit
rickylabs Jun 13, 2026
580dfb2
test(fresh): add builder route fixtures
rickylabs Jun 13, 2026
434b93e
chore(harness): record slice 23 commit
rickylabs Jun 13, 2026
959f756
chore(harness): record builders test suite
rickylabs Jun 13, 2026
dcdedcb
chore(harness): record slice 24 commit
rickylabs Jun 13, 2026
6fb0555
chore(fresh): satisfy builders fitness gates
rickylabs Jun 14, 2026
8e91d84
chore(harness): record slice 25 commit
rickylabs Jun 14, 2026
cdf59fa
docs(fresh): complete form public doc lint
rickylabs Jun 14, 2026
12e8068
chore(harness): record slice 26 commit
rickylabs Jun 14, 2026
2ded6cd
chore(harness): close out builders implementation
rickylabs Jun 14, 2026
aa310dc
chore(harness): record slice 27 commit
rickylabs Jun 14, 2026
8cd6a44
Merge branch feat/package-quality-wave5-apps-5d2-builders into feat/p…
rickylabs Jun 14, 2026
9e13d3b
chore(5d): record 5d2 supervisor merge
rickylabs Jun 14, 2026
5ad6d83
Merge supervisor 5d2 into 5d3 route
rickylabs Jun 14, 2026
0e2a6b0
chore(5d3): record supervisor sync commit
rickylabs Jun 14, 2026
232b078
chore(5d3): record implementation session prompt
rickylabs Jun 14, 2026
8fcc7cd
chore(5d3): record implementation prompt commit
rickylabs Jun 14, 2026
dc5470f
refactor(fresh): split route contract facade
rickylabs Jun 14, 2026
bd769b9
chore(5d3): record route contract facade slice
rickylabs Jun 14, 2026
cabbaa8
refactor(fresh): extract route public types
rickylabs Jun 14, 2026
2726a86
chore(5d3): record route type extraction slice
rickylabs Jun 14, 2026
46881c5
refactor(fresh): split route pagination types
rickylabs Jun 14, 2026
ab4d720
chore(5d3): record route pagination type slice
rickylabs Jun 14, 2026
7810efc
refactor(fresh): split route contract types
rickylabs Jun 14, 2026
15902cb
chore(5d3): record route contract type slice
rickylabs Jun 14, 2026
e63ad37
refactor(fresh): extract route manifest types
rickylabs Jun 14, 2026
11f2fc2
chore(5d3): record route manifest type slice
rickylabs Jun 14, 2026
d57c40d
chore(5d3): record implementation readiness
rickylabs Jun 14, 2026
df89ef8
chore(5d3): record evaluator session prompt
rickylabs Jun 14, 2026
7056c02
eval(5d3): record route verdict
rickylabs Jun 14, 2026
c3ef016
Merge 5d3 route into 5d supervisor
rickylabs Jun 14, 2026
07a1f70
chore(5d): record 5d3 supervisor merge
rickylabs Jun 14, 2026
118439e
Merge 5d supervisor after 5d3 route
rickylabs Jun 14, 2026
18bce9a
Merge 5d supervisor after 5d3 route
rickylabs Jun 14, 2026
ff8cf6f
chore(5d5): sync supervisor after 5d3
rickylabs Jun 14, 2026
165843a
chore(5d6): sync supervisor after 5d3
rickylabs Jun 14, 2026
e80e622
chore(5d5): record implementation session prompt
rickylabs Jun 14, 2026
0977ce5
[5d5] Slice 1 form docs baseline
rickylabs Jun 14, 2026
c987bce
[5d5] Record slice 1 commit
rickylabs Jun 14, 2026
4e3c0bc
[5d5] Slice 2 split form types
rickylabs Jun 14, 2026
1e482b2
[5d5] Record slice 2 commit
rickylabs Jun 14, 2026
0374ab8
chore(5d5): record continuation prompt
rickylabs Jun 14, 2026
c283d4b
[5d5] Slice 3 split field descriptors
rickylabs Jun 14, 2026
c9a9b87
[5d5] Record slice 3 commit
rickylabs Jun 14, 2026
7ed51f5
[5d5] Slice 4 split schema adapter
rickylabs Jun 14, 2026
71e4448
[5d5] Record slice 4 commit
rickylabs Jun 14, 2026
fb58a7d
[5d5] Slice 5 verify return types
rickylabs Jun 14, 2026
761c59a
[5d5] Record slice 5 commit
rickylabs Jun 14, 2026
2e790c5
[5d5] Slice 6 public export sweep
rickylabs Jun 14, 2026
43be65f
[5d5] Record slice 6 commit
rickylabs Jun 14, 2026
19f3527
chore(5d5): record second continuation prompt
rickylabs Jun 14, 2026
91e8e17
[5d5] Slice 7 align form telemetry
rickylabs Jun 14, 2026
abc70b7
[5d5] Record slice 7 commit
rickylabs Jun 14, 2026
6fe4fbe
[5d5] Slice 8 audit form public surface
rickylabs Jun 14, 2026
ad4a3d9
[5d5] Record slice 8 commit
rickylabs Jun 14, 2026
25e7bc2
[5d5] Slice 9 add standard schema adapter
rickylabs Jun 14, 2026
300cc25
[5d5] Record slice 9 commit
rickylabs Jun 14, 2026
e42f4aa
[5d5] Fix slice 9 ledger hash
rickylabs Jun 14, 2026
9cbd550
chore(5d5): record final continuation prompt
rickylabs Jun 14, 2026
22b964d
[5d5] Slice 10 rebuild zod adapter
rickylabs Jun 14, 2026
7fe2963
[5d5] Record slice 10 commit
rickylabs Jun 14, 2026
3a11750
[5d5] Slice 11 add schema introspector contract
rickylabs Jun 14, 2026
9921aef
[5d5] Record slice 11 commit
rickylabs Jun 14, 2026
395bab5
[5d5] Slice 12 refresh fresh-ui seam recipe
rickylabs Jun 14, 2026
142eaf0
[5d5] Record slice 12 commit
rickylabs Jun 14, 2026
a461644
[5d5] Final scoped closeout
rickylabs Jun 14, 2026
a5e0cd7
[5d5] Record final closeout commit
rickylabs Jun 14, 2026
a590187
chore(5d5): record evaluator prompt
rickylabs Jun 14, 2026
40693c9
eval(5d5): record form verdict
rickylabs Jun 14, 2026
8a3298d
Merge 5d5 form into 5d supervisor
rickylabs Jun 14, 2026
200905e
chore(5d): record 5d5 supervisor merge
rickylabs Jun 14, 2026
64dcc0f
Merge 5d supervisor after 5d5 form
rickylabs Jun 14, 2026
f6e99e1
chore(5d6): sync supervisor after 5d5
rickylabs Jun 14, 2026
1be861a
chore(5d6): record implementation prompt after 5d5 sync
rickylabs Jun 14, 2026
11bbc73
docs(5d6): rebaseline query implementation start
rickylabs Jun 14, 2026
ac03cd9
docs(5d6): record slice 1 commit ledger
rickylabs Jun 14, 2026
7d4e10b
feat(fresh): wrap query public surface
rickylabs Jun 14, 2026
2e7edea
docs(5d6): record slice 2 commit ledger
rickylabs Jun 14, 2026
7599cca
fix(fresh): expose server streaming types
rickylabs Jun 14, 2026
d697b7e
docs(5d6): record slice 3 commit ledger
rickylabs Jun 14, 2026
3c841e4
fix(fresh): expose root cache entry types
rickylabs Jun 14, 2026
db829ff
docs(5d6): record slice 4 commit ledger
rickylabs Jun 14, 2026
b59b340
docs(5d6): rebaseline fresh public surface gates
rickylabs Jun 14, 2026
3f6675a
docs(5d6): record slice 5 commit ledger
rickylabs Jun 14, 2026
3925d5c
chore(fresh): clean package fmt lint residuals
rickylabs Jun 14, 2026
50b3bfd
docs(5d6): record slice 6 commit ledger
rickylabs Jun 14, 2026
8cdf510
chore(root): include fresh in quality wrappers
rickylabs Jun 14, 2026
012abe3
docs(5d6): record slice 7 commit ledger
rickylabs Jun 14, 2026
4584b32
feat(fresh): add query hydration and app seams
rickylabs Jun 14, 2026
cbdc4ff
docs(5d6): record slice 8 commit ledger
rickylabs Jun 14, 2026
8bd708a
docs(5d6): fix slice 8 ledger entry
rickylabs Jun 14, 2026
58ee48c
fix(fresh): log withForm mutate errors
rickylabs Jun 14, 2026
0646374
docs(5d6): record slice 9 commit ledger
rickylabs Jun 14, 2026
69f1615
docs(5d6): record final implementation closeout
rickylabs Jun 14, 2026
9e6ce84
docs(5d6): record final closeout ledger
rickylabs Jun 14, 2026
95787f3
chore(5d6): record evaluator prompt
rickylabs Jun 14, 2026
e0b4b4d
eval(5d6): record query verdict
rickylabs Jun 14, 2026
9241537
Merge 5d6 query into 5d supervisor
rickylabs Jun 14, 2026
dacc426
chore(5d): record 5d6 supervisor merge
rickylabs Jun 14, 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
  •  
  •  
  •  
141 changes: 141 additions & 0 deletions .agents/skills/codex-wsl-remote/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
---
name: codex-wsl-remote
description: Use for NetScript Codex Desktop/mobile remote-control through WSL SSH, especially when launching or supervising mobile-visible Codex app-server sessions, choosing native WSL worktree paths, verifying full-access app-server settings, or running Deno/Aspire CLI E2E gates without `/mnt/c` DrvFS failures.
---

# Codex WSL Remote

## Purpose

Use this skill when a NetScript task needs Codex Desktop or mobile to steer local work through WSL.
The verified path is:

```text
Codex Desktop/mobile -> SSH target codex-wsl -> WSL Ubuntu codex user -> codex app-server remote-control
```

Do not use Windows `codex exec --json` threads as the sync mechanism for Desktop/mobile. Those
threads can persist and resume locally, but Desktop deep links can hang while loading `codex_exec`
sessions. Use the WSL app-server remote-control workflow for user-visible, steerable sessions.

## Verified Baseline

- WSL distro: `Ubuntu-24.04`
- WSL user: `codex`
- SSH alias: `codex-wsl`
- SSH endpoint: `127.0.0.1:2222`
- SSH identity: `C:\Users\chaut\.ssh\codex_wsl_ed25519`
- WSL Codex home: `/home/codex/.codex`
- Codex CLI/app-server: `0.139.0`
- App-server config: `approval_policy = "never"` and `sandbox_mode = "danger-full-access"`
- Native WSL wave5 worktree root: `/home/codex/repos/netscript-wave5-apps`
- Verified toolchain: Deno `2.7.11`, .NET SDK `10.0.109`, Aspire CLI `13.3.0`, Docker `29.1.3`, Node `18.19.1`, npm `9.2.0`

The Windows-side helper lives at:

```powershell
$env:USERPROFILE\.codex\skills\codex-wsl-remote\scripts\start-codex-wsl-remote.ps1
```

Run it from Windows PowerShell when transport needs restoration:

```powershell
powershell -ExecutionPolicy Bypass -File "$env:USERPROFILE\.codex\skills\codex-wsl-remote\scripts\start-codex-wsl-remote.ps1"
```

The helper starts a hidden WSL keepalive, restarts WSL `ssh.service`, verifies `ssh codex-wsl`,
writes the full-access Codex app-server config, restarts the managed daemon, starts
`codex remote-control`, and checks the toolchain.

## Native Worktree Rule

Run full NetScript Deno/npm/Aspire gates from native WSL ext4 paths under `/home/codex/repos/`.
Do not run full CLI E2E from `/mnt/c`: Deno's internal npm materialization can hit DrvFS
`Operation not permitted (os error 1)` even when ordinary shell copy/write commands work.

Known good full E2E smoke:

```text
Cwd: /home/codex/repos/netscript-wave5-apps
Command: deno task e2e:cli run scaffold.runtime --cleanup --format pretty
Raw exit code: 0
Summary: passed=41 failed=0
Elapsed: 224s
Thread: 019ec234-4e7f-70c0-91a0-97de455702f8
Marker: CODEX_WSL_NATIVE_WORKTREE_E2E_SMOKE_PASS
```

## Verification Commands

From Windows PowerShell, verify transport:

```powershell
Test-NetConnection -ComputerName 127.0.0.1 -Port 2222
ssh.exe codex-wsl 'echo SSH_OK; export PATH="$HOME/.local/bin:$PATH"; codex --version'
```

Verify app-server remote-control:

```powershell
ssh.exe codex-wsl 'export PATH="$HOME/.local/bin:$PATH"; codex remote-control start --json; codex app-server daemon version'
```

Verify the native NetScript toolchain:

```powershell
ssh.exe codex-wsl 'cd /home/codex/repos/netscript-wave5-apps; deno --version; dotnet --version; aspire --version; docker version --format "{{.Client.Version}} / {{.Server.Version}}"; node --version; npm --version; git status --short --branch'
```

Verify app-server turns are full access. The `thread/start` response should report
`approvalPolicy: "never"` and `sandbox.type: "dangerFullAccess"`:

```powershell
ssh.exe codex-wsl 'cd /home/codex/repos/netscript-wave5-apps; codex debug app-server send-message-v2 "Remote smoke only. Do not edit files. Do not run validation. Reply with exactly CODEX_WSL_REMOTE_SMOKE_OK and no other prose."'
```

## Launching Supervisor Or Implementation Sessions

Start Desktop/mobile-visible Codex sessions from the native WSL worktree path for the relevant
branch. The wave5 family uses these native worktrees:

```text
/home/codex/repos/netscript-wave5-apps
/home/codex/repos/netscript-wave5-apps-5a-service
/home/codex/repos/netscript-wave5-apps-5b-sdk
/home/codex/repos/netscript-wave5-apps-5c-fresh-ui
/home/codex/repos/netscript-wave5-apps-5c1-ui-foundation
/home/codex/repos/netscript-wave5-apps-5c2-design-system
/home/codex/repos/netscript-wave5-apps-5d-fresh
/home/codex/repos/netscript-wave5-apps-5d1-support
/home/codex/repos/netscript-wave5-apps-5d2-builders
/home/codex/repos/netscript-wave5-apps-5d3-route
/home/codex/repos/netscript-wave5-apps-5d4-streaming
/home/codex/repos/netscript-wave5-apps-5d5-form
/home/codex/repos/netscript-wave5-apps-5d6-query
```

For full CLI E2E, use the `netscript-cli` skill and run:

```powershell
deno task e2e:cli run scaffold.runtime --cleanup --format pretty
```

Keep `--cleanup` unless the user explicitly wants the generated runtime left running. Do not delete
lock files or caches, and do not run `deno cache --reload` without approval.

## Troubleshooting

If mobile says connection is impossible or Desktop shows a failed SSH connection:

1. Run the Windows helper above.
2. Confirm `ssh codex-wsl` reaches the `codex` user, not root.
3. Confirm `/home/codex/.codex/config.toml` contains the quoted full-access TOML values.
4. Restart only the `codex` user's app-server if remote-control reports an unmanaged daemon:

```powershell
wsl.exe -d Ubuntu-24.04 -- sh -lc 'pkill -u codex -f "codex.*app-server" || true; pkill -u codex -f "app-server" || true'
ssh.exe codex-wsl 'export PATH="$HOME/.local/bin:$PATH"; codex remote-control start --json; codex app-server daemon version'
```

Avoid root-owned app-server daemons for normal Desktop/mobile work. They create duplicate host chips
and stale mobile entries.
16 changes: 16 additions & 0 deletions .llm/harness/debt/arch-debt.md
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,22 @@ Seeded from
- **Status:** open
- **Gate:** F-1, F-5, F-11

## packages/fresh — F-7 full package doc-lint residue after 5d1

- **Reason:** 5d1 support-spine FAIL_FIX cannot make broad `deno task doc-lint` pass without
implementing later 5d-owned public surfaces. The remaining diagnostics are concentrated in
builders/defer/form/streams/query, including direct upstream TanStack/durable-streams public type
exposure and missing JSDoc on later-slice symbols.
- **Owner:** Wave 5d `@netscript/fresh` chain; final closeout owner is 5d6 query/server/package
surface.
- **Target:** Close before merging 5d into Wave 5 apps; 5d6 must prove `deno task doc-lint` passes
from `packages/fresh`.
- **Linked plan:** `.llm/tmp/run/feat-package-quality-wave5-apps--5d-fresh/plan.md`;
`.llm/tmp/run/feat-package-quality-wave5-apps--5d1-support/escalations/failfix-doc-lint.md`.
- **Created:** 2026-06-13
- **Status:** open, DEBT_ACCEPTED for 5d1 only.
- **Gate:** F-7, F-5, `deno task doc-lint` from `packages/fresh`.

## packages/service — doctrine verdict Refactor

- **Reason:** `presets/` and `assets/` need role clarification.
Expand Down
Empty file.
1 change: 1 addition & 0 deletions .llm/tmp/doc-lint-fresh-rev2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"source":{"mode":"explicit","root":"packages/fresh","entrypoints":["./builders/mod.ts"]},"summary":{"totalPackages":1,"totalErrors":40,"totalPrivateTypeRef":21,"totalMissingJSDoc":19,"totalOther":0},"packages":[{"name":"@netscript/fresh","dir":"packages/fresh","entrypoints":[{"path":"./builders/mod.ts","privateTypeRef":21,"missingJSDoc":19,"other":0,"total":40}],"files":[{"path":"/home/runner/work/netscript/netscript/packages/fresh/form/types.ts","privateTypeRef":7,"missingJSDoc":17,"other":0,"total":24},{"path":"/home/runner/work/netscript/netscript/packages/fresh/builders/mod.ts","privateTypeRef":12,"missingJSDoc":1,"other":0,"total":13},{"path":"/home/runner/work/netscript/netscript/packages/fresh/builders/define-page/types.ts","privateTypeRef":2,"missingJSDoc":1,"other":0,"total":3}],"combinedTotal":40,"combinedPrivateTypeRef":21,"combinedMissingJSDoc":19,"combinedOther":0}]}
1 change: 1 addition & 0 deletions .llm/tmp/doc-lint-fresh.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"source":{"mode":"auto","root":"packages/fresh","entrypoints":["./builders/mod.ts","./config/vite.ts","./defer/mod.ts","./error/mod.ts","./form/mod.ts","./interactive.ts","./mod.ts","./query/mod.ts","./route/mod.ts","./server.ts","./streams/mod.ts","./utils/mod.ts"]},"summary":{"totalPackages":1,"totalErrors":276,"totalPrivateTypeRef":115,"totalMissingJSDoc":157,"totalOther":4},"packages":[{"name":"@netscript/fresh","dir":"packages/fresh","entrypoints":[{"path":"./builders/mod.ts","privateTypeRef":21,"missingJSDoc":19,"other":0,"total":40},{"path":"./config/vite.ts","privateTypeRef":3,"missingJSDoc":17,"other":0,"total":20},{"path":"./defer/mod.ts","privateTypeRef":14,"missingJSDoc":46,"other":0,"total":60},{"path":"./error/mod.ts","privateTypeRef":0,"missingJSDoc":0,"other":0,"total":0},{"path":"./form/mod.ts","privateTypeRef":11,"missingJSDoc":60,"other":3,"total":74},{"path":"./interactive.ts","privateTypeRef":0,"missingJSDoc":0,"other":0,"total":0},{"path":"./mod.ts","privateTypeRef":15,"missingJSDoc":8,"other":0,"total":23},{"path":"./query/mod.ts","privateTypeRef":64,"missingJSDoc":23,"other":1,"total":88},{"path":"./route/mod.ts","privateTypeRef":0,"missingJSDoc":0,"other":0,"total":0},{"path":"./server.ts","privateTypeRef":8,"missingJSDoc":5,"other":0,"total":13},{"path":"./streams/mod.ts","privateTypeRef":24,"missingJSDoc":8,"other":0,"total":32},{"path":"./utils/mod.ts","privateTypeRef":0,"missingJSDoc":0,"other":0,"total":0}],"files":[{"path":"/home/runner/work/netscript/netscript/packages/fresh/form/types.ts","privateTypeRef":8,"missingJSDoc":54,"other":0,"total":62},{"path":"/home/runner/.cache/deno/npm/registry.npmjs.org/@tanstack/preact-query/5.101.0/build/modern/_tsup-dts-rollup.d.ts","privateTypeRef":37,"missingJSDoc":12,"other":0,"total":49},{"path":"/home/runner/work/netscript/netscript/packages/fresh/defer/policy.ts","privateTypeRef":1,"missingJSDoc":26,"other":0,"total":27},{"path":"/home/runner/work/netscript/netscript/packages/fresh/config/vite.ts","privateTypeRef":3,"missingJSDoc":17,"other":0,"total":20},{"path":"/home/runner/.cache/deno/npm/registry.npmjs.org/@tanstack/react-db/0.1.85/dist/esm/useLiveQuery.d.ts","privateTypeRef":11,"missingJSDoc":5,"other":0,"total":16},{"path":"/home/runner/work/netscript/netscript/packages/fresh/defer/DeferPage.tsx","privateTypeRef":4,"missingJSDoc":9,"other":0,"total":13},{"path":"/home/runner/.cache/deno/npm/registry.npmjs.org/@tanstack/react-db/0.1.85/dist/esm/useLiveSuspenseQuery.d.ts","privateTypeRef":9,"missingJSDoc":3,"other":0,"total":12},{"path":"/home/runner/work/netscript/netscript/packages/fresh/server/stream-error-boundary.tsx","privateTypeRef":6,"missingJSDoc":5,"other":0,"total":11},{"path":"/home/runner/work/netscript/netscript/packages/fresh/defer/telemetry.ts","privateTypeRef":3,"missingJSDoc":7,"other":0,"total":10},{"path":"/home/runner/work/netscript/netscript/packages/fresh/builders/mod.ts","privateTypeRef":7,"missingJSDoc":1,"other":0,"total":8},{"path":"/home/runner/work/netscript/netscript/packages/fresh/defer/Deferred.tsx","privateTypeRef":4,"missingJSDoc":4,"other":0,"total":8},{"path":"/home/runner/work/netscript/netscript/packages/fresh/form/enhancement.tsx","privateTypeRef":1,"missingJSDoc":4,"other":1,"total":6},{"path":"/home/runner/work/netscript/netscript/packages/fresh/components/ErrorDisplay.tsx","privateTypeRef":2,"missingJSDoc":4,"other":0,"total":6},{"path":"/home/runner/.cache/deno/npm/registry.npmjs.org/@tanstack/query-core/5.101.0/build/modern/_tsup-dts-rollup.d.ts","privateTypeRef":2,"missingJSDoc":3,"other":0,"total":5},{"path":"/home/runner/.cache/deno/npm/registry.npmjs.org/@durable-streams/state/0.2.3/dist/index.d.ts","privateTypeRef":4,"missingJSDoc":0,"other":0,"total":4},{"path":"/home/runner/work/netscript/netscript/packages/fresh/builders/define-page/types.ts","privateTypeRef":2,"missingJSDoc":1,"other":0,"total":3},{"path":"/home/runner/work/netscript/netscript/packages/fresh/form/form.tsx","privateTypeRef":1,"missingJSDoc":1,"other":1,"total":3},{"path":"/home/runner/work/netscript/netscript/packages/fresh/form/form-region.tsx","privateTypeRef":1,"missingJSDoc":1,"other":1,"total":3},{"path":"/home/runner/work/netscript/netscript/packages/fresh/query/query-island.tsx","privateTypeRef":2,"missingJSDoc":0,"other":1,"total":3},{"path":"/home/runner/work/netscript/netscript/packages/fresh/defer/DeferIsland.tsx","privateTypeRef":2,"missingJSDoc":0,"other":0,"total":2},{"path":"/home/runner/work/netscript/netscript/packages/fresh/query/hydration.ts","privateTypeRef":2,"missingJSDoc":0,"other":0,"total":2},{"path":"/home/runner/work/netscript/netscript/packages/fresh/server/stream.ts","privateTypeRef":2,"missingJSDoc":0,"other":0,"total":2},{"path":"/home/runner/work/netscript/netscript/packages/fresh/query/query-client.ts","privateTypeRef":1,"missingJSDoc":0,"other":0,"total":1}],"combinedTotal":276,"combinedPrivateTypeRef":115,"combinedMissingJSDoc":157,"combinedOther":4}]}
39 changes: 39 additions & 0 deletions .llm/tmp/run/feat-package-quality-wave5-apps--5d-fresh/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Run dir — Wave 5d umbrella (`@netscript/fresh`)

Supervisor-owned umbrella for sub-wave 5d. Contents:

- `plan.md` — **BINDING target architecture** for the whole package: mission,
archetype, final entrypoints (12 + `./testing`), final folder shape,
quality bar, accepted drift tolerance, sequencing, evaluation protocol.
Every 5d sub-plan derives from it.
- `handover-5d1-plan.md` … `handover-5d6-plan.md` — copy-pasteable PLAN-phase
prompts for the six sub-gate generator sessions.
- `worklog.md` / `commits.md` / `drift.md` — append-only umbrella bookkeeping.

## Sub-gate map

| Gate | Scope | Branch suffix | Worktree | PR |
|---|---|---|---|---|
| 5d1 | error · utils · vite · interactive · mod skeleton · doctrine spine | `5d1-support` | `wave5-apps-5d1-support` | #34 |
| 5d2 | builders (definePage DSL) | `5d2-builders` | `wave5-apps-5d2-builders` | #35 |
| 5d3 | route (manifest + contract runtime) | `5d3-route` | `wave5-apps-5d3-route` | #36 |
| 5d4 | defer + streams (+ server streaming internals) | `5d4-streaming` | `wave5-apps-5d4-streaming` | #37 |
| 5d5 | form (RFC 15, fresh-ui seams) | `5d5-form` | `wave5-apps-5d5-form` | #38 |
| 5d6 | query + server/defineFreshApp + final surface + wave closeout | `5d6-query` | `wave5-apps-5d6-query` | #39 |

All branches fork from `c64cb16` (5c head post-umbrella-reconcile). PLAN
phases parallel; IMPLEMENTATION chained 5d1→5d6. Plan review by Fable 5 on
each sub-PR, then PLAN-EVAL (separate session).

## Publication Protocol For Subagents

Implementation and evaluator agents must run from native WSL ext4 worktrees. They should attempt a
normal `git push` once after committing. If the shell reports missing GitHub HTTPS credentials
(`could not read Username for 'https://github.com'`) or `gh` is unavailable/unauthenticated, do not
repeat unauthenticated pushes. Record the blocker in `drift.md`/`worklog.md`, comment the PR through
the GitHub connector when available, and hand publication back to the supervisor.

The supervisor may publish branch-visible source/artifact state through the GitHub connector when
normal shell credentials are absent. Connector-published commits may not preserve local commit SHAs;
record both local and remote commit IDs explicitly in the run artifacts and PR handoff.

Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Commits — 5d umbrella

Append-only hash record.

- 8cd6a44: Merge branch feat/package-quality-wave5-apps-5d2-builders into feat/package-quality-wave5-apps-5d-fresh
- 8a3298d: Merge 5d5 form into 5d supervisor
- 9241537: Merge 5d6 query into 5d supervisor
- e0b4b4d: eval(5d6): record query verdict
61 changes: 61 additions & 0 deletions .llm/tmp/run/feat-package-quality-wave5-apps--5d-fresh/drift.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Drift — 5d umbrella

Append-only.
- D-5d-0: sub-branches forked in parallel from c64cb16 instead of split-strategy "fork off prior merge" chain; implementation phases must merge prior landings before starting (recorded in plan.md sequencing).

## D-5d-1 — PLAN dispatch run 1 produced zero artifacts (2026-06-12)
- All six OpenHands Kimi K2.7 runs on PRs #34-#39 ended without writing any run-dir files; only workflow trace commits landed.
- Root cause: SDK default max_iteration_per_run=500 exhausted during exploration (5d3-5d6 hit the hard limit; 5d1/5d2 finished with artifacts still pending). agent_runner returned 0 regardless, and the summary-retry prompt led cut-off agents to describe unwritten files as delivered ("Commit hash: TBD"). The 5d4/5d5/5d6 "READY FOR PLAN-EVAL" comments are therefore NOT trustworthy as completion claims, though their measured findings (e.g. 5d4: 113 combined doc-lint errors, abort-propagation gaps in createIncrementalStreamingResponse, plugin-streams coupling divergence) are real exploration output and reusable.
- Fix: PR #41 to main (iterations= trigger knob, truthful cutoff reporting + exit 3, always() commit-back preserving partial work, early-artifact contract line).
- Disposition: re-dispatch all six PLAN triggers after PR #41 merges, with iterations raised and/or scope split per trigger.

## D-5d-2 — WSL shell lacks reusable GitHub push credentials

- **What:** 5d1 and 5d4 implementation/evaluator agents repeatedly produced valid local commits but
`git push` failed from WSL with `fatal: could not read Username for 'https://github.com': No such
device or address`.
- **Expected:** Subagents commit and push regularly, then comment PR handoff.
- **Actual:** Source/evaluator state sometimes required GitHub connector comments or connector
publication by the supervisor. Connector commits do not preserve local commit SHAs, so artifacts
must record both local and remote IDs.
- **Policy:** Future subagents must attempt push once. If credentials are unavailable, they must
record the blocker and hand off publication; the supervisor owns connector publication or PR
comment fallback before launching the next dependent subwave.
- **Status:** open environment/process drift for Wave 5d.

## D-5d-3 — supervisor branch push blocked after local merge

- **What:** The local supervisor branch merged 5d1 and 5d4 successfully, but `git push origin
feat/package-quality-wave5-apps-5d-fresh` failed from WSL.
- **Evidence:** Push failed with `fatal: could not read Username for 'https://github.com': No such
device or address` after merge commit `3ae35dc`.
- **Impact:** Remote PR/branch does not yet contain the supervisor merge. Local native WSL worktrees
can still merge the local supervisor branch before subwave implementation starts.
- **Action:** Supervisor owns publication fallback; subagents must not assume normal push credentials
exist in their shell.


## D-5d-4 — 5d2 evaluator fallback due app-server usage limit

- **What:** The separate 5d2 IMPL-EVAL app-server session was launched from the native WSL worktree,
but Codex app-server returned `usageLimitExceeded` before any evaluator work ran.
- **Disposition:** Supervisor ran the IMPL-EVAL gates directly from
`/home/codex/repos/netscript-wave5-apps-5d2-builders` and posted the PASS verdict to PR #35 as
comment `4700202752`.
- **Evidence:** Evaluated head `aa310dc`; builders tests, builders/form doc-lint, scoped builders
check/lint/fmt, scoped builders doctrine scan, and `packages/fresh` publish dry-run all passed.
- **Impact:** Evaluation independence was preserved operationally by separating implementation from
the supervisor-run evaluation evidence, but not by a second active app-server model turn.
- **Follow-up:** When app-server credits/rate limit reset, prefer a true separate app-server
evaluator again. If unavailable, record the fallback and keep all evidence in PR comments.

## D-5d-5 — WSL GitHub SSH publication restored

- **What:** Earlier 5d supervisor and subagent pushes failed through the HTTPS credential helper.
- **Fix:** WSL Git remotes now use `git@github.com:rickylabs/netscript.git` with SSH key
`/home/codex/.ssh/id_ed25519_netscript_wave5` authenticated as `rickylabs`.
- **Impact:** Future implementation agents must push after every slice from their native WSL
worktree. Supervisor should still verify `git ls-remote` after each slice because app-server
sessions can hit usage limits before final handoff.
- **Status:** D-5d-2/D-5d-3 are resolved for current WSL worktrees unless a specific worktree remote
regresses to HTTPS.
Loading