Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Developer Experience 0.2 status

Last updated: 2026-08-08

This is the live execution ledger for Developer Experience 0.2. “Implemented” requires a concrete path and tests. “Artifact-validated”, “runtime-validated”, and “device-validated” require progressively stronger evidence and are never inferred from source code.

MilestoneStateEvidence / next gate
0. Baseline and safetyCompleteExact commit/toolchain/artifact digests recorded in NEXT_PHASE_BASELINE; that baseline revision, not the current final suite, recorded 158 passed, 0 failed, 7 ignored
1. IDE protocolCompleteDirect protocol v1 handshake/project/validate/doctor/check/devices/build/install/run/logs/schema; dirty-manifest stdin, rustc Problems, bounded lifecycle tests, checked-in schema equality, strict Clippy
2–7. VS Code MVPCompleteNative multi-root/trust-aware extension, diagnostics, wizard, trees, tasks, artifacts, devices and deploy UI; 42 base tests pass and 4 live-CLI tests skip without a supplied CLI, while all 46 pass with the final CLI; package/VSIX smoke, isolated install, and a real Extension Host smoke also pass
8–14. DeploymentImplemented; runtime unobservedHuman and IDE devices/install/run/logs use the same typed ADB/simctl/devicectl services; physical iOS official signing/build/install/launch code exists; no device/runtime claim
16. Runtime/package flowIntegrated; current release rerun in progress; publication pendingThe workspace now has 10 members: nine publishable crates plus the non-publishable trusted worker. The full workspace regression and all 28 release-contract edges pass; fresh package/archive and publish dry-run evidence is still required before release.
17. Assets/release hardeningComplete; runtime gate explicitSHA-256/tamper-safe concurrent cache; five Android densities and splash artifact-inspected; iOS compiled catalog implemented/tested; zero-runtime SDK-only .app built and inspected
18–21. VSIX/tests/CI/releaseIntegrated baseline accepted; SSH continuation rerun pendingThe 44,435-byte, 18-entry VSIX was smoke-tested (ba8cac7e…3d183ce6d). Final integrated CI 31261962607 passed five Linux/Rust/macOS/Windows jobs at 607fe78; the SSH/source-bundle continuation still needs its own final exact-commit CI and package matrix.

Current validation levels

SurfaceImplementedArtifactSimulator/emulatorPhysical device
Existing Android buildYesBaseline CI passNot validated: no emulatorNot validated: no device
Existing iOS Simulator buildYesBaseline CI passNot validated: no installed runtime/deviceN/A
IDE protocolYesSchema/fixture parityN/AN/A
VS Code extensionYesVSIX installed and enumerated by VS Code CLIN/AN/A
Devices/install/run/logsYesValidated build metadata required before deploymentNot validated: no emulator/Simulator runtimeNot validated: no attached device
Physical iPhone local signing/buildYes, official development flowNot validated: no Team/identityN/ANot validated: no attached device
Physical iPhone remote buildYes, exact-revision GitHub macOS compile and automatic client validation; named SSH snapshot path is unsigned-onlyReal unsigned .xcarchive validated through GitHub at final integrated head; no live SSH artifactN/ASigned IPA and device runtime not validated
Platform assetsYesAndroid densities/splash and iOS SdkOnlyResources inspected; Assets.car pending a runtime-equipped hostNot required for build-only evidenceN/A

Decisions and constraints

  • Actual product naming is RustFerry: cargo-ferry, cargo ferry, and ferry.toml.
  • Existing build pipelines remain the source of truth; IDE and deployment paths call shared Rust services.
  • Protocol stdout is versioned JSON/NDJSON only; raw tool output stays out of the protocol stream.
  • The unpublished bundled registry version is reported as unusable by the handshake until the compile-time published-runtime version matches it.
  • VS Code uses native QuickPick, TreeView, Tasks, Problems, Output, and progress APIs; no webview.
  • Untrusted workspaces cannot execute project or tool commands.
  • Trusted file-backed Remote SSH, WSL, Dev Container, and Codespaces workspaces execute the extension and CLI remotely and see only remote SDKs and devices; virtual/untrusted workspaces are browse-only.
  • No Apple credentials in settings/input boxes; no silent provisioning changes.
  • No device command implies install/run success when hardware is absent.

Remaining release gates

  • Build and inspect the CompiledCatalog iOS path on a host with an available Simulator runtime; keep the current SDK-only evidence distinct.
  • Exercise emulator/Simulator install, launch, logs, and UI when runtimes are available; keep absent-hardware claims explicit.
  • Validate physical signing, profile selection, recursive entitlements, install, and launch with an authorized Team and attached iPhone.
  • Run live SSH/OpenSSH-to-macOS unsigned acceptance from the exact continuation revision; keep it separate from the accepted GitHub unsigned path and the still-pending real signed-IPA gate.
  • Require exact-SHA GitHub CI for every release revision.