Skip to content

C Expand Batch 2: runs API + multiplexer-observer + real launch/stop#43

Merged
BadGuyFranco merged 1 commit into
mainfrom
c-expand-batch2-runs-observer
May 23, 2026
Merged

C Expand Batch 2: runs API + multiplexer-observer + real launch/stop#43
BadGuyFranco merged 1 commit into
mainfrom
c-expand-batch2-runs-observer

Conversation

@BadGuyFranco
Copy link
Copy Markdown
Owner

Summary

  • Export collectConcurrencyMap from debugger.mjs (+ optional tmuxSocket param for per-workspace sockets).
  • New multiplexer-observer.ts — sole tmux observation seam; static grep discipline test.
  • GET /runs, GET /runs/:id/evidence (minimum viable Run Inspector payload via collectDebugEvidence).
  • Real POST /runs / DELETE /runs/:runId subprocess spawns; audit append after spawn with launched / stopped / spawn-failed outcomes.
  • runCocoderSubprocess for exit-code-based CLI spawns; argv-capture path preserved for mock tests.
  • Oz HTTP schemas: runs-http.ts; Testing notes section in packages/oz-daemon/README.md.

Test plan

  • pnpm -r test328/328 (+6 from 322)
  • C-S1..C-S9 unchanged green
  • New oz-runs-api.test.mjs (list, evidence, launch/stop spawn + audit timing, tmux discipline grep)
  • @ts-expect-error count unchanged (2: settings.ts + registry.ts)

Made with Cursor

Wraps debugger collectConcurrencyMap behind multiplexer-observer for the
v0.2 cmux seam; GET /runs and evidence endpoints reuse debugger collectors;
audit append records spawn outcomes after subprocess completion.

Co-authored-by: Cursor <cursoragent@cursor.com>
@BadGuyFranco BadGuyFranco merged commit e3b9776 into main May 23, 2026
2 checks passed
@BadGuyFranco BadGuyFranco deleted the c-expand-batch2-runs-observer branch May 23, 2026 12:49
BadGuyFranco added a commit that referenced this pull request May 23, 2026
…eateRequire pattern (#44)

C Expand Batch 2 (PR #43) introduced 3 new core-import sites in oz-daemon
using `createRequire(import.meta.url)` instead of `@ts-expect-error`:
multiplexer-observer.ts, run-evidence.ts, run-catalog.ts.

createRequire returns `any`, so TS doesn't complain — but it's just as
untyped as the @ts-expect-error pattern from Solve. Same type gap, different
anesthetic. Both are symptoms of the same root cause: packages/core ships
.mjs without .d.ts companions.

The v0.2 fix (emit types from core OR migrate relevant core modules to TS)
closes both patterns at once. Total callsites to clean up: 2 @ts-expect-error
+ 3 createRequire = 5.

No code changes; pure backlog amendment. Suite remains 328/328.

Co-authored-by: Claude Opus 4.7 (1M context) <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.

1 participant