Write a review set out as a sidecar artifact.
Use describe("common.convert.review-sidecar") when your code needs the complete live JSON Schemas.
At a glance
| Property | Value |
|---|---|
| Package | @runstamp/review-operations |
| Domain / verb | common / convert |
| Customer jobs | convert, transform |
| Deterministic | Yes |
| Side effects | none |
Availability
| Local | SDK | CLI | MCP | Managed API |
|---|---|---|---|---|
| public ga | public ga | public ga | public ga | public ga |
Managed API route: POST /api/v2/operations/common/convert/review-sidecar. Managed execution requires a free-trial workspace or an active Platform or Enterprise workspace, and an environment-bound API key.
Input and result
| Schema | Required fields | Optional fields |
|---|---|---|
| Input | actor, set | none |
| Options | none | operation, deterministic, deterministicSeed, timeoutMs, limits, locale, lossPolicy |
| Result value | output, artifacts | none |
Every success also carries losses, diagnostics, and a hash-bound receipt.
Defaults, limits, and format constraints
Defaults
| Path | Default |
|---|---|
$.deterministic | default=true |
$.lossPolicy | default="collect" |
Formats and profiles
| Path | Constraint |
|---|---|
$.set.schemaVersion | const=1 |
$.set.version | pattern="^[A-Za-z0-9][A-Za-z0-9._:-]{0,255}$" |
Other limits
| Path | Constraint |
|---|---|
$.actor.id | pattern="^[A-Za-z0-9][A-Za-z0-9._:-]{0,255}$" |
$.actor.displayName | minLength=1maxLength=256 |
$.set.artifactId | pattern="^[A-Za-z0-9][A-Za-z0-9._:-]{0,255}$" |
$.set.sourceSha256 | pattern="^[a-f0-9]{64}$" |
$.set.tenantId | pattern="^[A-Za-z0-9][A-Za-z0-9._:-]{0,255}$" |
$.set.items | maxItems=10000 |
$.set.items[].id | pattern="^[A-Za-z0-9][A-Za-z0-9._:-]{0,255}$" |
$.set.items[].body | minLength=1maxLength=64000 |
$.set.items[].author.id | pattern="^[A-Za-z0-9][A-Za-z0-9._:-]{0,255}$" |
$.set.items[].author.displayName | minLength=1maxLength=256 |
$.set.items[].parentId | pattern="^[A-Za-z0-9][A-Za-z0-9._:-]{0,255}$" |
$.set.items[].anchor.locator.artifactId | pattern="^[A-Za-z0-9][A-Za-z0-9._:-]{0,255}$" |
$.set.items[].anchor.locator.value | minItems=1maxItems=16 |
$.set.items[].anchor.locator.value[].anyOf[0] | maxLength=512 |
$.set.items[].anchor.locator.value[].anyOf[1] | minimum=0 |
$.set.items[].anchor.targetText | maxLength=4096 |
$.set.items[].anchor.targetSha256 | pattern="^[a-f0-9]{64}$" |
$.set.items[].anchor.contextBefore | maxLength=1024 |
$.set.items[].anchor.contextAfter | maxLength=1024 |
$.set.items[].anchor.contextSha256 | pattern="^[a-f0-9]{64}$" |
$.set.items[].geometry.width | minimum=0 |
$.set.items[].geometry.height | minimum=0 |
$.set.items[].geometry.page | minimum=0 |
$.set.items[].nativeType | minLength=1maxLength=256 |
$.set.audit | maxItems=20000 |
$.set.audit[].id | pattern="^[A-Za-z0-9][A-Za-z0-9._:-]{0,255}$" |
$.set.audit[].sequence | minimum=1 |
Showing 32 of 62 constraints. Use describe() or the machine-readable reference for the complete schema.
Invoke
const input = await fetch("https://runstamp.com/demo-evidence/operation-evidence/review-operations/common.convert.review-sidecar/input.json").then((response) => response.json());
const result = await runstamp.run("common.convert.review-sidecar", input);
if (!result.ok) throw new Error(`${result.error.code}: ${result.error.remediation}`);
console.log(result.value, result.losses, result.diagnostics, result.receipt);curl -fsS https://runstamp.com/demo-evidence/operation-evidence/review-operations/common.convert.review-sidecar/input.json -o input.json
npx -p @runstamp/sdk runstamp ops invoke common.convert.review-sidecar --input input.json{
"tool": "runstamp_invoke_operation",
"arguments": {
"operation": "common.convert.review-sidecar",
"input": "<JSON from https://runstamp.com/demo-evidence/operation-evidence/review-operations/common.convert.review-sidecar/input.json>",
"execution_mode": "local"
}
}Errors and losses
Declared errors (12)
common/INVALID_INPUTcommon/PERMISSION_DENIEDcommon/BINDING_MISMATCHcommon/SHIFTED_ANCHORcommon/RESOURCE_LIMITcommon/ABORTEDcommon/VERIFICATION_FAILEDcommon/SCHEMA_REJECTEDcommon/OPERATION_CANCELLEDcommon/OPERATION_TIMEOUTcommon/CONTRACT_VIOLATIONcommon/LOSS_POLICY_VIOLATED
Declared losses (5)
common/NATIVE_ANNOTATION_OPAQUEcommon/NATIVE_ANNOTATION_UNSUPPORTEDcommon/REVIEW_TARGET_DELETEDcommon/REVIEW_SIDECAR_ONLYcommon/WORKSPACE_ADAPTER_UNAVAILABLE
SDK AbortSignal, CLI exit 130, and MCP cancellation return the typed common/OPERATION_CANCELLED failure envelope.
Verified example and exact contract
- Fixture:
icp-workflow(Lattice Harbor Software · Q2 FY2026 Quarterly Business Review). - Example input — SHA-256
648c00201024c988eb6b06f32b8fc21b6d3812389d0f9f37419027fdbf610d6f. - Example result — SHA-256
351d342ff7fc8f459852672e811579815ec935945113cf0ab300cb7edd2284e7. - Verified result SHA-256:
b8d4c888e2dd7b37af655860e5e93572af8f12032224edc08e4a68a4ecc2c359. - Qualification lane:
12-approval-forms-review.
Contract fingerprints
- Descriptor:
2bcc39d77922592b3810edb0f78541fde508d2392b28cf3c198ca6192a9860a5. - Input schema:
d3cf21f4602c07722f4ffcdd3ed7d4e4eed717bec8301653aca7359159e2ac61. - Options schema:
45e6e5d582aa6e638be38d706dfade250f1a06ecb4ef01ee2585731664ee0924. - Result value schema:
12ae4703aeb5a4523b4487ea070155c16ff54e4ca896cb219c1c6b7073efa965.
The machine-readable operation reference publishes the complete schemas, qualification results, and evidence bindings for every operation.