Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
524 commits
Select commit Hold shift + click to select a range
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
de52704
fix(cli): support WSL scaffold copy fallback
rickylabs 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
9226846
docs: record WSL remote-control recovery
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
2c4efbe
Merge Wave 5d Fresh package quality
rickylabs Jun 14, 2026
c8aa100
docs(wave5): record 5d integration gate
rickylabs Jun 14, 2026
4428f04
chore(openhands): apply partial agent changes (agent outcome: failure)
openhands-agent Jun 14, 2026
1da047d
chore(openhands): record run trace 27493382997-1
openhands-agent Jun 14, 2026
38ca75a
chore(openhands): record run trace 27496615815-1
openhands-agent Jun 14, 2026
21c56d0
harness: bootstrap wave5 apps consolidation run + plan
rickylabs Jun 14, 2026
a0e5bcc
refactor(service): split service-builder into impl + rpc + listener s…
rickylabs Jun 14, 2026
e67edf1
docs(service): add Package Role archetype section to README
rickylabs Jun 14, 2026
5367093
refactor(sdk): collapse root barrels into src/ (single source root)
rickylabs Jun 14, 2026
8f9f9c1
harness: record docs-quality requirement + Phase B status
rickylabs Jun 14, 2026
6b468d7
Merge remote-tracking branch 'origin/feat/package-quality-wave5-apps'…
rickylabs Jun 14, 2026
29bcc30
@
rickylabs Jun 14, 2026
bcbdf55
@
rickylabs Jun 14, 2026
43ffcc7
refactor(fresh): introduce src role layering [D1]
rickylabs Jun 14, 2026
09ab17d
@
rickylabs Jun 14, 2026
c47fb46
refactor(fresh): delete root re-export shells, repoint CLI import-map…
rickylabs Jun 14, 2026
c5f1f0e
docs(fresh): drop shell references, root surface is cache-only [D2-docs]
rickylabs Jun 14, 2026
ca6c00a
harness(consolidation): record D-docs + D2 shell elimination in commi…
rickylabs Jun 14, 2026
ca09c44
chore(openhands): apply agent changes
openhands-agent Jun 14, 2026
ccde9f9
chore(openhands): record run trace 27507518739-1
openhands-agent Jun 14, 2026
3254d4e
chore(openhands): apply agent changes
openhands-agent Jun 14, 2026
8a6b05f
chore(openhands): record run trace 27508042691-1
openhands-agent Jun 14, 2026
78cc11f
chore(openhands): apply agent changes
openhands-agent Jun 14, 2026
a0abd27
chore(openhands): record run trace 27511443802-1
openhands-agent Jun 14, 2026
6deaa22
docs(harness): record Phase E IMPL-EVAL results — all 3 packages APPR…
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
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .agents/rules/cli-tooling.mdc
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ alwaysApply: false
behind injected ports or adapters, as required by `docs/architecture/doctrine/09-anti-patterns-and-fitness-functions.md`.
- Composition roots wire command groups and dependencies; they should reference feature commands
rather than contain inline command bodies.
- Use `tools/fitness/check-cli-*.ts` gates when available before merging CLI structure changes.
- Use `.llm/tools/fitness/check-cli-*.ts` gates when available before merging CLI structure changes.
2 changes: 1 addition & 1 deletion .agents/rules/harness-workflow.mdc
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ globs:
- ".llm/**"
- "packages/**"
- "plugins/**"
- "tools/fitness/**"
- ".llm/tools/fitness/**"
alwaysApply: true
---

Expand Down
2 changes: 1 addition & 1 deletion .agents/rules/package-architecture.mdc
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ alwaysApply: false
- Avoid doctrine anti-patterns listed in `docs/architecture/doctrine/09-anti-patterns-and-fitness-functions.md`,
especially monolithic files, hidden globals, generic `utils`/`helpers`/`common` folders, and
side effects outside edge files.
- Run or extend `tools/fitness/*` when a change touches an enforced architectural rule.
- Run or extend `.llm/tools/fitness/*` when a change touches an enforced architectural rule.
15 changes: 7 additions & 8 deletions .agents/skills/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,13 @@ operate this codebase end-to-end without re-deriving the API from documentation

## What's in the box

| Skill | Scope | Status |
| --------------------- | ----------------------------------------------------------------------------------------------- | ------ |
| `netscript-doctrine` | **CORE** — Navigate the architecture doctrine for `packages/` and `plugins/`. | active |
| `netscript-harness` | **CORE** — Orchestrate harness-mode runs (8-phase model, Plan-Gate, dual evaluators). | active |
| `jsr-audit` | **CORE** — Audit packages for JSR readiness. Required Plan-Gate input for package/plugin waves. | active |
| `deno-fresh` | Frontend development with Fresh 2.x, Preact, and Tailwind CSS in Deno. | active |
| `rtk` | Token-saving CLI proxy. Prefix read-heavy git/gh/grep/ls/docker commands with `rtk`; `rtk proxy` for `deno task`. | active |
| `netscript-standards` | **LEGACY** — Superseded by `netscript-doctrine`. Do not use for new work. | legacy |
| Skill | Scope | Status |
| -------------------- | ----------------------------------------------------------------------------------------------------------------- | ------ |
| `netscript-doctrine` | **CORE** — Navigate the architecture doctrine for `packages/` and `plugins/`. | active |
| `netscript-harness` | **CORE** — Orchestrate harness-mode runs (8-phase model, Plan-Gate, dual evaluators). | active |
| `jsr-audit` | **CORE** — Audit packages for JSR readiness. Required Plan-Gate input for package/plugin waves. | active |
| `deno-fresh` | Frontend development with Fresh 2.x, Preact, and Tailwind CSS in Deno. | active |
| `rtk` | Token-saving CLI proxy. Prefix read-heavy git/gh/grep/ls/docker commands with `rtk`; `rtk proxy` for `deno task`. | active |

> **Not yet in this repo.** These skills exist in the broader NetScript toolkit but are not present
> in this repository yet — do not assume their guidance is loadable here: `deno-expert`,
Expand Down
219 changes: 219 additions & 0 deletions .agents/skills/codex-wsl-remote/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,219 @@
---
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, recovering unmanaged app-server daemon state without interrupting active sessions, 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'
```

Expected remote-control output includes:

```text
"status":"connected"
"remoteControlEnabled":true
"serverName":"YogaBook9i"
"environmentId":"env_e_6a2d7485c5a0832a82505a12442cd3ec"
```

For passive health checks, prefer daemon status and process inspection:

```powershell
ssh.exe codex-wsl 'export PATH="$HOME/.local/bin:$PATH"; codex app-server daemon version; ps -eo user,pid,ppid,etime,cmd | grep -E "[c]odex app-server|[a]pp-server daemon" || true'
```

Do not use `codex debug app-server send-message-v2` as a routine health check after remote-control
has been restored. On Codex CLI `0.139.0`, that debug client can leave the running app-server in a
state where `codex remote-control start --json` later fails with:

```text
Error: app server is running but is not managed by codex app-server daemon
```

Use Desktop/mobile itself to verify user-visible remote threads once the passive checks show
remote-control is connected.

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'
```

Only run a debug app-server turn when explicitly diagnosing app-server turn startup, and expect to
restore remote-control afterward. 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'
```

Before restarting app-server while implementation agents are running, check whether active work would
be interrupted:

```powershell
ssh.exe codex-wsl 'ps -eo user,pid,ppid,stat,etime,cmd | grep -E "[d]eno|[d]otnet|[a]spire|[d]ocker compose|[n]pm|[n]ode|[g]it |[c]odex" | sed -n "1,200p"'
ssh.exe codex-wsl 'find ~/.codex/sessions -type f -name "*.jsonl" -printf "%T@ %TY-%Tm-%Td %TH:%TM:%TS %p\n" 2>/dev/null | sort -nr | head -20'
```

If there are no active child jobs and the latest relevant session has completed, repair an unmanaged
remote-control daemon by killing only the `codex` user's app-server processes by anchored PID match
and then starting remote-control fresh:

```powershell
ssh.exe codex-wsl 'set -e; export PATH="$HOME/.local/bin:$PATH"; pids=$(pgrep -u codex -f "^/home/codex/.codex/packages/standalone/current/codex app-server" || true); if [ -n "$pids" ]; then echo "killing app-server pids: $pids"; kill $pids; sleep 2; fi; rm -f ~/.codex/app-server-control/app-server-control.sock; codex remote-control start --json; codex app-server daemon version'
```

Do not use a broad `pkill -f "codex app-server"` inside an SSH one-liner. The pattern can match the
SSH shell command itself and terminate the repair command before it restarts remote-control.

Avoid root-owned app-server daemons for normal Desktop/mobile work. They create duplicate host chips
and stale mobile entries.

## Known Incidents

### 2026-06-14 unmanaged app-server after mobile disconnect

Symptoms:

- Mobile lost connection to the green `YogaBook9i` host.
- `Test-NetConnection 127.0.0.1 -Port 2222` passed.
- `ssh codex-wsl` passed.
- `ssh.service` was active.
- `codex app-server daemon version` reported a running app-server.
- `codex remote-control start --json` failed with:

```text
Error: app server is running but is not managed by codex app-server daemon
```

Safe recovery used:

1. Confirmed the latest 5d2 session had completed and no `deno`, `dotnet`, `aspire`, `node`, or
child worker commands were running.
2. Killed only the `codex` user's app-server PIDs matched by
`^/home/codex/.codex/packages/standalone/current/codex app-server`.
3. Removed the stale app-server control socket.
4. Ran `codex remote-control start --json`.
5. Confirmed remote-control output returned `"status":"connected"` and
`"remoteControlEnabled":true`.

Additional lesson: a later `codex debug app-server send-message-v2` smoke returned the expected
marker, but immediately put remote-control back into the unmanaged state. Treat debug app-server
turns as diagnostic only, not as the normal mobile-connectivity smoke.
Loading