Skip to content

fix(add): a solution's local run is its own workspace, not a playground - #1237

Merged
antoinetoussaint-byte merged 1 commit into
mainfrom
solution-local-not-playground
Oct 29, 2026
Merged

antoinetoussaint-byte merged 1 commit into
mainfrom
solution-local-not-playground

Conversation

@antoinetoussaint-byte

Copy link
Copy Markdown
Contributor

I invented a layout. The scaffold wrote the local composition into a playground/ subdirectory; no solution in the fleet is built that way.

A playground is a module's

It is somewhere to exercise a module on its own. Two solutions carry one as an extra, and reading those two as the pattern is exactly the confusion between a playground and a solution that gets repeated every time.

What nine of nine solutions actually do — the solution's own directory is the workspace. core-solutions has no root workspace at all, so workspace.codefly.yaml sits beside module.codefly.yaml:

root workspace playground
wiki, proposals yes yes (extra)
releases, summary, lastlogin-go, lastlogin-python, robin-nest, robin-builder, excel-extract yes no

So the composition moves to the solution root, make playground becomes make run, and the generated doc is LOCAL.md beside it.

The subdirectory was carrying a real bug

With the workspace one level down the module path was path: ... Moving the file up without changing it resolved the module to the parent and failed the run:

resource <.../modules/module.codefly.yaml> of type <resources.Module> not found

It is path: . now, and a test holds it to that — along with one that fails if cd playground ever reappears in the Makefile.

Verified

Clean scaffold, make run from the solution root:

edge    /                          200
edge    /v1/notes/overview         200
backend /assets/mf-manifest.json   200

Docs updated: docs/commands.md.

🤖 Generated with Claude Code

I invented a layout. The scaffold wrote the local composition into a
playground/ subdirectory; no solution in the fleet is built that way.

A PLAYGROUND IS A MODULE'S — somewhere to exercise a module on its own.
Two solutions carry one as an extra, and reading those two as the
pattern is exactly the confusion between a playground and a solution
that this repeats every time it is made.

What nine of nine solutions actually do: the solution's own directory IS
the workspace. core-solutions has no root workspace at all, so
workspace.codefly.yaml sits beside module.codefly.yaml and the run
happens there.

So the composition moves to the solution root, `make playground` becomes
`make run`, and the generated doc is LOCAL.md beside it.

The subdirectory was also carrying a real bug: with the workspace one
level down the module path was "..", and moving the file up without
changing it resolved the module to the parent and failed the run on a
module.codefly.yaml that was not there. It is "." now, and a test holds
it to that.

Verified on a clean scaffold, `make run` from the solution root:

    edge    /                          200
    edge    /v1/notes/overview         200
    backend /assets/mf-manifest.json   200

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@antoinetoussaint-byte
antoinetoussaint-byte added this pull request to the merge queue Oct 29, 2026
Merged via the queue into main with commit bf703ae Oct 29, 2026
19 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.

1 participant