Skip to content

Handoff — Projects and Development metal loop

This is a dated execution receipt, not current-state authority. Read docs/development.md, docs/open-issues.md, and the live code before resuming.

What landed in the branch

  • A NOW-owned host Projects root with bounded project history and recoverable workspaces.
  • Explicit host-home and guest-home project ownership, verified import, inactive candidate staging, guarded promotion, and discard/recovery handles.
  • First-class data forks, resource forks, Finder type, creator, and flags through the project contract, Git recovery archive, and MacBinary guest lane.
  • Human-qualified guest MPW toolchains and declarative ToolServer jobs.
  • Separate build and exact-product run receipts.
  • Host UI, Chat opt-in, and MCP projections over the same services.
  • Optional CodeKitten delivery and odoc handoff without a runtime dependency. The later hardening slice requires a returned ckproject.open-receipt/1; dispatch alone is no longer acceptance.

PowerBook acceptance receipt

The signed host source was 3de370bf; the PowerBook 1400c guest reported build 33bfe4e3e211 and Full Access. It qualified mpw-ffff-00007b37@structural-1. Host project 95ceb07504374a568705336a5728d19a reached revision 5 at commit d7cb1bfd52e1f4427ec48f9104409692da18e9dd.

Candidate candidate-d4752f9e46d84f9c sealed at source digest 6c3e96f8e4e368fc5004e2817ab9bcc087bd1eacba5bdd5cb0437c3b77a13669. Job build-00007ef000000018 completed MrC, PPCLink, and Rez. Product product-cf2b162d6ea8648a measured APPL/H14E, 1,832 data-fork bytes, 578 resource-fork bytes, and digest cf2b162d6ea8648a7108b10b3732994ebc647f39c40ba74a1986ada1f6e564a8. Exact-product launch matched process identity. Retained observation and the person at the machine saw the Hello World dialog. After human dismissal, a fresh process census showed it absent and candidate discard completed.

Emulator acceptance and integrated recheck

The complete fork-aware loop was also accepted on a session-private mac99 / Mac OS 9.1 guest before the PowerBook run. Guest build 44a214ae1141 qualified mpw-ffff-00000cf0@structural-1; MCP staged candidate candidate-1c3ca2817afe4c24, completed MrC, PPCLink and Rez, and measured product product-5c96932bd4b1cd44 as APPL/H14E, 1,832 data bytes and 578 resource bytes. Exact-product run, retained dialog observation, semantic OK, fresh process absence and candidate discard all completed. The detailed receipt remains in docs/development.md.

After integrating current main, scripts/test-all passed at b41fae53. The changes after signed runtime source 3de370bf are the documentation platform and a missing file.progress channel enumeration in AsyncAPI; no Development host or guest implementation changed, so the earlier emulator and PowerBook runtime receipts still describe the integrated implementation.

A fresh private clone of the designated staged image then booted this checkout's guest and resident, reported guest build 33bfe4e3e211, resident source manifest 28ef6c07ee6d and build fingerprint 085c4ebf8457, and connected to an isolated current host on anchor 14160 / wire 14161. Its Development environment honestly refused qualification because that general purpose image contains no MPW. A second clone used the portable MPW image /private/tmp/os91-mpw-toolchain-writable-75e658d4.qcow2 at SHA-256 be32b70a7fe546b144be76627bf4f20a1777a6fa2fb3e202ef1cd4f059ffe8e2; the Finder booted, but the baked anchor worker did not settle during the observed readiness window. That retry was stopped as a disposable clone and is not an acceptance result. It demonstrates that a toolchain-bearing disk is not yet a self-contained Development acceptance fixture.

Friction observed

  1. A stale running host returned now-host-invalid-response for every new Development call. NOW exposed no early build/protocol compatibility verdict.
  2. One process-list request returned now-host-communication-failed; an immediate retry succeeded, with no attempt identity or settlement record to distinguish transport interruption from operation outcome.
  3. A retained snapshot correctly named the frontmost dialog but had baseComplete=false. dialogItem act then refused now-mirror-snapshot-unavailable: snapshot projection read MirrorStateEngineRegistry.snapshot, while act resolution read NOWMirrorSource.scene, which was nil.
  4. now_projects publishes one broad input schema. Supplying both project and workspace guard fields reached a generic invalid-arguments error even though those operations accept mutually exclusive concurrency tokens.
  5. CodeKitten has useful pure-C operation lifecycle and journal machinery, but no neutral shared module exists and its current project fixtures are behind NOW's fork-aware contract.
  6. The ordinary staged VM image and the portable MPW image each contain only half of the Development acceptance fixture: the first has the current harness but no toolchain, while the second has MPW but did not provide a settled anchor worker on the integrated rerun.

Correction, 2026-08-10: the earlier version of this handoff said the canonical HTTP MCP completed the metal lane. No HTTP MCP listener existed at that receipt's revision, so that sentence was false. The metal result remains a valid MCP-driven Development result, but it is not HTTP evidence. Authenticated HTTP was added later and is emulator-verified only.

Builds handed off

  • Signed host app: local build artifact New Old World.app
  • Metal-verified package: local development-forks package
  • Package SHA-256: 8fd7fbc97dbaf577efa00d71dd84dff969bd3f8284232e40a8dfbde0ff68fb92

These paths are local evidence, not release URLs. Rebuild after any integrated source change before handing a new stack to a person.

Resume order

  1. Read the hardening plan and prove the read/act authority split with a focused mutation test.
  2. Add compatibility and operation identity before widening retries.
  3. Make schemas discriminated and receipts queryable.
  4. Run the complete HTTP MCP loop in an isolated VM, including post-launch semantic act settlement.
  5. Produce a portable, versioned Development fixture that contains the normal harness, the starter toolchain pack and its qualification receipt.
  6. Then add the missing guest-home promotion, typed test, and CodeKitten acceptance rungs.

Completion addendum — 2026-08-10

The resume order above has been executed for the NOW-owned hardening work. The current implementation has compatibility preflight, replayable mutation attempts, one semantic state authority and a settlement journal, operation-discriminated schemas, a bounded guest catalog, typed test receipts, guest-home guarded promotion, and a positive CodeKitten open receipt.

Authenticated loopback HTTP was added without prior slice approval. It is now parity-gated against stdio over the complete MCP lifecycle, catalog and 46-tool conformance recipe, with separate bearer/Host/Origin/session/framing and spawned-liveness tests. A live mac99 run used HTTP exclusively for four Development loops of increasing complexity and returned zero failed or uncovered tool rows. The exact current evidence and residuals are in docs/development.md and the completed hardening plan.

Still open: a legally redistributable MPW starter payload and platform matrix; cross-repository neutral CodeKitten fixtures/module; candidate receipts that remain actionable across guest-session replacement; Finder-flag observability; and repetition of the new hardening receipts on the PowerBook. The final VM session also proved the fallback shutdown can leave a clean source image's clone HFS-dirty. The cleanup helper now fails unless HFS itself reports clean; the runtime receipts remain valid, but the disposable session is retained as a negative cleanup artifact rather than a clean-fixture receipt.