← Back to the personnel file
EXHIBIT NO. 03 QA PERSONNEL FILE / KR–01 STATUS: OPEN

API &
data

When the interface only shows the symptom, I look deeper: at the request, response, and data state.

Case formatREST / JSON
I checkContract / status codes / conflicts
FocusData integrity and boundaries
01 / API

What the service returned

I check request bodies, response codes, JSON structure, and behaviour with valid and invalid data.

02 / DATA

What can be synced

I check which fields are portable and which must remain on the device.

ACTUAL CONTRACT · MOTI

State sync with revision control

PARTIAL · LIVE RETEST NEEDED
Resource/state
MethodsGET / PUT
Conflict protectionexpectedRevision
READ
GET /state
200 OK
{
  "revision": 7,
  "state": { ... }
}
UPDATE
PUT /state
Content-Type: application/json
{
  "expectedRevision": 7,
  "state": { ... }
}
CheckExpectedPurpose
Current revision200

State is saved and revision increases by one.

Stale revision409

The server returns the current state without overwriting someone else's change.

Missing expectedRevision422

The update is rejected before any data is written.

Invalid JSON400

The service returns a clear invalid_json error.

Unknown path404

The response is not disguised as a successful status.

PORTABLE DATA

Moti's stats, memory, personality, owner facts, trust, and schema version.

STAYS ON THE DEVICE

Keys and tokens, creator key, window geometry, Accessibility permissions, and the local AI environment.

VERIFIED

Basic four-field sync worked; revision and response-code handling are implemented in the client and server.

NOT VERIFIED

The expanded response with memory, personality, ownerFacts, and trust requires another live GET /state after starting the current server.