Gessa Docs
Generated Reference

Reference

Authoring Mutation Contracts

Sources: packages/authoring-contracts/src/index.ts.
engine v1.0.234Copy for LLM

This generated snapshot is derived from @game-platform/authoring-contracts. It is the canonical registry for normal authoring mutation contracts, prior-surface migration mapping, and projection coverage expectations.

Registry version: authoring-contracts.v1.kernel-contracts. Registry hash: sha256:754a6be63242524d6f06082c56d6f8c8b9e0d7d3eda5dea0b06afd773ff0724e. Contract count: 16. Prior surface mapping count: 20. Tool parity mapping count: 38. Scenario helper count: 6.

Contracts

OperationTitleDomainLifecycleInput SchemaTargetValidatorApply TargetConflict PolicySurface Exposure
project.metadata.updateUpdate Project MetadataprojectactiveUpdateGameRequestproject<br>game_idcontrol-plane<br>ControlPlaneService.updateGameserver/src/modules/control-plane/service.ts<br>updateGameidempotent_applyfrontend: exposed<br>ai: exposed<br>mcp: exposed<br>sdk: exposed
project.graph.transaction.applyApply Low-Level Project Graph TransactionprojectactiveProjectTransactionRequesttransaction<br>transaction_opsproject-graph<br>ProjectGraphService.applyTransactionserver/src/modules/project-graph/service.ts<br>applyTransactiontransaction_rebasefrontend: exposed<br>ai: privileged<br>mcp: privileged<br>sdk: privileged
entity.createCreate EntityentityactiveCreateProjectEntityRequestresource<br>semantic_targetauthoring-kernel<br>AuthoringKernel.applyEntityCreateserver/src/modules/project-graph/service.ts<br>createEntityauthoring_kernel_rebasefrontend: exposed<br>ai: exposed<br>mcp: exposed<br>sdk: exposed
entity.updateUpdate EntityentityactiveUpdateProjectEntityRequestresource<br>id_or_keyauthoring-kernel<br>AuthoringKernel.applyEntityUpdateserver/src/modules/project-graph/service.ts<br>updateEntityauthoring_kernel_rebasefrontend: exposed<br>ai: exposed<br>mcp: exposed<br>sdk: exposed
entity.deleteDelete EntityentityactiveDeleteProjectEntityRequestresource<br>id_or_keyauthoring-kernel<br>AuthoringKernel.applyEntityDeleteserver/src/modules/project-graph/service.ts<br>deleteEntitystrict_rejectfrontend: exposed<br>ai: exposed<br>mcp: exposed<br>sdk: exposed
component.putPut Entity ComponentcomponentactivePutProjectEntityComponentRequestcomponent<br>component_key@game-platform/ecs<br>validateComponentMutationserver/src/modules/project-graph/service.ts<br>putEntityComponentauthoring_kernel_rebasefrontend: exposed<br>ai: exposed<br>mcp: exposed<br>sdk: exposed
component.patchPatch Entity ComponentcomponentactivePatchProjectEntityComponentRequestcomponent<br>component_key@game-platform/ecs<br>validateComponentMutationserver/src/modules/project-graph/service.ts<br>patchEntityComponentauthoring_kernel_rebasefrontend: exposed<br>ai: exposed<br>mcp: exposed<br>sdk: exposed
component.deleteDelete Entity ComponentcomponentactiveDeleteProjectEntityComponentRequestcomponent<br>component_key@game-platform/ecs<br>validateComponentMutationserver/src/modules/project-graph/service.ts<br>deleteEntityComponentauthoring_kernel_rebasefrontend: exposed<br>ai: exposed<br>mcp: exposed<br>sdk: exposed
component.field.patchPatch Entity Component FieldcomponentactiveAuthoringComponentFieldPatchRequestcomponent_field<br>field_path@game-platform/ecs<br>validateComponentMutationserver/src/modules/project-graph/service.ts<br>applyEntityComponentAuthoringIntentauthoring_kernel_rebasefrontend: exposed<br>ai: exposed<br>mcp: exposed<br>sdk: exposed
reference.assignAssign Component ReferencereferenceactiveAuthoringReferenceAssignmentRequestreference<br>field_path@game-platform/ecs<br>validateComponentMutationserver/src/modules/project-graph/service.ts<br>applyEntityComponentAuthoringIntentauthoring_kernel_rebasefrontend: exposed<br>ai: exposed<br>mcp: exposed<br>sdk: exposed
prefab.override.mutateMutate Prefab OverrideprefabactiveSetProjectEntityComponentOverrideRequestcomponent<br>component_key@game-platform/ecs<br>validateComponentMutationserver/src/modules/project-graph/service.ts<br>setEntityComponentOverrideauthoring_kernel_rebasefrontend: exposed<br>ai: exposed<br>mcp: exposed<br>sdk: exposed
script.semantic_patch.applyApply Script Semantic PatchscriptactiveScriptSemanticPatchSetscript<br>id_or_keyscript-semantic-patch<br>applyScriptSemanticPatchserver/src/modules/project-graph/service.ts<br>applyScriptSemanticPatchauthoring_kernel_rebasefrontend: exposed<br>ai: exposed<br>mcp: exposed<br>sdk: exposed
material.semantic_patch.applyApply Material Semantic PatchmaterialactiveMaterialSemanticPatchSetmaterial<br>asset_idmaterial-semantic-patch<br>applyMaterialSemanticPatchserver/src/modules/project-graph/service.ts<br>applyMaterialSemanticPatchauthoring_kernel_rebasefrontend: exposed<br>ai: exposed<br>mcp: exposed<br>sdk: exposed
workflow.definition.mutateMutate Workflow DefinitionworkflowprivilegedProjectWorkflowMutationRequestworkflow<br>id_or_keyworkflow-ir<br>validateWorkflowIrserver/src/modules/project-graph/service.ts<br>createWorkflow/updateWorkflowauthoring_kernel_rebasefrontend: hidden<br>ai: hidden<br>mcp: hidden<br>sdk: hidden
blueprint.package.applyApply Smart Asset PackagetemplateactiveSmartAssetPackageApplyRequesttemplate<br>template_idblueprint-catalog<br>requireSmartAssetPackage/validateSmartAssetPackageCatalogserver/src/modules/creation-templates/service.ts<br>SmartAssetPackageService.applyPackageidempotent_applyfrontend: exposed<br>ai: exposed<br>mcp: exposed<br>sdk: exposed
creation_template.applyApply Creation TemplatetemplateactiveCreationTemplateApplyRequesttemplate<br>template_idblueprint-catalog<br>compileCreationTemplateserver/src/modules/creation-templates/service.ts<br>applyCreationTemplateidempotent_applyfrontend: exposed<br>ai: exposed<br>mcp: exposed<br>sdk: exposed

Prior Surface Mapping

SurfaceOwnerNormalContractStatusReasonGuardExecutable Evidence
frontend.inspector.component.patchweb_client/spayescomponent.field.patchmappedInspector fields route through the graph edit session and canonical component field patch contract.check:component-authoring-kernel-boundaryweb_client/spa/src/views/InspectorView.test.tsx<br>round-trips component field edits through the graph edit session
frontend.viewport.transform.patchweb_client/spayescomponent.field.patchmappedViewport transform gestures enter the semantic transaction command as component field edits.check:project-graph-conflict-policyweb_client/spa/src/workbench-graph/edit-session.test.ts<br>routes viewport gestures through the semantic transaction command
frontend.workbench.apply_transactionweb_client/spayesproject.graph.transaction.applymappedFrontend typed graph-op batches enter the semantic transaction command and receive canonical component-kernel receipts; raw Script IR and direct AI/MCP/SDK low-level transaction tools remain privileged.check:frontend-authoring-surface-coverageweb_client/spa/src/workbench-graph/edit-session.test.ts<br>applies all ops through semantic commands when every one is valid<br><br>server/tests/componentAuthoringIntent.test.ts<br>AI-surface and SDK-route clears persist the same canonical value AND emit the same receipt changedFieldPaths
backend.project_graph.component.putproject-graphyescomponent.putmappedDirect component put delegates to canonical component validation, resource admission, persistence, and receipts.check:component-authoring-kernel-boundaryserver/tests/componentInstanceActionsApi.test.ts<br>prepares and attaches 'Spatial Capture' as one committed Project Graph transaction
backend.project_graph.component.patchproject-graphyescomponent.patchmappedDirect component patch delegates to the component mutation kernel and emits its receipt.check:component-authoring-kernel-boundaryserver/tests/componentAuthoringIntent.test.ts<br>AI-surface and SDK-route clears persist the same canonical value AND emit the same receipt changedFieldPaths
backend.project_graph.component.deleteproject-graphyescomponent.deletemappedDirect component delete delegates to the canonical component mutation path.check:component-authoring-kernel-boundaryserver/tests/mcpServer.test.ts<br>lets AI component tools read schemas and mutate built-in components with structural removal denial
backend.project_graph.prefab.overrideproject-graphyesprefab.override.mutatemappedPrefab override component edits use the same validation and receipt kernel as base edits.check:component-authoring-kernel-boundaryserver/tests/componentAuthoringIntent.test.ts<br>AI-surface and SDK-route clears persist the same canonical value AND emit the same receipt changedFieldPaths
ai.collaborator.component.patchai-platformyescomponent.patchmappedAI component edits use the same operation id, validation, persistence, and receipt as inspector/MCP/SDK.check:ai-mcp-sdk-authoring-parityserver/tests/componentAuthoringIntent.test.ts<br>AI-surface and SDK-route clears persist the same canonical value AND emit the same receipt changedFieldPaths
mcp.project_update_componentmcpyescomponent.patchmappedMCP component patch uses the kernel conflict policy and never blind-retries a stale overwrite.check:ai-mcp-sdk-authoring-parityserver/tests/mcpServer.test.ts<br>rebases stale AI component mutations and conflicts stale overwrites
mcp.project_add_componentmcpyescomponent.putmappedMCP component put executes against canonical Project Graph services for every public built-in type.check:ai-mcp-sdk-authoring-parityserver/tests/mcpServer.test.ts<br>lets AI component tools read schemas and mutate built-in components with structural removal denial
mcp.project_remove_componentmcpyescomponent.deletemappedMCP component delete executes against canonical Project Graph services for every public built-in type.check:ai-mcp-sdk-authoring-parityserver/tests/mcpServer.test.ts<br>lets AI component tools read schemas and mutate built-in components with structural removal denial
mcp.project_set_component_overridemcpyesprefab.override.mutatemappedMCP prefab overrides execute through the component override kernel for every public built-in type.check:ai-mcp-sdk-authoring-parityserver/tests/mcpServer.test.ts<br>lets AI component tools read schemas and mutate built-in components with structural removal denial
sdk.authoring.host.component.patchscript-sdkyescomponent.patchmappedSDK component helpers use the canonical HTTP authoring host and component operation ids.check:ai-mcp-sdk-authoring-paritypackages/script-sdk/tests/componentAuthoringHttpHost.test.ts<br>routes every host operation to the canonical Project Graph endpoint with version and idempotency guards
backend.creation_template.applycreation-templatesyescreation_template.applymappedCreation-template chunks apply through checked Project Graph transactions in the canonical create-game backend.check:frontend-authoring-surface-coverageserver/tests/creationTemplates.test.ts<br>creates launch templates through the canonical create-game backend path
script.full_ir.update.normalproject-graphyesscript.semantic_patch.applyprivileged_onlyFull IR/source update is not the normal AI/human path once semantic patch coverage exists.check:script-visual-source-parity
frontend.material_editor.pbr_controlsweb_client/spayesmaterial.semantic_patch.applymappedPBR controls edit the material authoring document; autosave commits through the session's Material Semantic Patch path into the canonical graph.check:material-editor-no-slider-source-of-truthserver/tests/assetAuthoringApi.test.ts<br>commits the authored material GRAPH as the SSOT: graph params win over a stale flat payload, and node positions persist
backend.asset_authoring.material_commitasset-authoringyesmaterial.semantic_patch.applymappedMaterial authoring session commits persist the graph, compiled artifact, and semantic-patch receipt through the Project Graph re-entry.check:material-graph-contractserver/tests/assetAuthoringApi.test.ts<br>commits the authored material GRAPH as the SSOT: graph params win over a stale flat payload, and node positions persist
material.raw_graph.update.normalproject-graphyesmaterial.semantic_patch.applyprivileged_onlyRaw materialGraph/artifact updates are not a normal AI/human path; normal edits use Material Semantic Patch.check:material-graph-no-raw-shader-authoring
workflow.creator.authoringworkflowsyesworkflow.definition.mutateprivileged_onlyWorkflow definition mutation is hidden from creator frontend until a complete workflow authoring projection ships.check:frontend-authoring-surface-coverage
component.resource_admissionecsyescomponent.patchmappedEvery component resource reference uses the same declarative evaluator for lifecycle, identity, kind, and readiness.check:component-authoring-kernel-boundarypackages/ecs/tests/componentMutationValidator.test.ts<br>uses one generic target evaluator for lifecycle, key, kind, and resource readiness

AI/MCP/SDK/Frontend Tool Parity

SurfaceEntrypointOperationEquivalent MutationCanonicalNormalPrivilegeReplacementScenariosGuard
frontendAuthoringCommandClient.componentPutcomponent.putentity component putyesyesnormalcheck:frontend-authoring-surface-coverage
frontendAuthoringCommandClient.componentPatchcomponent.patchentity component patchyesyesnormalcheck:frontend-authoring-surface-coverage
frontendInspectorViewcomponent.field.patchcomponent field patchyesyesnormalcheck:frontend-authoring-surface-coverage
frontendSceneInteractionLayer3Dcomponent.field.patchcomponent field patchyesyesnormalcheck:frontend-authoring-surface-coverage
frontendVisualScriptEditorViewscript.semantic_patch.applyscript behavior edityesyesnormalshooter<br>collector<br>score_win_statecheck:frontend-authoring-surface-coverage
frontendMaterialEditorViewmaterial.semantic_patch.applymaterial appearance edityesyesnormalcheck:material-ai-mcp-sdk-parity
frontendControlPlaneView.BlueprintLibraryblueprint.package.applysmart asset package applyyesyesnormalcheck:frontend-authoring-surface-coverage
aicreate_project_entityentity.createentity createyesyesnormalcheck:ai-mcp-sdk-authoring-parity
aiupdate_project_entityentity.updateentity updateyesyesnormalcheck:ai-mcp-sdk-authoring-parity
aiput_entity_componentcomponent.putentity component putyesyesnormalcheck:ai-mcp-sdk-authoring-parity
aipatch_entity_componentcomponent.patchentity component patchyesyesnormalcheck:ai-mcp-sdk-authoring-parity
aiset_entity_component_overrideprefab.override.mutateprefab component overrideyesyesnormalcheck:ai-mcp-sdk-authoring-parity
aiapply_script_semantic_patchscript.semantic_patch.applyscript behavior edityesyesnormalscript.semantic_patch.applyshooter<br>collector<br>door_trigger<br>timer<br>score_win_state<br>basic_multiplayer_interactioncheck:ai-mcp-sdk-authoring-parity
aiapply_material_semantic_patchmaterial.semantic_patch.applymaterial appearance edityesyesnormalmaterial.semantic_patch.applycheck:material-ai-mcp-sdk-parity
aiapply_smart_asset_packageblueprint.package.applysmart asset package applyyesyesnormalcheck:ai-mcp-sdk-authoring-parity
aicreate_project_scriptscript.semantic_patch.applyscript shell createnonoprivilegedscript.semantic_patch.applycheck:ai-mcp-sdk-authoring-parity
aiupdate_project_scriptscript.semantic_patch.applyfull script IR updatenonoprivilegedscript.semantic_patch.applycheck:ai-mcp-sdk-authoring-parity
aiproject_apply_transactionproject.graph.transaction.applylow-level transactionnonoprivilegedcheck:ai-mcp-sdk-authoring-parity
mcpproject_create_entityentity.createentity createyesyesnormalcheck:ai-mcp-sdk-authoring-parity
mcpproject_update_entityentity.updateentity updateyesyesnormalcheck:ai-mcp-sdk-authoring-parity
mcpproject_add_componentcomponent.putentity component putyesyesnormalcheck:ai-mcp-sdk-authoring-parity
mcpproject_update_componentcomponent.patchentity component patchyesyesnormalcheck:ai-mcp-sdk-authoring-parity
mcpproject_remove_componentcomponent.deleteentity component deleteyesyesnormalcheck:ai-mcp-sdk-authoring-parity
mcpproject_set_component_overrideprefab.override.mutateprefab component overrideyesyesnormalcheck:ai-mcp-sdk-authoring-parity
mcpproject_apply_script_semantic_patchscript.semantic_patch.applyscript behavior edityesyesnormalscript.semantic_patch.applyshooter<br>collector<br>door_trigger<br>timer<br>score_win_state<br>basic_multiplayer_interactioncheck:ai-mcp-sdk-authoring-parity
mcpproject_apply_material_semantic_patchmaterial.semantic_patch.applymaterial appearance edityesyesnormalmaterial.semantic_patch.applycheck:material-ai-mcp-sdk-parity
mcpproject_apply_smart_asset_packageblueprint.package.applysmart asset package applyyesyesnormalcheck:ai-mcp-sdk-authoring-parity
mcpproject_apply_transactionproject.graph.transaction.applylow-level transactionnonoprivilegedcheck:ai-mcp-sdk-authoring-parity
sdkEntity.createentity.createentity createyesyesnormalcheck:ai-mcp-sdk-authoring-parity
sdkEntity.updateentity.updateentity updateyesyesnormalcheck:ai-mcp-sdk-authoring-parity
sdkComponent.putcomponent.putentity component putyesyesnormalcheck:ai-mcp-sdk-authoring-parity
sdkComponent.patchcomponent.patchentity component patchyesyesnormalcheck:ai-mcp-sdk-authoring-parity
sdkComponent.patchFieldcomponent.field.patchcomponent field patchyesyesnormalcheck:ai-mcp-sdk-authoring-parity
sdkComponent.deletecomponent.deleteentity component deleteyesyesnormalcheck:ai-mcp-sdk-authoring-parity
sdkComponent.setOverrideprefab.override.mutateprefab component overrideyesyesnormalcheck:ai-mcp-sdk-authoring-parity
sdkScript.applySemanticPatchscript.semantic_patch.applyscript behavior edityesyesnormalscript.semantic_patch.applyshooter<br>collector<br>door_trigger<br>timer<br>score_win_state<br>basic_multiplayer_interactioncheck:ai-mcp-sdk-authoring-parity
sdkMaterial.applySemanticPatchmaterial.semantic_patch.applymaterial appearance edityesyesnormalmaterial.semantic_patch.applycheck:material-ai-mcp-sdk-parity
sdkProject.applySmartAssetPackageblueprint.package.applysmart asset package applyyesyesnormalcheck:ai-mcp-sdk-authoring-parity

Scenario Helpers

HelperTitleOperationsSemantic Patch OpsProof
shooterShooter Intent Helperscript.semantic_patch.applyaddActionHandler<br>spawnEntityFromTemplate<br>emitCustomEvent<br>createCustomEventHandlerir: yes<br>source: yes<br>visual: yes<br>runtime: yes<br>playwright: yes
collectorCollector Intent Helperscript.semantic_patch.applyaddTickHandler<br>findEntitiesByTag<br>forEachEntityInResult<br>despawnEntity<br>incrementNumericState<br>declareWinConditionir: yes<br>source: yes<br>visual: yes<br>runtime: yes<br>playwright: yes
door_triggerDoor Trigger Helperscript.semantic_patch.apply<br>component.patchaddTriggerHandler<br>emitCustomEventir: yes<br>source: yes<br>visual: yes<br>runtime: no<br>playwright: no
timerTimer Helperscript.semantic_patch.applyaddTimerHandler<br>emitCustomEventir: yes<br>source: yes<br>visual: yes<br>runtime: no<br>playwright: no
score_win_stateScore And Win State Helperscript.semantic_patch.applyaddTickHandler<br>incrementNumericState<br>findEntitiesByTag<br>declareWinConditionir: yes<br>source: yes<br>visual: yes<br>runtime: yes<br>playwright: yes
basic_multiplayer_interactionBasic Multiplayer Interaction Helperscript.semantic_patch.applycreateCustomEventHandler<br>addActionHandler<br>emitCustomEventir: yes<br>source: yes<br>visual: yes<br>runtime: no<br>playwright: no
Was this helpful?Report an issueContact support

On this page