Skip to content
Savic Labs
Back to Lab Notes
2 min read

The First Human Test

#nikkios#milestone#ux#testing

Phase 42 has been the longest phase of this project. Not because the architecture kept breaking — it held — but because the last mile turned out to live somewhere we weren't testing.

Where the release line actually sits

The current release candidate is 42.0.0-rc.9. Between rc.1 and rc.9 the work was mostly the same category of thing: closing contracts.

The largest was Ask / Plan / Agent — three modes that had grown up separately and were quietly disagreeing about who owned session identity. A plan request could serialize a session into the request body while the client injected the real kernel session into a header. The backend correctly rejected the mismatch. The failure surfaced to a user as HTTP 400: Bad Request.

The fix was to make the header authoritative and never serialize identity into a body. Ask, Plan, and Agent now share one interaction contract, and each mode is qualified through a real browser against both the dev stack and the true packaged build.

Nineteen out of nineteen passed.

What nineteen tests could not see

Then a human sat down and clicked.

New Project → Code → Create a new folder. Three steps. It failed immediately:

  • The location field was prefilled with /tmp/nikki_ws_editor_demo, a path that does not exist
  • The embedded browser returned HTTP 400: Bad Request
  • Create Project still appeared enabled

Every one of those is invisible to a qualification harness that constructs requests directly. The harness never types into a prefilled field. It never sees a button that lies. It never has to reconcile "the UI says ready" against "the backend says no."

That third item is the one worth sitting with. A disabled button is a promise. A looks-enabled button that fails on click is a broken contract wearing a promise's clothes — and no unit test measures whether a promise is honest.

What changed

The interaction contract now covers the moment before execution: project and workspace creation is one reconciled transaction, project-scoped execution gets an immutable run workspace, and frontend state stays bound to what the kernel actually accepted.

The candidate that came out of this was human-accepted — the first time in the project's history that a milestone was signed off by a person rather than a harness.

The lesson

We spent months on the model and the kernel, correctly. The bottleneck was never there. It was the control plane a human touches with a finite amount of patience — which is a different kind of correctness, and one that only a human can grade.

If it wasn't logged, it didn't happen. But if a person couldn't get in, it didn't happen either.

Keep reading

More from the lab

All lab notes