Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
241 commits
Select commit Hold shift + click to select a range
5f0b949
chore(wave4): bootstrap runtimes umbrella + pre-research
rickylabs Jun 8, 2026
305a15d
merge(wave4): sync track (Wave 3 @netscript/plugin merged) into runti…
rickylabs Jun 8, 2026
ee9f26b
docs(wave4): record Wave 3 unblock + reconciliation (no surface drift)
rickylabs Jun 8, 2026
8abdf52
chore(wave4): bootstrap 4a (streams + watchers) sub-wave seed
rickylabs Jun 8, 2026
160cc93
docs(wave4): record 4a plan + research + design checkpoint
rickylabs Jun 8, 2026
1291005
docs(wave4): PLAN-EVAL verdict 4a — PASS w/ adjustments (private-type…
rickylabs Jun 8, 2026
14b98bd
chore: added aspire SKILL
rickylabs Jun 8, 2026
935415e
docs(core): declare A3 archetype
rickylabs Jun 8, 2026
362aec5
docs(wave4): record slice 1 — declare A3 archetype
rickylabs Jun 8, 2026
0af7e86
fix(core): enumerate check entrypoints
rickylabs Jun 8, 2026
aa1c817
docs(wave4): record slice 2 — enumerate check entrypoints
rickylabs Jun 8, 2026
905480e
fix(core): export stream topic fixture type
rickylabs Jun 8, 2026
628f9fb
chore(wave4): bootstrap 4b (workers) sub-wave seed + pre-research
rickylabs Jun 8, 2026
53e18b9
chore(wave4): bootstrap 4c (sagas) sub-wave seed + pre-research
rickylabs Jun 8, 2026
192f288
chore(wave4): bootstrap 4d (triggers) sub-wave seed + pre-research
rickylabs Jun 8, 2026
7d3ae27
docs(wave4): record slice 3 — export stream topic fixture type
rickylabs Jun 8, 2026
bb6450b
docs(core): record console warn debt
rickylabs Jun 8, 2026
63466ce
docs(wave4): record slice 4 — console warn debt
rickylabs Jun 8, 2026
a38c6f9
test(core): cover aborted producer close
rickylabs Jun 8, 2026
c987b32
docs(wave4): record slice 5 — aborted producer close
rickylabs Jun 8, 2026
c5e7ece
fix(plugin): clean streams public docs surface
rickylabs Jun 8, 2026
87d2825
docs(wave4): record slice 6 — clean streams docs surface
rickylabs Jun 8, 2026
e7ad68f
feat(plugin): add streams verifier
rickylabs Jun 8, 2026
32db778
docs(wave4): record slice 7 — streams verifier
rickylabs Jun 8, 2026
cca1d64
test(plugin): cover streams manifest shape
rickylabs Jun 8, 2026
d06f1e1
docs(wave4): record slice 8 — streams manifest test
rickylabs Jun 8, 2026
e3c76b1
test(plugin): cover streams CLI registry
rickylabs Jun 8, 2026
a724621
docs(wave4): record slice 9 — streams CLI test
rickylabs Jun 8, 2026
7112ce5
test(plugin): cover streams Aspire contribution
rickylabs Jun 8, 2026
defffba
docs(wave4): record slice 10 — streams Aspire test
rickylabs Jun 8, 2026
33ac977
test(plugin): cover streams E2E gate metadata
rickylabs Jun 8, 2026
56abe50
docs(wave4): record slice 11 — streams E2E gate test
rickylabs Jun 8, 2026
494f9ea
fix(plugin): include verifier in check task
rickylabs Jun 8, 2026
de1c795
docs(wave4): record slice 12 — streams check task
rickylabs Jun 8, 2026
57fdbd8
refactor(watchers): move sources into src tree
rickylabs Jun 8, 2026
5f7c6cb
docs(wave4): record slice 13 — watchers source move
rickylabs Jun 8, 2026
9a09b10
refactor(watchers): retarget public exports
rickylabs Jun 8, 2026
d01c55f
docs(wave4): record slice 14 — watchers public exports
rickylabs Jun 8, 2026
4666b44
refactor(watchers): retarget filter tests
rickylabs Jun 8, 2026
2e69f5f
docs(wave4): record slice 15 — watchers import retarget
rickylabs Jun 8, 2026
5eab77a
docs(watchers): add README
rickylabs Jun 8, 2026
e7b3f3b
docs(wave4): record slice 16 — watchers README
rickylabs Jun 8, 2026
f7612c4
docs(watchers): add docs scaffold
rickylabs Jun 8, 2026
9883f79
docs(wave4): record slice 17 — watchers docs scaffold
rickylabs Jun 8, 2026
fe3c30a
fix(watchers): add package tasks and publish list
rickylabs Jun 8, 2026
c78b5cc
docs(wave4): record slice 18 — watchers package tasks
rickylabs Jun 8, 2026
a4df3eb
fix(watchers): document public constructors
rickylabs Jun 8, 2026
3919e39
docs(wave4): record slice 19 — watchers constructor docs
rickylabs Jun 8, 2026
cfa38c6
test(watchers): add README examples doctest
rickylabs Jun 8, 2026
024fda4
docs(wave4): record slice 20 — watchers README doctest
rickylabs Jun 8, 2026
a8787c5
test(watchers): cover FileWatcher abort lifecycle
rickylabs Jun 8, 2026
5f05be5
docs(wave4): record slice 21 — watchers lifecycle test
rickylabs Jun 8, 2026
f0d5c9b
test(consumer): validate downstream compilation
rickylabs Jun 8, 2026
6a88d49
docs(wave4): record slice 22 — consumer validation
rickylabs Jun 8, 2026
c3692ae
verify(publish): run final 4a package sweep
rickylabs Jun 8, 2026
986c333
docs(wave4): record slice 23 — final package sweep
rickylabs Jun 8, 2026
408c00e
fix(wave4): address augment review + record IMPL-EVAL PASS
Copilot Jun 9, 2026
2c24662
Merge pull request #18 from rickylabs/feat/package-quality-wave4-runt…
rickylabs Jun 9, 2026
173357c
chore(wave4-4b): pull umbrella forward (4a streams+watchers merged)
rickylabs Jun 9, 2026
c39474d
docs(wave4-4b): record pull-forward done + umbrella cli-debt carry
rickylabs Jun 9, 2026
68f8e41
docs(wave4-4b): research + plan & design
rickylabs Jun 9, 2026
b38799c
chore(openhands): apply agent changes
openhands-agent Jun 9, 2026
0eec3df
docs(workers-core): declare runtime archetype
rickylabs Jun 9, 2026
254e3e8
docs(wave4-4b): record slice 1 - core archetype
rickylabs Jun 9, 2026
3f01a2d
chore(workers-core): check all retained entrypoints
rickylabs Jun 9, 2026
64e55cf
docs(wave4-4b): record slice 2 - core check task
rickylabs Jun 9, 2026
7a738d5
fix(workers): fold core contracts export
rickylabs Jun 9, 2026
4274bf4
docs(wave4-4b): record slice 3 - contracts fold
rickylabs Jun 9, 2026
92bf266
fix(workers-core): publish builder config contract types
rickylabs Jun 9, 2026
e76f565
docs(wave4-4b): record slice 4 - core public types
rickylabs Jun 9, 2026
7b7bcaa
fix(workers-core): publish executor registry runtime types
rickylabs Jun 9, 2026
976c3df
docs(wave4-4b): record slice 5 - core public types
rickylabs Jun 9, 2026
969212b
fix(workers-core): publish abstract testing workflow types
rickylabs Jun 9, 2026
fb36697
docs(wave4-4b): record slice 6 - core public types
rickylabs Jun 9, 2026
ea24869
fix(workers-core): hide zod schema internals
rickylabs Jun 9, 2026
86aa8fd
docs(wave4-4b): record slice 7 - public schema
rickylabs Jun 9, 2026
08ca137
fix(workers-core): publish remaining support types
rickylabs Jun 9, 2026
5cdbd70
docs(wave4-4b): record slice 8 - support types
rickylabs Jun 9, 2026
5d03ac8
docs(workers-core): document abstract contracts
rickylabs Jun 9, 2026
0911cee
docs(wave4-4b): record slice 9 - abstract docs
rickylabs Jun 9, 2026
941b21a
docs(workers-core): document testing workflow APIs
rickylabs Jun 9, 2026
0091a05
docs(wave4-4b): record slice 10 - testing workflow docs
rickylabs Jun 9, 2026
2c601c6
docs(workers-core): document state telemetry shutdown APIs
rickylabs Jun 9, 2026
b1e7397
docs(wave4-4b): record slice 11 - state telemetry docs
rickylabs Jun 9, 2026
f8051e5
refactor(workers-core): split workers contract concepts
rickylabs Jun 9, 2026
20893e3
docs(wave4-4b): record slice 12 - contract split
rickylabs Jun 9, 2026
55f162b
docs(workers-core): document entrypoint surface
rickylabs Jun 9, 2026
1d6e89e
docs(wave4-4b): record slice 13 - core entrypoint docs
rickylabs Jun 9, 2026
e2670ce
fix(workers-core): complete validation sweep
rickylabs Jun 9, 2026
629ad84
docs(wave4-4b): record slice 14 - core validation
rickylabs Jun 9, 2026
51ab054
chore(workers): check all plugin entrypoints
rickylabs Jun 9, 2026
61e647c
docs(wave4-4b): record slice 15 - plugin task hygiene
rickylabs Jun 9, 2026
3ff2af4
fix(workers): publish contract cli helper types
rickylabs Jun 9, 2026
c7cefb9
docs(wave4-4b): record slice 16 - plugin contract cli types
rickylabs Jun 9, 2026
f5565b4
fix(workers): publish worker aspire scaffold types
rickylabs Jun 9, 2026
e6d0b39
docs(wave4-4b): record slice 17 - plugin worker aspire scaffold types
rickylabs Jun 9, 2026
484a06a
fix(workers): publish stream service helper types
rickylabs Jun 9, 2026
928af4a
docs(wave4-4b): record slice 18 - plugin stream service types
rickylabs Jun 9, 2026
009941d
docs(workers): document scaffolder metadata
rickylabs Jun 9, 2026
8553997
docs(wave4-4b): record slice 19 - plugin scaffolding docs
rickylabs Jun 9, 2026
8f37cad
docs(workers): document cli worker APIs
rickylabs Jun 9, 2026
33204e0
docs(wave4-4b): record slice 20 - plugin cli worker docs
rickylabs Jun 9, 2026
2f3a064
refactor(workers): split scheduler concepts
rickylabs Jun 9, 2026
f9058e7
docs(wave4-4b): record slice 21 - plugin scheduler split
rickylabs Jun 9, 2026
05200fd
test(workers): verify plugin manifest
rickylabs Jun 9, 2026
ada4b4e
docs(wave4-4b): record slice 22 - plugin manifest test
rickylabs Jun 9, 2026
3075fd9
test(workers): cover cli contribution
rickylabs Jun 9, 2026
3d2592e
docs(wave4-4b): record slice 23 - plugin cli test
rickylabs Jun 9, 2026
106e304
test(workers): cover aspire contribution
rickylabs Jun 9, 2026
e5f7020
docs(wave4-4b): record slice 24 - plugin aspire test
rickylabs Jun 9, 2026
5700438
test(workers): register e2e gates
rickylabs Jun 9, 2026
89293a0
docs(wave4-4b): record slice 25 - plugin e2e test
rickylabs Jun 9, 2026
9311ad9
docs(workers): document plugin entrypoint surface
rickylabs Jun 9, 2026
8ebe7db
docs(wave4-4b): record slice 26 - plugin docs
rickylabs Jun 9, 2026
9839de3
fix(workers): complete plugin validation sweep
rickylabs Jun 9, 2026
baae1ea
docs(wave4-4b): record slice 27 - plugin validation
rickylabs Jun 9, 2026
8573674
chore(openhands): apply agent changes
openhands-agent Jun 9, 2026
1896f85
Merge pull request #19 from rickylabs/feat/package-quality-wave4-runt…
rickylabs Jun 9, 2026
128a0a8
Merge remote-tracking branch 'origin/feat/package-quality-wave4-runti…
rickylabs Jun 9, 2026
21aaef0
docs(wave4-4c): record pull-forward onto 4a+4b-merged umbrella
rickylabs Jun 9, 2026
73258f4
doc(4c-sagas): MEASURE-FIRST research artifacts
rickylabs Jun 9, 2026
200a43c
doc(4c-sagas): locked plan and design
rickylabs Jun 9, 2026
137d87f
chore(openhands): apply agent changes
openhands-agent Jun 9, 2026
50d17a5
chore(sagas-core): declare runtime package gates
rickylabs Jun 9, 2026
0ce35ad
docs(wave4-4c): record slice C1 core gates
rickylabs Jun 9, 2026
4295c3c
fix(sagas-core): publish builder config type contracts
rickylabs Jun 9, 2026
3c265e8
docs(wave4-4c): record slice C2 core type contracts
rickylabs Jun 9, 2026
172f42d
fix(sagas-core): publish contract stream type surfaces
rickylabs Jun 9, 2026
e5f7850
docs(wave4-4c): record slice C3 core contracts
rickylabs Jun 9, 2026
9226dcc
fix(sagas-core): publish integration boundary types
rickylabs Jun 9, 2026
eee10bf
docs(wave4-4c): record slice C4 core integrations
rickylabs Jun 9, 2026
0ea4771
fix(sagas-core): publish port boundary contracts
rickylabs Jun 9, 2026
909e45e
docs(wave4-4c): record slice C5 core ports
rickylabs Jun 9, 2026
64711a1
fix(sagas-core): publish runtime boundary contracts
rickylabs Jun 9, 2026
f72e842
docs(wave4-4c): record slice C6 core runtime
rickylabs Jun 9, 2026
1a3a0f0
fix(sagas-core): publish adapter middleware preset contracts
rickylabs Jun 9, 2026
6e145ff
docs(wave4-4c): record slice C7 core adapters
rickylabs Jun 9, 2026
89de256
fix(sagas-core): publish transport store boundary contracts
rickylabs Jun 9, 2026
23ee5bf
docs(wave4-4c): record slice C8 core transports
rickylabs Jun 9, 2026
2fcc508
fix(sagas-core): publish abstract testing contracts
rickylabs Jun 9, 2026
765207a
docs(wave4-4c): record slice C9 core testing
rickylabs Jun 9, 2026
285cc54
docs(sagas-core): document telemetry surface
rickylabs Jun 9, 2026
1a7d202
docs(wave4-4c): record slice C10 core telemetry
rickylabs Jun 9, 2026
9e0fcba
docs(sagas-core): document runtime surface
rickylabs Jun 9, 2026
515b86d
docs(wave4-4c): record slice C11 core runtime
rickylabs Jun 9, 2026
2ac8e04
docs(sagas-core): document transport surface
rickylabs Jun 9, 2026
44f01f3
docs(wave4-4c): record slice C12 core transports
rickylabs Jun 9, 2026
cecfa65
refactor(sagas-core): split transport command concerns
rickylabs Jun 9, 2026
d799dc3
docs(wave4-4c): record slice C13 transport split
rickylabs Jun 9, 2026
70c475b
docs(sagas-core): close core validation sweep
rickylabs Jun 9, 2026
7e3825c
docs(wave4-4c): record slice C14 core validation
rickylabs Jun 9, 2026
ed4eae9
chore(plugin-sagas): enumerate publish gates
rickylabs Jun 9, 2026
a6a45aa
docs(wave4-4c): record slice P1 plugin tasks
rickylabs Jun 9, 2026
bcab195
fix(plugin-sagas): publish contract manifest surfaces
rickylabs Jun 9, 2026
2ef6d6e
docs(wave4-4c): record slice P2 plugin surfaces
rickylabs Jun 9, 2026
54dfcfa
fix(plugin-sagas): publish aspire service boundaries
rickylabs Jun 9, 2026
8962c6a
docs(wave4-4c): record slice P3 plugin boundaries
rickylabs Jun 9, 2026
85410b6
fix(plugin-sagas): publish cli runtime type closures
rickylabs Jun 9, 2026
7986811
docs(wave4-4c): record slice P4 type closures
rickylabs Jun 9, 2026
6496010
fix(plugin-sagas): publish stream type boundaries
rickylabs Jun 9, 2026
4c3412a
docs(wave4-4c): record slice P5 stream boundaries
rickylabs Jun 9, 2026
f4d94f5
docs(plugin-sagas): document cli scaffolding surfaces
rickylabs Jun 9, 2026
e27e1a0
docs(wave4-4c): record slice P6 docs
rickylabs Jun 9, 2026
3f5b0c4
docs(plugin-sagas): document runtime constants
rickylabs Jun 9, 2026
4689948
docs(wave4-4c): record slice P7 runtime docs
rickylabs Jun 9, 2026
809bc5e
refactor(plugin-sagas): split v1 service router
rickylabs Jun 9, 2026
f893ba7
docs(wave4-4c): record slice P8 router split
rickylabs Jun 9, 2026
076c2ef
docs(plugin-sagas): expand doctested readme
rickylabs Jun 9, 2026
f90961c
docs(wave4-4c): record slice P9 readme
rickylabs Jun 9, 2026
7ef03e9
test(plugin-sagas): verify manifest contract
rickylabs Jun 9, 2026
d1a5176
docs(wave4-4c): record slice P10 manifest test
rickylabs Jun 9, 2026
a4d2ddd
test(plugin-sagas): cover cli contribution registry
rickylabs Jun 9, 2026
c7954ef
docs(wave4-4c): record slice P11 cli test
rickylabs Jun 9, 2026
093be5d
test(plugin-sagas): cover aspire and e2e gates
rickylabs Jun 9, 2026
9d48628
docs(wave4-4c): record slice P12 aspire tests
rickylabs Jun 9, 2026
dd707cf
fix(plugin-sagas): satisfy validation gates
rickylabs Jun 9, 2026
85ee9c0
docs(wave4-4c): record slice P13 validation
rickylabs Jun 9, 2026
d84a36c
chore(openhands): apply agent changes
openhands-agent Jun 9, 2026
d71719c
fix(wave4-4c): close impl-eval e2e findings
rickylabs Jun 9, 2026
6894c18
docs(wave4-4c): record post-impl-eval remediation
rickylabs Jun 9, 2026
8264a1c
Merge pull request #20 from rickylabs/feat/package-quality-wave4-runt…
rickylabs Jun 9, 2026
32637a9
chore(wave4-4d): pull umbrella forward onto 4c-merged base (8264a1c)
rickylabs Jun 9, 2026
c032682
docs(wave4-4d): record pull-forward onto 4c-merged umbrella + inherit…
rickylabs Jun 9, 2026
67b9319
docs(4d): record MEASURE-FIRST + Plan Gate artifacts
rickylabs Jun 9, 2026
bb985d0
chore(openhands): apply agent changes
openhands-agent Jun 9, 2026
d07833f
docs(wave4-4d): record PLAN-EVAL PASS + add worklog Design section
rickylabs Jun 9, 2026
5aec3f4
docs(wave4-4d): flag stale OpenHands summary comment on PLAN-EVAL run
rickylabs Jun 9, 2026
7a4aefc
fix(triggers-core): wire D1 package task hygiene
rickylabs Jun 9, 2026
26ab7b0
docs(wave4): record D1 task hygiene evidence
rickylabs Jun 9, 2026
23ecbe4
fix(triggers): wire D2 package check hygiene
rickylabs Jun 9, 2026
7b2fe54
docs(wave4): record D2 task hygiene evidence
rickylabs Jun 9, 2026
521c452
fix(triggers-core): expose D3 builder signature types
rickylabs Jun 9, 2026
3785ef5
docs(wave4): record D3 builder type evidence
rickylabs Jun 9, 2026
9d3505d
fix(triggers-core): expose D4 structural config contracts
rickylabs Jun 9, 2026
819a6df
docs(wave4): record D4 structural contract evidence
rickylabs Jun 9, 2026
da0cb30
fix(triggers-core): export D5 port runtime adapter types
rickylabs Jun 9, 2026
762fe08
docs(wave4): record D5 port runtime evidence
rickylabs Jun 9, 2026
2d45b05
fix(triggers-core): expose D6 telemetry testing types
rickylabs Jun 9, 2026
aee486a
docs(wave4): record D6 telemetry testing evidence
rickylabs Jun 9, 2026
98a121f
chore(triggers-core): validate D7 telemetry docs
rickylabs Jun 9, 2026
64109d5
docs(wave4): record D7 telemetry docs evidence
rickylabs Jun 9, 2026
50cc79f
fix(triggers-core): document D8 domain surface
rickylabs Jun 9, 2026
2d441c3
docs(wave4): record D8 domain docs evidence
rickylabs Jun 9, 2026
f5e87be
chore(triggers-core): validate D9 testing contracts docs
rickylabs Jun 9, 2026
476cec4
docs(wave4): record D9 testing contracts evidence
rickylabs Jun 9, 2026
437e605
fix(triggers): expose D10 public aspire contracts
rickylabs Jun 9, 2026
35e3020
docs(wave4): record D10 plugin public evidence
rickylabs Jun 9, 2026
c20e9db
fix(triggers): expose D11 runtime contracts
rickylabs Jun 9, 2026
a4a7636
docs(wave4): record D11 runtime evidence
rickylabs Jun 9, 2026
00af803
fix(triggers): expose D12 cli stream contracts
rickylabs Jun 9, 2026
bd7e0bc
docs(wave4): record D12 cli stream evidence
rickylabs Jun 9, 2026
225e05c
fix(triggers): expose D13 service scaffolding contracts
rickylabs Jun 9, 2026
82b5b64
docs(wave4): record D13 service scaffolding evidence
rickylabs Jun 9, 2026
5d25e90
chore(triggers): validate D14 runtime docs
rickylabs Jun 9, 2026
8e67f02
docs(wave4): record D14 runtime docs evidence
rickylabs Jun 9, 2026
de55dab
fix(triggers): document D15 cli surface
rickylabs Jun 10, 2026
775662b
docs(wave4): record D15 cli docs evidence
rickylabs Jun 10, 2026
da10d52
chore(triggers): validate D16 stream scaffolding docs
rickylabs Jun 10, 2026
0feabec
docs(wave4): record D16 stream scaffolding evidence
rickylabs Jun 10, 2026
c2df49a
test(triggers): split D17 webhook e2e concepts
rickylabs Jun 10, 2026
d33e07c
docs(wave4): record D17 e2e split evidence
rickylabs Jun 10, 2026
fb25c72
D18 add triggers plugin manifest verification
rickylabs Jun 10, 2026
f54d787
docs(wave4): record D18 manifest verification evidence
rickylabs Jun 10, 2026
27083c9
test(triggers): add D19 cli contribution coverage
rickylabs Jun 10, 2026
dd72ad5
docs(wave4): record D19 cli contribution evidence
rickylabs Jun 10, 2026
972783d
test(triggers): add D20 aspire and e2e gate coverage
rickylabs Jun 10, 2026
ad8a060
docs(wave4): record D20 aspire e2e evidence
rickylabs Jun 10, 2026
03fce94
docs(triggers-core): add D21 package docs tree
rickylabs Jun 10, 2026
11b121a
docs(wave4): record D21 core docs evidence
rickylabs Jun 10, 2026
7f96e92
docs(triggers): add D22 plugin docs tree
rickylabs Jun 10, 2026
a5ff553
docs(wave4): record D22 plugin docs evidence
rickylabs Jun 10, 2026
fd300c3
fix(triggers): close D23 final validation findings
rickylabs Jun 10, 2026
38cf04d
docs(wave4): record D23 final sweep evidence
rickylabs Jun 10, 2026
c44f780
fix(triggers): add type annotations to e2e webhooks_helpers for isola…
openhands-agent Jun 10, 2026
bc17fe3
docs(wave4): IMPL-EVAL PASS verdict for 4d triggers
openhands-agent Jun 10, 2026
60bfa4c
chore(openhands): apply agent changes
openhands-agent Jun 10, 2026
753c431
fix(wave4): keep root deno check on source scope
rickylabs Jun 10, 2026
aa70199
chore(wave4): make scoped deno gates default
rickylabs Jun 10, 2026
f2926f9
test(cli): lock database init aspire resources polling
rickylabs Jun 10, 2026
7ff1510
docs(wave4): record cli e2e follow-up commit
rickylabs Jun 10, 2026
67aa453
Merge pull request #21 from rickylabs/feat/package-quality-wave4-runt…
rickylabs Jun 10, 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
  •  
  •  
  •  
106 changes: 106 additions & 0 deletions .agents/skills/aspire/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
---
name: aspire
description: "Orchestrates Aspire distributed applications using the Aspire CLI for running, debugging, and managing distributed apps. USE FOR: aspire start, aspire stop, start aspire app, aspire describe, list aspire integrations, debug aspire issues, view aspire logs, add aspire resource, aspire dashboard, update aspire apphost. DO NOT USE FOR: non-Aspire .NET apps (use dotnet CLI), container-only deployments (use docker/podman), Azure deployment after local testing (use azure-deploy skill). INVOKES: Aspire CLI commands (aspire start, aspire describe, aspire otel logs, aspire docs search, aspire add), bash. FOR SINGLE OPERATIONS: Use Aspire CLI commands directly for quick resource status or doc lookups."
---

# Aspire Skill

This repository uses Aspire to orchestrate its distributed application. Resources are defined in the AppHost project (`apphost.cs` or `apphost.ts`).

## CLI command reference

| Task | Command |
|---|---|
| Start the app | `aspire start` |
| Start isolated (worktrees) | `aspire start --isolated` |
| Restart the app | `aspire start` (stops previous automatically) |
| Wait for resource healthy | `aspire wait <resource>` |
| Stop the app | `aspire stop` |
| List resources | `aspire describe` or `aspire resources` |
| Run resource command | `aspire resource <resource> <command>` |
| Start/stop/restart resource | `aspire resource <resource> start|stop|restart` |
| Rebuild a .NET project resource | `aspire resource <resource> rebuild` |
| View console logs | `aspire logs [resource]` |
| View structured logs | `aspire otel logs [resource]` |
| View traces | `aspire otel traces [resource]` |
| Logs for a trace | `aspire otel logs --trace-id <id>` |
| Add an integration | `aspire add` |
| List running AppHosts | `aspire ps` |
| Update AppHost packages | `aspire update` |
| Search docs | `aspire docs search <query>` |
| Get doc page | `aspire docs get <slug>` |
| List doc pages | `aspire docs list` |
| Environment diagnostics | `aspire doctor` |
| List resource MCP tools | `aspire mcp tools` |
| Call resource MCP tool | `aspire mcp call <resource> <tool> --input <json>` |

Most commands support `--format Json` for machine-readable output. Use `--apphost <path>` to target a specific AppHost.

## Key workflows

### Running in agent environments

Use `aspire start` to run the AppHost in the background. When working in a git worktree, use `--isolated` to avoid port conflicts and to prevent sharing user secrets or other local state with other running instances:

```bash
aspire start --isolated
```

Use `aspire wait <resource>` to block until a resource is healthy before interacting with it:

```bash
aspire start --isolated
aspire wait myapi
```

### Applying code changes

Choose the right action based on what changed:

| What changed | Action | Why |
|---|---|---|
| AppHost project (`apphost.cs`/`apphost.ts`) | `aspire start` | Resource graph changed; full restart required |
| Compiled .NET project resource | `aspire resource <name> rebuild` | Rebuilds and restarts only that resource |
| Interpreted resource (JavaScript, Python) | Typically nothing — most run with file watchers | Restart the resource if no watch mode is configured |

**Never restart the entire AppHost just because a single resource changed.** Use `aspire resource <name> rebuild` for .NET project resources — it coordinates stop, build, and restart for just that resource. Use `aspire describe --format Json` to check which commands a resource supports.

### Debugging issues

Before making code changes, inspect the app state:

1. `aspire describe` — check resource status
2. `aspire otel logs <resource>` — view structured logs
3. `aspire logs <resource>` — view console output
4. `aspire otel traces <resource>` — view distributed traces

### Adding integrations

Use `aspire docs search` to find integration documentation, then `aspire docs get` to read the full guide. Use `aspire add` to add the integration package to the AppHost.

After adding an integration, restart the app with `aspire start` for the new resource to take effect.

### Using resource MCP tools

Some resources expose MCP tools (e.g. `WithPostgresMcp()` adds SQL query tools). Discover and call them via CLI:

```bash
aspire mcp tools # list available tools
aspire mcp tools --format Json # includes input schemas
aspire mcp call <resource> <tool> --input '{"key":"value"}' # invoke a tool
```

## Important rules

- **Always start the app first** (`aspire start`) before making changes to verify the starting state.
- **To restart, just run `aspire start` again** — it automatically stops the previous instance. NEVER use `aspire stop` then `aspire run`. NEVER use `aspire run` at all.
- **Only restart the AppHost when AppHost code changes.** For .NET project resources, use `aspire resource <name> rebuild` instead.
- Use `--isolated` when working in a worktree.
- **Avoid persistent containers** early in development to prevent state management issues.
- **Never install the Aspire workload** — it is obsolete.
- **For Aspire API reference and documentation, prefer `aspire docs search <query>` and `aspire docs get <slug>`** over searching NuGet package caches or XML doc files. The CLI provides up-to-date content from aspire.dev.
- Prefer `aspire.dev` and `learn.microsoft.com/microsoft/aspire` for official documentation.

## Playwright CLI

If configured, use Playwright CLI for functional testing of resources. Get endpoints via `aspire describe`. Run `playwright-cli --help` for available commands.
4 changes: 4 additions & 0 deletions .agents/skills/netscript-doctrine/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,10 @@ migration plan and debt entry explicitly cover them.
The doctrine is the single source of truth.
- **Ignoring debt registry** — New violations must be recorded with a closing gate and owner.
Unrecorded violations are `FAIL_DEBT`.
- **Using raw root CLI output as package evidence** — For package/plugin quality gates, check, lint,
and formatting evidence should use the scoped wrappers under `.llm/tools/` with explicit roots,
`--ext ts,tsx`, and generated/future-wave excludes. Use doctrine file 09 for the full fitness-gate
rule.

## Reference Files

Expand Down
6 changes: 6 additions & 0 deletions .agents/skills/netscript-harness/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,12 @@ this skill tells you what to load and in what order.
self-certify.
- **Carried-in plans as ground truth** — Re-baseline against current `main` before locking the plan.
- **Monolithic commits** — Commit by slice, not by monolith. Each slice has its own gate.
- **Raw root CLI noise as a verdict** — Package-quality check/lint/fmt evidence should use the
scoped wrappers `.llm/tools/run-deno-check.ts`, `.llm/tools/run-deno-lint.ts`, and
`.llm/tools/run-deno-fmt.ts`. They select explicit roots, file extensions, and excludes, then emit
compact structured output. Raw root `deno fmt --check` over Markdown, generated targets, or legacy
line-ending drift is not a package-quality verdict source unless the plan explicitly owns
repo-wide formatting.

## Run Artifacts

Expand Down
39 changes: 38 additions & 1 deletion .llm/harness/debt/arch-debt.md
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,12 @@ Seeded from
- **Target:** 2026-Q3 doctrine remediation.
- **Linked plan:** `.llm/tmp/run/doc-harness-doctrine-refactor--harness-v2-plan/plan.md`
- **Created:** 2026-04-29
- **Status:** open
- **Status:** closed 2026-06-09 — Wave 4c slice C13 split the saga transport monoliths in
`@netscript/plugin-sagas-core`: `src/transports/list-transport.ts` now owns the transport class
and stable public re-exports while list command/key/recovery mechanics live in
`src/transports/list-transport-commands.ts`; `src/transports/redis-transport.ts` was split the
same way into `src/transports/redis-transport-commands.ts`. All four files are below the F-1 cap
and the transport entrypoint still passes raw `deno check --unstable-kv`.
- **Gate:** F-1, F-13

## packages/fresh — AP-1 / doctrine verdict Restructure (builders/mod.ts 1,110 LOC)
Expand Down Expand Up @@ -229,6 +234,38 @@ Seeded from
- **Status:** open
- **Gate:** PLG-WALKER-AST, F-5, F-11

## packages/plugin-streams-core — AP-13 console.warn runtime reporting

- **Reason:** `DurableStreamProducer` currently uses `console.warn` for connection, pending-event,
serialization, and primary-key visibility in published runtime code. The warnings are intentionally
retained for alpha operator visibility; replacing them correctly requires a structured telemetry or
logger dependency that is outside Wave 4a's package-quality scope.
- **Owner:** `@netscript/plugin-streams-core` maintainers.
- **Target:** Telemetry-integration wave before beta runtime stabilization.
- **Linked plan:** `.llm/tmp/run/feat-package-quality-wave4-runtimes--4a-streams-watchers/plan.md`
(D6, slice 4).
- **Created:** 2026-06-08
- **Status:** open, DEBT_ACCEPTED.
- **Gate:** F-14, AP-13; close when `DurableStreamProducer` emits through a structured reporter and
`console.warn` is absent from
`packages/plugin-streams-core/src/application/create-durable-stream.ts`.

## packages/watchers — AP-13 console.warn runtime reporting

- **Reason:** `FileWatcher` and `HybridWatchStrategy` currently use `console.warn` for native
watcher fallback and runtime access-failure visibility. The warnings are intentionally retained
for alpha operator diagnostics; replacing them correctly requires a structured telemetry or logger
dependency that is outside Wave 4a's package-quality scope.
- **Owner:** `@netscript/watchers` maintainers.
- **Target:** Telemetry-integration wave before beta runtime stabilization.
- **Linked plan:** `.llm/tmp/run/feat-package-quality-wave4-runtimes--4a-streams-watchers/plan.md`
(S23 final debt sweep).
- **Created:** 2026-06-08
- **Status:** open, DEBT_ACCEPTED.
- **Gate:** F-14, AP-13; close when watcher runtime warnings emit through a structured reporter and
`console.warn` is absent from `packages/watchers/src/file-watcher.ts` and
`packages/watchers/src/strategies/hybrid.ts`.

## packages/cli — AP-1 / doctrine verdict Restructure

- **Reason:** `pipeline.ts` and `official-plugin-copier.ts` are monoliths; package should move
Expand Down
24 changes: 13 additions & 11 deletions .llm/harness/gates/static-gates.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,22 @@ package scope is involved.

## Gate Definitions

| Gate | Default command | Required when | Evidence |
| ---------------- | -------------------------------------------------------------------------- | ------------------------------------------------------------ | ----------------------------- |
| Narrow typecheck | `deno check --unstable-kv <file-or-entry>` | Small focused changes where workspace config is not required | command output or parser JSON |
| Slice typecheck | `deno task check:<slice>` piped to `.llm/tools/parse-deno-check-errors.ts` | Significant work or workspace-config-sensitive code | parser JSON summary |
| Format check | `deno task fmt --check` or targeted equivalent | Any committed docs/code where formatting matters | command output |
| Lint | `deno task lint` or narrow lint target | Code changes; docs-only runs may skip with rationale | command output |
| Doc lint | `deno doc --lint <module>` | Public package exports, README/API docs, JSR work | command output |
| Publish dry-run | `deno publish --dry-run` from package | Published package/plugin changes | command output |
| Link/path check | focused filesystem check | Docs that reference local paths | list of checked paths |
| Gate | Default command | Required when | Evidence |
| ---------------- | ------------------------------------------------- | ------------------------------------------------------------ | ----------------------------- |
| Narrow typecheck | `deno check --unstable-kv <file-or-entry>` | Small focused changes where workspace config is not required | command output or parser JSON |
| Slice typecheck | `.llm/tools/run-deno-check.ts -- <check command>` | Significant work or workspace-config-sensitive code | wrapper JSON summary |
| Format check | `deno task fmt --check` or targeted equivalent | Any committed docs/code where formatting matters | command output |
| Lint | `deno task lint` or narrow lint target | Code changes; docs-only runs may skip with rationale | command output |
| Doc lint | `deno doc --lint <module>` | Public package exports, README/API docs, JSR work | command output |
| Publish dry-run | `deno publish --dry-run` from package | Published package/plugin changes | command output |
| Link/path check | focused filesystem check | Docs that reference local paths | list of checked paths |

## Parser Preference

Use `.llm/tools/parse-deno-check-errors.ts` for `deno check` and `deno task check:<slice>` output
when possible. Fall back to raw output only if the parser cannot run.
Use `.llm/tools/run-deno-check.ts` for `deno check` and `deno task check:<slice>` output when
possible. It can run a scoped file selection directly, parse a saved log with `--input`, parse stdin
with `--stdin`, or wrap a command after `--`. Fall back to raw output only if the wrapper cannot
run.

## Documentation-Only Runs

Expand Down
64 changes: 40 additions & 24 deletions .llm/harness/lessons/platform.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,50 +2,66 @@

Source: supervisor sessions for `feat/package-quality` Wave 2 (2a–2c).

These are environment gotchas that silently corrupt harness bookkeeping if not
known up front. All confirmed on Windows 11 + PowerShell + RTK shell hook.
These are environment gotchas that silently corrupt harness bookkeeping if not known up front. All
confirmed on Windows 11 + PowerShell + RTK shell hook.

## RTK serves stale git reads

The shell hook rewrites `git …` → `rtk git …`, and rtk caches read commands, so
`git log`/`git rev-parse`/`git status` can lag reality (especially right after a
remote merge). Symptoms: a branch tip that "won't update," a merge that "didn't
happen."
`git log`/`git rev-parse`/`git status` can lag reality (especially right after a remote merge).
Symptoms: a branch tip that "won't update," a merge that "didn't happen."

Bypass for ground truth:

- `rtk proxy git <args>` — runs the raw command, no cache.
- **Preferred for scripts:** spawn git directly with no shell, e.g.
`deno eval 'new Deno.Command("git",{args:[...]})'`, or use
`.llm/tools/git-verify.ts`. No shell = no rewrite = no cache.
`deno eval 'new Deno.Command("git",{args:[...]})'`, or use `.llm/tools/git-verify.ts`. No shell =
no rewrite = no cache.

(Also captured in auto-memory `rtk-stale-git-cache`.)

## MSYS mangles `ref:path` colons

In the Bash tool (MSYS), `git show <ref>:<path>` and similar `rev:path` forms get
their colon path-mangled and fail or read the wrong thing. Work around by spawning
git directly via `deno eval` (no shell translation), not by escaping.
In the Bash tool (MSYS), `git show <ref>:<path>` and similar `rev:path` forms get their colon
path-mangled and fail or read the wrong thing. Work around by spawning git directly via `deno eval`
(no shell translation), not by escaping.

## Bash tool ≠ PowerShell here-strings

The Bash tool runs **bash**, not PowerShell. A PowerShell `@'…'@` here-string
passed to `git commit -m` leaks a literal `@` into the commit subject (observed:
`@ chore(2c)…`). In the Bash tool use bash quoting or multiple `-m` flags; reserve
`@'…'@` for the PowerShell tool only. If it slips through on a PR-less seed branch,
`git commit --amend` + `git push --force-with-lease` is safe.
The Bash tool runs **bash**, not PowerShell. A PowerShell `@'…'@` here-string passed to
`git commit -m` leaks a literal `@` into the commit subject (observed: `@ chore(2c)…`). In the Bash
tool use bash quoting or multiple `-m` flags; reserve `@'…'@` for the PowerShell tool only. If it
slips through on a PR-less seed branch, `git commit --amend` + `git push --force-with-lease` is
safe.

## `gh` CLI not on the Bash PATH

The GitHub CLI is not reliably on PATH in the Bash tool here. Use the GitHub MCP
tools instead (`pull_request_read`, `update_pull_request`, `merge_pull_request`,
`create_pull_request`, `get_file_contents`, `create_or_update_file`). They also
integrate with the permission UI.
The GitHub CLI is not reliably on PATH in the Bash tool here. Use the GitHub MCP tools instead
(`pull_request_read`, `update_pull_request`, `merge_pull_request`, `create_pull_request`,
`get_file_contents`, `create_or_update_file`). They also integrate with the permission UI.

## Syncing a local track worktree without touching lock files

When a stale local track worktree blocks a supervisor-doc commit and `deno.lock`
has uncommitted churn: `git stash push -- deno.lock` (preserves, does not delete),
then `git merge --ff-only origin/<track>`. Never delete lock files or run
`deno cache --reload` without approval (Golden Rule 6). Leave intentional lock
churn parked in the stash rather than committing it into a docs commit.
When a stale local track worktree blocks a supervisor-doc commit and `deno.lock` has uncommitted
churn: `git stash push -- deno.lock` (preserves, does not delete), then
`git merge --ff-only origin/<track>`. Never delete lock files or run `deno cache --reload` without
approval (Golden Rule 6). Leave intentional lock churn parked in the stash rather than committing it
into a docs commit.

## Root quality gates must exclude scratch and future-wave surfaces

Root package-quality gates are verdict sources only when their file selection matches the current
wave. `deno check .`, raw `deno lint`, and raw `deno fmt --check` can walk `.llm/tmp` scratch
workspaces, generated scaffold output, Markdown, and packages intentionally deferred to later waves.
Use explicit roots and excludes:

- `.llm/tools/run-deno-check.ts --root packages --root plugins --ext ts,tsx --exclude <future/generated>`
for type-check verdicts. It defaults to `--unstable-kv` and can also parse saved/stdin command
output.
- `.llm/tools/run-deno-lint.ts --root packages --root plugins --ext ts,tsx --exclude <future/generated>`
for lint verdicts.
- `.llm/tools/run-deno-fmt.ts --root <owned roots> --ext ts,tsx --exclude <future/generated>` for
formatting verdicts.

If raw root formatting reports line-ending-only drift in untouched legacy files, record it as
baseline drift instead of normalizing hundreds of files in an unrelated wave.
1 change: 1 addition & 0 deletions .llm/tmp/openhands/issue-comments.json

Large diffs are not rendered by default.

Loading