2.8 KiB
M11-06 Status
status: done task: server render job provenance binding updated: 2026-08-17 America/New_York
Scope
web/protocol/server-render-job.ts defines schema 1 for a server render request and
result. A request is accepted only when the uploaded .blend bytes match its declared
source SHA-256 and byte length, the Blender build is a declared 5.2 build with a
content hash, and canonical bounded render settings match settingsSha256. The
request itself is bound by requestSha256.
A successful result carries the same source/revision/build/settings identity and adds
output MIME, byte length, and output SHA-256, plus resultSha256. Consumers recalculate
the output hash before accepting pixels. The contract does not claim a remote queue,
progress, cancellation, denoise, or Freestyle implementation; those remain later
M11 tasks.
Evidence
npm --prefix web run test:server-render-job: unit 3/3 and a real loopback server check passed.- The check used Blender 5.2.0 headless to open
tests/files/web/m11_render_reference.blendand render a PNG from the submitted source bytes. It verified source/build/settings/output hashes and rejected source, build, settings, and output tampering. - Result:
server-render-job-ok blender=5.2.0 source=d2bea55fe4de0b00e73a9241b4d1b0c802c2eb0e6159c0cd48e007b97b9d3963 settings=97bb832618bd27e8763722afa0d250ef74383fb355f0ff38763930f57ba1590b output=564b95cd501da2636085aeada88814c4a3b7af7b1f0188543a1863fe34dd091e bytes=3915 source-hash=1 build-hash=1 settings-hash=1 output-hash=1 tamper=4. - Full regression passed: typecheck, lint, Node
168/168, status consistency (12parity blocked,0release blocked), release evidence (17records,0missing), production build (75modules), andgit diff --check.
Implementation Hashes
web/protocol/server-render-job.ts:e2b5b95032b0dbcb346aa35d1a10a3b55d6c006603f16b9e72c3de45763906c5web/protocol/error.ts:747ea52fd96b3ec7ede9ce72c15f56fdc454836ba5bf924cc60198096d4986deweb/tests/unit/server-render-job.test.mjs:c84f86365006360f146601839d7e1394f3f7bc7fa71dcbf62d8d4e4321cdd16dtools/web/check-server-render-job.mjs:6dd49fbd1be202a88fa714b2fb81305018da6df5f9d73c95e048e3697742764etools/web/render-server-job.py:48950b0884a52a40ae234f8bbe590a0cb89e58c4d2a2de40ea638f491d111afftests/golden/M11-06/server-render-job.json:36f083f8da7585f850e748e6ac78fc57cd6e8d59bce03d77eee3acd2fa042ae7web/package.json:628191a76c7614393a74969bd000faa8a6302d887265d13a1ad49dcfc401c2fc
Rollback
Remove the server-render-job protocol, error codes, unit/check commands, and this status record; restore M11 to 5/14 and remove the M11-06 completed slice. Keep M11-05 routing, M11-04 reference metrics, and all earlier lighting/resource behavior unchanged.