Skip to content

docs(tech-specs): worker-compose tech pack + interactive deck#1963

Draft
guibeira wants to merge 3 commits into
mainfrom
tech-spec/worker-compose
Draft

docs(tech-specs): worker-compose tech pack + interactive deck#1963
guibeira wants to merge 3 commits into
mainfrom
tech-spec/worker-compose

Conversation

@guibeira

Copy link
Copy Markdown
Contributor

What

The tech pack for the worker-compose proposal, as agreed in the 2026-07-13 review — a spec directory plus its paired interactive presentation.

Spec (tech-specs/2026-07-14-worker-compose/, markdown only):

Doc Contract
compose-file.md worker-compose.yaml v1 — id-keyed containers:, depends_on scoped to one file
scripts.md per-container scripts:pre_start (blocking, 60s default timeout), run (supervised; path:// only), post_run (fires after the run exits, any exit path, not awaited)
namespace.md namespace as a runtime argument (SDK env/arg + trigger()), never a function rename; same-namespace collision = rejected registration
configuration.md daemon fetches base by name via the configuration worker, merges config_override, delivers final config at spawn
cli-contract.md one CLI/env contract for every worker binary: --url / --namespace / --config with III_* env fallbacks; zero-arg registerWorker()
lifecycle.md up/down over a validated DAG, readiness = engine registration, cascading failure, optimistic trigger buffer, compose::up id=<daemon> control surface

Deck (website/presentations/2026-07-14-worker-compose/): 11 slides + a #/crash-restart deep dive. Registry components only — no new shared components, no changes under website/presentations/src/.

Verification

  • pnpm type-check clean; node build.mjs (full) builds all 4 decks with no registry/frontmatter warnings
  • browser pass: zero console errors, system map / steppers / theme toggle working, #/spec renders all 7 docs, no horizontal scroll at 375px, roadmap card links to the deck

Notes for review

  • status: draft in the spec frontmatter; flips to live after team sign-off.
  • Two points that intentionally revisit 2026-07-13 decisions and need explicit re-approval: scripts return to the compose file (scoped: three hooks, run only for local workers), and compose::* as a shared function family addressed by id= (implies argument-based dispatch or one daemon per namespace — worth pinning which).

@vercel

vercel Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
iii-website Ready Ready Preview, 💬 5 unresolved Jul 15, 2026 12:36pm

Request Review

@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 864da1d7-6728-440b-9cc5-2a75356a806e

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch tech-spec/worker-compose

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

guibeira added 3 commits July 15, 2026 08:54
Proposes the compose daemon v1 contracts as a tech spec pack
(tech-specs/2026-07-14-worker-compose): compose-file schema, scripts
(pre_start / run / post_run), runtime namespaces, daemon-fed
configuration, the standardized worker CLI/env contract, and lifecycle
(readiness, cascading failure, optimistic trigger buffer).

Ships the paired interactive deck (website/presentations/
2026-07-14-worker-compose): 11 slides plus a crash-restart deep dive,
built entirely from registry components. Renders at /roadmap/ once live.
post_start becomes post_run: it fires once after the run process exits
(down, post-ready crash, or up rollback), is never awaited, and failure
is a warning. There is no post-readiness hook in v1.

Trigger routing is strict: no namespace resolves only in the default
namespace; an explicit namespace targets exactly that instance. The
best-fit heuristic is gone.
…ayout

The #1955 refactor moved decks from website/presentations/ (standalone
vite project) into website/roadmap/ inside the single astro site. Move
the deck accordingly: drop the per-deck index.html/main.tsx, adapt
App.tsx to the new chrome contract (no Footer component, TopNav without
meta), keep the content layer intact.
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