[Wave 4] Runtimes & their plugins (9 units) — COMPLETE · all sub-waves IMPL-EVAL PASS · closeout → track#16
Conversation
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>
…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>
…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>
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>
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>
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)
🤖 Augment PR SummarySummary: Consolidates Wave 4 “runtimes & their plugins” into the package-quality track, bringing 9 alpha units to the publish/doc-lint/test bar. Changes:
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 👎 |
| sourceMode = 'stdin'; | ||
| results.push({ | ||
| files: [], | ||
| exitCode: 0, |
There was a problem hiding this comment.
.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
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
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>
…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>
…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>
✅ COMPLETE — 4a + 4b + 4c + 4d all merged to umbrella, each IMPL-EVAL PASS. Ready for
--no-ffcloseout into the track.Wave 4 umbrella for the S1 Package-Quality track. All 9 units brought to the alpha bar (
deno publish --dry-run0 slow-types, full-exportdeno doc --lintclean, 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
@netscript/pluginmerged to track (1423ab3, IMPL-EVAL PASS); track reconciled in; OQ-D resolved (triggers-healthowner → 4d).2c24662(PR [Wave 4 · 4a] streams + watchers — foundation sub-wave (Research → Plan & Design) #18).1896f854(PR [Wave 4 · 4b] workers — package quality #19).FAIL_FIX→remediated→PASS) → umbrella8264a1c(PR [Wave 4 · 4c] sagas — package quality [base-synced on 4a+4b · Research/Plan next] #20).bc17fe3) → umbrella67aa453(PR [Wave 4 · 4d] triggers — package quality (LAST · PLAN-EVAL PASS · Implementation next) #21). Ownstriggers-health.Sub-waves
plugin-streams-core(A3),plugin-streams(A5),watchers(A3)2c24662plugin-workers-core(A3),plugin-workers(A5)1896f854plugin-sagas-core(A3),plugin-sagas(A5)8264a1cplugin-triggers-core(A3),plugin-triggers(A5)67aa453(IMPL-EVAL PASSbc17fe3)Post-IMPL-EVAL umbrella hardening (4d tail)
753c431,aa70199): new.llm/tools/run-deno-check.tsis the single scopeddeno checkrunner/parser;.llm/tools/parse-deno-check-errors.tsremoved; rootcheck/lint/fmt:checknow 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.database.init(f2926f9): confirmed a stale-CI-environment artifact (Aspire CLI 8.x on the runner), not a 4d regression — fixed onmainvia 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 sequencedscaffold.runtimesuite 39/0 incl.database.initPASS;behavior.triggers-healthPASS.Deliberate
deno.lockreconcile (closeout)Track had no
deno.lockchange since the branch-pointda0e470, so the closeout merge inherits the umbrella lock with no conflict:@opentelemetry/semantic-conventions1.40.0→1.28.0 + esbuild/preact/loader additions (+179/−63 vs2c24662), 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/cliisolatedDeclarationsTS9016/TS9027 incopy-official-plugin.ts— byte-identical to base, pre-existing Wave 6 CLI debt (arch-debt.md).packages/fresh/fresh-ui/telemetryisolatedDeclarationsfailures — Wave 5/6 scope (the apps layer is exactly Wave 5's re-architecture).Scope — 9 units (all
0.0.1-alpha.0)plugin-streams-core✅plugin-streams✅plugin-workers-core✅plugin-workers✅plugin-sagas-core✅plugin-sagas✅plugin-triggers-core✅plugin-triggers✅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