Skip to content

Start the embedded native Server with only dw installed - #161

Draft
rmcdaniel wants to merge 2 commits into
mainfrom
cli/native-dev-server
Draft

rmcdaniel wants to merge 2 commits into
mainfrom
cli/native-dev-server

Conversation

@rmcdaniel

@rmcdaniel rmcdaniel commented Nov 14, 2026 •

Copy link
Copy Markdown
Member

dw server:start-dev still launches Laravel and requires PHP. This replaces that launcher with the native Server engine and bundled SQLite linked into the standalone CLI. Installing dw is enough to start a development runtime from an empty directory, without Docker, Redis, another executable or a runtime download.

The command initializes persistent local data, takes an exclusive directory lock, binds loopback, opens the existing native runtime and maintenance, and closes HTTP and runtime state on interruption. It prints the URL, data location and a development connection example. Help, README and the command reference describe the new behavior. The legacy PHP line is unchanged; its fake-Artisan parity cases remain as historical data, explicitly excluded from comparison with the new native runtime tests.

The engine is pinned to Server 3.10.0 source b6e04ce7e679464e91f6ceae83310d3bb3204092, including its exact Avro/SQL adapter patches. It reports a development build. Rust 1.99 is required to compile the engine. SDK composition is currently bound to SDK #279's exact ff75c2a59029cc5c6ab510ca5af2e3acc06ae7b4 candidate. The SDK owner has accepted the default compiler-pin feature design for the next minor; registry/package qualification remains theirs and the final CLI dependency will use the qualified package.

Validation at 8a52e3863cd4271bf178d76086416422b8641492:

  • All 317 Rust tests pass, with the existing two PHP-vector tests reserved for their generated-vector lane. Seven real-runtime cases cover an empty external-tool PATH, health/readiness, authenticated API and actual CLI admission, restart persistence, directory exclusion, busy ports and signals.
  • The staged-binary smoke passes locally. The actual hosted Linux x86_64 static release build also passes its new empty-PATH startup/admission/restart smoke. Other supported assets retain their own actual gates.
  • Rust 1.99 Clippy passed before the final SDK-source rebind; current-head hosted analysis remains required. All 25 parity-harness controls and three dependency-inventory controls pass.
  • Central #401 binds only the Rust 1.99 caller fixture update; all other runtime identities and guards remain unchanged. Actual proposed workflow enforcement and four source/mutation controls pass.

Concrete remaining gates: the Windows build exposed an unguarded Unix storage-observation implementation in the engine; Server owns the narrow portable/fail-closed correction. The approved PHP 8.3 bootstrap archives now both return 404; central #403 records the pre-test runner block affecting current central/CLI checks. No retry/fallback or gate waiver is selected. Current review, accepted central record, fresh hosted platform/caller checks, SDK package substitution and normal merge/main evidence remain required. No release is claimed. CLI #157 remains set aside.

Closes #160 when all acceptance criteria pass.

@sonarqubecloud

Copy link
Copy Markdown

This branch has not been deployed

No deployments
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.

Run an embedded native development Server with only dw installed

1 participant