Skip to content

Examples move to examples/; the root README gets the comparison with celld - #14

Merged
mkotelnikov merged 2 commits into
mainfrom
ccr-ab3c0d30-6du8do-examples-dir
Oct 28, 2026
Merged

mkotelnikov merged 2 commits into
mainfrom
ccr-ab3c0d30-6du8do-examples-dir

Conversation

@mkotelnikov

@mkotelnikov mkotelnikov commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

What

  • Example apps move to examples/:

    • packages/flue-example → examples/flue
    • packages/agent-examples → examples/agents
    • packages/fake-openai → examples/fake-openai (only the examples use it; cellb's own tests don't)

    packages/ keeps only the library (cellb). pnpm-workspace.yaml now includes examples/*, and the examples still depend on @statewalker/cellb and @statewalker/fake-openai through workspace:*. The lockfile was regenerated with pnpm, and git records the moves as renames.

  • Paths follow the move: CI (interop.yml), cellb's docs, test comments, and the examples' own relative paths (the Flue browser spec's import of cellb's core/id.ts, the README links).

  • Root README:

    • what cellb does next to celld, with the feature table: Workers, Durable Objects, facets, KV, Queues, D1, R2, Workflows, cron, assets, Dynamic Workers, WebSockets, Vectorize-style search, Workers AI, Python, containers, agent frameworks;
    • the new layout;
    • how to run each part.
  • Formatting: Biome formatting of node-compat/async_hooks.ts.

Tests

Check Result
Lint, format clean
Typecheck, all 4 workspaces clean
examples/fake-openai 3 passed
cellb 355 passed, 6 expected fail
examples/flue: build, Node 6 passed
examples/flue: browser 8 passed
examples/agents 2 passed
Chromium 209 passed, 15 skipped

Known, pre-existing

On this branch, cellb's vitest run exits 1 although every test passes. workerd's vendored Durable Object tests leave assert.rejects(…) unawaited, and those rejections reach the Node process the Worker shares (test/p09-celld-conformance.test.ts). The same happens on main. CI is unaffected because it runs each suite separately. #15, which builds on this PR, fixes it: a Worker's unhandled rejections go to its runtime instead of the process.


Generated by Claude Code

…celld

- packages/flue-example → examples/flue, packages/agent-examples → examples/agents:
  `examples/*` is a pnpm workspace, the examples keep depending on @statewalker/cellb and
  @statewalker/fake-openai through workspace:*. packages/ holds the libraries.
- CI, docs and the examples' own relative paths follow the move.
- README: what cellb does next to celld, with the feature table (WebSockets, Workers AI,
  Python, containers, agent frameworks), the new layout and how to run each part.
- Biome formatting of node-compat/async_hooks.ts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SXJQA3LbggJHi5qZBpUKe8
cellb's own tests do not; the Flue and agent examples test against it. CI, READMEs and the
CLI's usage line follow the move.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SXJQA3LbggJHi5qZBpUKe8

Copy link
Copy Markdown
Contributor Author

The interop check failed on 30a27ef in e2e/p11i-live-handover.test.ts, in the case "P11i celld 0.6.3: a lost ownership record › both refuse a cell whose own.json is gone while its LTX remains". The assertion expected 'celld dev…' to match /celld ownership record lost/ failed.

I don't think this PR caused it:

  • 30a27ef only moves packages/fake-openai to examples/fake-openai. That change touches no cellb code and nothing celld reads.
  • In the log, celld itself never printed "ownership record lost" within the 20 s poll. Its readiness endpoint was returning 503 during that window.
  • The previous head, d1bf9c2, passed the same suite.

This looks like a timing problem in the celld interop test, not in this change. There's no fix for it yet. I'm re-running the failed job once.


Generated by Claude Code

@mkotelnikov
mkotelnikov merged commit 9b08f61 into main Oct 28, 2026
1 of 2 checks passed
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.

2 participants