Skip to content

[Wave 4] Runtimes & their plugins (9 units) — COMPLETE · all sub-waves IMPL-EVAL PASS · closeout → track#16

Merged
rickylabs merged 241 commits into
feat/package-qualityfrom
feat/package-quality-wave4-runtimes
Jun 10, 2026
Merged

[Wave 4] Runtimes & their plugins (9 units) — COMPLETE · all sub-waves IMPL-EVAL PASS · closeout → track#16
rickylabs merged 241 commits into
feat/package-qualityfrom
feat/package-quality-wave4-runtimes

Conversation

@rickylabs

@rickylabs rickylabs commented Jun 8, 2026

Copy link
Copy Markdown
Owner

✅ COMPLETE — 4a + 4b + 4c + 4d all merged to umbrella, each IMPL-EVAL PASS. Ready for --no-ff closeout into the track.

Wave 4 umbrella for the S1 Package-Quality track. All 9 units brought to the alpha bar (deno publish --dry-run 0 slow-types, full-export deno doc --lint clean, README ≥150, docs/ tree, ./testing, archetype gates green). Each sub-wave ran a separate-session PLAN-EVAL and IMPL-EVAL (evaluator ≠ generator).

Gate sequence — all green

  1. ✅ umbrella branch + worktree + pre-research + Draft PR.
  2. ✅ Wave 3 @netscript/plugin merged to track (1423ab3, IMPL-EVAL PASS); track reconciled in; OQ-D resolved (triggers-health owner → 4d).
  3. 4a streams + watchers — IMPL-EVAL PASS → umbrella 2c24662 (PR [Wave 4 · 4a] streams + watchers — foundation sub-wave (Research → Plan & Design) #18).
  4. 4b workers — PLAN-EVAL + IMPL-EVAL PASS (OpenHands kimi-k2.6) → umbrella 1896f854 (PR [Wave 4 · 4b] workers — package quality #19).
  5. 4c sagas — PLAN-EVAL (qwen3.7-max, 8/8) + IMPL-EVAL (FAIL_FIX→remediated→PASS) → umbrella 8264a1c (PR [Wave 4 · 4c] sagas — package quality [base-synced on 4a+4b · Research/Plan next] #20).
  6. 4d triggers (LAST) — PLAN-EVAL PASS + IMPL-EVAL PASS (verdict committed bc17fe3) → umbrella 67aa453 (PR [Wave 4 · 4d] triggers — package quality (LAST · PLAN-EVAL PASS · Implementation next) #21). Owns triggers-health.

⚠️ The PR #21 auto-summary comment is stale (it renders an old 4c-sagas FAIL_FIX body). Authoritative 4d verdict = committed evaluate.md (bc17fe3 docs(wave4): IMPL-EVAL PASS verdict for 4d triggers). Logged in lessons/platform.md.

Sub-waves

Sub Units PR Status
4a plugin-streams-core (A3), plugin-streams (A5), watchers (A3) #18 ✅ merged → 2c24662
4b plugin-workers-core (A3), plugin-workers (A5) #19 ✅ merged → 1896f854
4c plugin-sagas-core (A3), plugin-sagas (A5) #20 ✅ merged → 8264a1c
4d plugin-triggers-core (A3), plugin-triggers (A5) #21 ✅ merged → 67aa453 (IMPL-EVAL PASS bc17fe3)

Post-IMPL-EVAL umbrella hardening (4d tail)

  • Scoped root Deno gates (753c431, aa70199): new .llm/tools/run-deno-check.ts is the single scoped deno check runner/parser; .llm/tools/parse-deno-check-errors.ts removed; root check/lint/fmt:check now use scoped wrappers that exclude Wave 5 app packages + Wave 6 CLI debt + generated targets. Doctrine F-19 + AGENTS.md + harness/doctrine skills + platform/static-gate docs updated.
  • CLI E2E database.init (f2926f9): confirmed a stale-CI-environment artifact (Aspire CLI 8.x on the runner), not a 4d regression — fixed on main via ci: align agent toolchain versions #24 (Deno 2.7.11 / .NET 10.0.x / Aspire 13.2.2). Added an aspire-resources polling regression assertion. Local sequenced scaffold.runtime suite 39/0 incl. database.init PASS; behavior.triggers-health PASS.

Deliberate deno.lock reconcile (closeout)

Track had no deno.lock change since the branch-point da0e470, so the closeout merge inherits the umbrella lock with no conflict: @opentelemetry/semantic-conventions 1.40.0→1.28.0 + esbuild/preact/loader additions (+179/−63 vs 2c24662), introduced by the 4b PLAN-EVAL automation and validated green across 4b/4c/4d PLAN-EVAL + IMPL-EVAL. Blessed as the track lock at closeout (verified post-merge, no --reload).

Umbrella-level carries (Wave 6 debt, not Wave 4 regressions)

  • packages/cli isolatedDeclarations TS9016/TS9027 in copy-official-plugin.ts — byte-identical to base, pre-existing Wave 6 CLI debt (arch-debt.md).
  • packages/fresh / fresh-ui / telemetry isolatedDeclarations failures — Wave 5/6 scope (the apps layer is exactly Wave 5's re-architecture).

Scope — 9 units (all 0.0.1-alpha.0)

Family Core Plugin (A5)
streams plugin-streams-core plugin-streams
workers plugin-workers-core plugin-workers
sagas plugin-sagas-core plugin-sagas
triggers plugin-triggers-core plugin-triggers
standalone watchers (A3) ✅

⛔ Close

On merge of this PR the track reaches full Wave-4 completeness → Wave 5 (apps layer) unblocks: reconcile track → feat/package-quality-wave5-apps, re-baseline the 4 app packages against the merged surface, open sub-wave 5a.

🤖 Generated with Claude Code

Wave 4 (Runtimes & their plugins): 9 units across 3 archetype families.

Umbrella branch off track f2a7ff2. Pre-research pass (supervisor): inventory, systemic findings, dry-run sweep (all 9 PASS, 0 slow types), archetype reconciliation (registry A1/A4 vs canonical A3), challenge-pass targets for the large cores, canonical name map, prework provenance netscript-start#96.

STATUS: PREPARED. PLAN-LOCK BLOCKED on Wave 3 (plugins consume @netscript/plugin; triggers sub-wave gated on OQ-D). Sub-branches open only after Wave 3 merges + a reconciliation pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
rickylabs added a commit that referenced this pull request Jun 8, 2026
…ave 3)

Wave 4 umbrella + supervisor pre-research bootstrapped in parallel with Wave 3 (user-approved). Status planned -> prepared; PLAN-LOCK blocked on Wave 3. Records the split proposal (4a streams+watchers / 4b workers / 4c sagas / 4d triggers), archetype-reconciliation open question (registry A1/A4 vs canonical A3), 0-slow-types dry-run reality, and the post-Wave-3 reconciliation gate.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
rickylabs and others added 3 commits June 8, 2026 22:18
…mes umbrella

Unblocks Wave 4: brings the merged plugin host surface into the runtimes base
for the A5 plugin-tier consumer scan. OQ-D resolved (triggers-health -> 4d).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Forked off the track-synced umbrella (carries merged Wave 3 @netscript/plugin).
Seed: context-pack + worklog + drift + commits. Handover = Research -> Plan & Design.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@rickylabs rickylabs changed the title [Wave 4] Runtimes &amp; their plugins (9 units) — umbrella [BLOCKED on Wave 3] [Wave 4] Runtimes &amp; their plugins (9 units) — umbrella [ACTIVE · 4a open] Jun 8, 2026
rickylabs added a commit that referenced this pull request Jun 8, 2026
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
rickylabs and others added 13 commits June 8, 2026 23:22
MEASURE-FIRST: full-export doc-lint per entrypoint (streams-core 1,
plugin-streams 15, watchers 5). Dry-run PASS 0 slow types.
Archetype locked: streams-core A3, plugin-streams A5, watchers A3.
23 slices < 30 cap. PLAN-EVAL hard stop before implementation.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…-ref split)

Inline supervisor eval (user-directed). Locks Wave 3 LD-8 structural-type precedent
for third-party private-type-refs; first-party @netscript/plugin types via type re-export.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Supervisor-authored seed for the 4b workers sub-wave (prepared in parallel,
forked off umbrella feat/package-quality-wave4-runtimes @ ee9f26b).

Pre-research measured @ ee9f26b: plugin-workers-core doc-lint 460
(180 private-type-ref + 280 missing-jsdoc), plugin-workers 143 (83 + 60);
both publish --dry-run PASS, 0 slow types. 17-export core surface (F-5/F-16),
plugin tests 0 (A5 F-10), F-1 over-cap 501/469, likely 4b-core/4b-plugin split.

DO NOT LOCK: pull umbrella forward after 4a merges (settles ./streams), then
re-run MEASURE-FIRST.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Supervisor-authored seed for the 4c sagas sub-wave (prepared in parallel,
forked off umbrella feat/package-quality-wave4-runtimes @ ee9f26b).

Pre-research measured @ ee9f26b: plugin-sagas-core doc-lint 397
(48 private-type-ref + 349 missing-jsdoc), plugin-sagas 122 (71 + 51);
both publish --dry-run PASS, 0 slow types. 19-export core surface (F-5/F-16) +
ports/adapters F-3 layering audit, plugin tests 0 (A5 F-10), F-1 over-cap
services/routers/v1 716 (biggest file on board) + redis-transport 481,
core has no test task, likely 4c-core/4c-plugin split.

DO NOT LOCK: pull umbrella forward after 4a AND 4b merge (settles ./streams +
./integration/workers), then re-run MEASURE-FIRST.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Supervisor-authored seed for the 4d triggers sub-wave (prepared in parallel,
forked off umbrella feat/package-quality-wave4-runtimes @ ee9f26b). Runs LAST.

Pre-research measured @ ee9f26b: plugin-triggers-core doc-lint 211
(46 private-type-ref + 165 missing-jsdoc), plugin-triggers 138 (76 + 62);
both publish --dry-run PASS, 0 slow types. Lightest Wave-4 family (349) but
BOTH units missing their docs/ dir (F-7), plugin tests 0 (A5 F-10),
test-webhooks-e2e 424 (F-1). OQ-D resolved: triggers-health in-scope here
(A5 runtime/Aspire validation via live localhost:8093/health probe).
Likely combined (no split).

DO NOT LOCK: pull umbrella forward after 4a, 4b AND 4c merge, then re-run
MEASURE-FIRST. Last sub-wave: its merge brings the umbrella to full-wave
completeness for the umbrella-to-track merge.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
rickylabs added a commit that referenced this pull request Jun 8, 2026
4a PLAN-EVAL done supervisor-inline (PASS WITH ADJUSTMENTS; user-granted
plugin-plan exception) → implementing on PR #18. 4b/4c/4d forked off the
umbrella @ ee9f26b with supervisor MEASURE-FIRST pre-research and opened as
Draft PRs #19/#20/#21 → umbrella #16, all carrying a DO-NOT-LOCK pull-forward
gate. Measured doc-lint (full-export): 4b 603, 4c 519, 4d 349; all 6 units
dry-run PASS 0 slow types. Registry status, sub-wave prep subsection, summary
table, and 3 Base-Sync Log rows updated.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
rickylabs and others added 20 commits June 10, 2026 02:12
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ted declarations

Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: openhands <openhands@all-hands.dev>
Exclude harness scratch output from root-dot Deno checks and remove stale Finding fields from the CLI presentation fitness tool so root check does not fail outside package-quality source scope.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Consolidate deno check parsing into run-deno-check, route root check/lint/fmt gates through scoped wrappers, and document wrapper-first gate policy.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Verify database init polling forwards --resources to Aspire and document that dependent E2E gates require the sequenced suite command.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Record the finalized CLI E2E database-init follow-up commit in the harness commit ledger.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…imes-4d

[Wave 4 · 4d] triggers — package quality (LAST · PLAN-EVAL PASS · Implementation next)
@rickylabs rickylabs changed the title [Wave 4] Runtimes &amp; their plugins (9 units) — umbrella [ACTIVE · 4a+4b+4c merged · 4d LAST, Research] [Wave 4] Runtimes & their plugins (9 units) — COMPLETE · all sub-waves IMPL-EVAL PASS · closeout → track Jun 10, 2026
@rickylabs
rickylabs marked this pull request as ready for review June 10, 2026 14:17
@rickylabs
rickylabs merged commit f0e1441 into feat/package-quality Jun 10, 2026
@augmentcode

augmentcode Bot commented Jun 10, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: Consolidates Wave 4 “runtimes & their plugins” into the package-quality track, bringing 9 alpha units to the publish/doc-lint/test bar.

Changes:

  • Integrates streams, workers, sagas, triggers, and watchers packages/plugins (A3/A5) with docs trees, testing layers, and public export hygiene.
  • Adds a new scoped deno check runner/parser (.llm/tools/run-deno-check.ts) and updates harness/doctrine/static-gate docs to prefer scoped wrappers over raw root CLI output.
  • Updates root quality-gate tasks (check/lint/fmt) to operate on explicit roots/extensions and exclude scratch/generated/future-wave surfaces.
  • Refines plugins/workers runtime typing by introducing narrower worker port interfaces and expanding worker health status shape.
  • Updates harness debt/lessons documentation to record closeouts and environment/gate-scoping guidance.

Technical notes: PR acts as an umbrella closeout for previously validated sub-waves; lockfile and gate tooling changes are aligned with the track’s scoped verification doctrine.

🤖 Was this summary useful? React with 👍 or 👎

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. 1 suggestion posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

sourceMode = 'stdin';
results.push({
files: [],
exitCode: 0,

@augmentcode augmentcode Bot Jun 10, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.llm/tools/run-deno-check.ts: in --input/--stdin modes the tool records exitCode: 0 and later doesn’t exit non-zero based on parsed occurrences, so pipelines like deno task check 2>&1 | ... --stdin can incorrectly succeed and mask typecheck failures.

Severity: medium

Other Locations
  • .llm/tools/run-deno-check.ts:493

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

rickylabs added a commit that referenced this pull request Jun 10, 2026
Wave 4 merged to track (closeout PR #16 -> f0e1441, all sub-waves IMPL-EVAL
PASS). Track reconciled into this umbrella (dfab7a4, clean merge). Apps layer
re-baselined against the merged Wave 4 surface + blessed lock.

- context-pack.md: status flip BLOCKED -> UNBLOCKED/RECONCILED @ dfab7a4
- research.md: new section 0.5 reconciliation re-baseline table
- split-strategy.md: UNBLOCKED note
- drift.md: reconcile + re-baseline drift rows; carried-in caveats resolved
- fable5-handover.md (new): curated generator entry point
- measure-doclint.ts / measure-wave5-rebaseline.ts + JSON outputs (RTK-bypass)

Headline unchanged (328 doc-lint / 138 private-type-ref / all 4 dry-run RED)
but all 4 now PASS deno check --unstable-kv on the merged surface. Tooling
drift recorded: run-deno-check.ts replaces parse-deno-check-errors.ts; F-19.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
rickylabs added a commit that referenced this pull request Jun 10, 2026
…ed (dfab7a4)

Wave 4 closeout: all sub-waves IMPL-EVAL PASS; umbrella -> track via PR #16
(GitHub merge -> f0e1441) with the deliberate deno.lock reconcile.

Wave 5: track reconciled into umbrella (dfab7a4, clean), apps layer
re-baselined against the merged surface. Headline unchanged (328 doc-lint /
138 private-type-ref / all 4 dry-run RED) but all 4 now PASS deno check.
Fable 5 handover persisted. Ready to open 5a (next generator session).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@rickylabs
rickylabs deleted the feat/package-quality-wave4-runtimes branch June 22, 2026 21:34
rickylabs added a commit that referenced this pull request Jul 11, 2026
…atrix (#679)

* docs(web-layer): type the query.md fetch examples + coverage matrix

Replace all three raw-fetch queryFn/mutationFn examples in web-layer/query.md
with the typed contract chain (createServiceClient -> createServiceQueryUtils ->
queryOptions()/mutationOptions() spread into useIslandQuery/useIslandMutation),
add a single lib/api-clients.ts module, and keep one raw fetch under an explicit
'endpoints without a NetScript contract' heading. Cross-link sdk.md <-> query.md
(the 'hand-rolled fetch wrapper tax'). Add the unpublished web-layer coverage
matrix under _plan/. Proposals #1, #16.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VifzAytcxBk5odEMaCXihM

* docs(web-layer): connect form.md to a typed service mutation

Add a 'Posting the validated payload through a typed mutation' section: the
server handler writes through the typed SDK client, and an enhanced island drives
the same contract write with useIslandMutation + mutationOptions() — closing the
read/write asymmetry with query.md. Proposal #14.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VifzAytcxBk5odEMaCXihM

* docs(web-layer): tie interactive/examples/testing to the typed surface

interactive.md and examples.md each gain a typed route reference + QueryIsland +
contract-derived queryOptions() example; testing.md gains Deno.tests exercising a
bound route contract's parseSearch/safeParsePath. Proposal #13.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VifzAytcxBk5odEMaCXihM

* docs(run): web-layer #660a worklog

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VifzAytcxBk5odEMaCXihM

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants