ReviewsSummaryRevision reviews.summary-revision@1

Generated at from openvibe-contracts v0.53.0 and openvibe-sdk v0.11.0.

Version
1.0.0
Owner
reviews
Visibility
first-party
Status
active
Compatibility
backward
Schema
https://openvibe.network/contracts/reviews/summary-revision.v1.json

reviews.summary-revision@1: one immutable summary revision as OpenVibe.Reviews shows it (server/reviews/service.js summaryRevisionView): the overview and each point with the signals it cites and whether they are still live signals of the entity, its authorship (AI proposals name the workflow and run), the latest review, the system reason of a pending revision and the public correction note. A summary never carries a rating. Readers see the author of a person's revision as "an editor".

Fields

FieldTypeRequiredDescriptionConstraints
numberintegeryes
  • minimum 1
statusenumyes
  • one of "published", "rejected", "superseded", "pending_system", "pending_ai", "draft"
overviewstringyes
pointsarray of objectyes
points[].keystringyesoverview, pro:<i> or con:<i>.
points[].kindenumyes
  • one of "overview", "pro", "con"
points[].textstring | nullyesnull for the overview (its text is overview).
points[].supportedbooleanyes
points[].citationsarray of objectyes
points[].citations[].signal_idstringyes
points[].citations[].okbooleanyes
points[].citations[].statusenumyes
  • one of "active", "superseded", "withdrawn", "missing"
points[].citations[].in_entitybooleanyes
points[].citations[].superseded_bystring | nullyes
authorshipobject | nullyes
disclosureobject | nullyes
reviewobject | nullyes
systemobject | nullyesA revision Reviews prepared after a cited signal left: { reason, signals, base_revision, dropped_points }.
correctionobject | nullyes
authorstring | nullyes
messagestring | nullyes
created_atstringyes
  • format date-time

Examples

From the contract's own test fixtures: valid ones validate, rejected ones must fail.

Valid: ai-pending
{
  "number": 3,
  "status": "pending_ai",
  "overview": "Well-reviewed for comfort; battery life is the common complaint.",
  "points": [
    {
      "key": "overview",
      "kind": "overview",
      "text": null,
      "supported": true,
      "citations": [
        {
          "signal_id": "sig_01JAC2S3G4H5J6K7M8N9P0Q1R2",
          "ok": true,
          "status": "active",
          "in_entity": true,
          "superseded_by": null
        }
      ]
    },
    {
      "key": "pro:0",
      "kind": "pro",
      "text": "Comfortable over long sessions",
      "supported": true,
      "citations": [
        {
          "signal_id": "sig_01JAC2S4G4H5J6K7M8N9P0Q1R2",
          "ok": true,
          "status": "active",
          "in_entity": true,
          "superseded_by": null
        }
      ]
    }
  ],
  "authorship": {
    "mode": "ai",
    "workflow": {
      "id": "reviews.summarize_entity",
      "runId": "run_01JAC8R9S0T1V2W3X4Y5Z6A7B8"
    },
    "stub_provider": false
  },
  "disclosure": {
    "mode": "ai",
    "short": "AI-generated",
    "long": "AI-generated by workflow reviews.summarize_entity, not yet reviewed by a person."
  },
  "review": null,
  "system": null,
  "correction": null,
  "author": "svc:ai",
  "message": "AI proposal",
  "created_at": "2026-09-24T09:40:12.000Z"
}
Valid: published
{
  "number": 2,
  "status": "published",
  "overview": "Well-reviewed for comfort; battery life is the common complaint.",
  "points": [
    {
      "key": "overview",
      "kind": "overview",
      "text": null,
      "supported": true,
      "citations": [
        {
          "signal_id": "sig_01JAC2S3G4H5J6K7M8N9P0Q1R2",
          "ok": true,
          "status": "active",
          "in_entity": true,
          "superseded_by": null
        }
      ]
    },
    {
      "key": "pro:0",
      "kind": "pro",
      "text": "Comfortable over long sessions",
      "supported": true,
      "citations": [
        {
          "signal_id": "sig_01JAC2S4G4H5J6K7M8N9P0Q1R2",
          "ok": true,
          "status": "active",
          "in_entity": true,
          "superseded_by": null
        }
      ]
    }
  ],
  "authorship": {
    "mode": "human",
    "workflow": null,
    "stub_provider": false
  },
  "disclosure": null,
  "review": null,
  "system": null,
  "correction": null,
  "author": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
  "message": null,
  "created_at": "2026-09-24T09:40:12.000Z"
}
Rejected: bad-status
{
  "number": 2,
  "status": "live",
  "overview": "Well-reviewed for comfort; battery life is the common complaint.",
  "points": [
    {
      "key": "overview",
      "kind": "overview",
      "text": null,
      "supported": true,
      "citations": [
        {
          "signal_id": "sig_01JAC2S3G4H5J6K7M8N9P0Q1R2",
          "ok": true,
          "status": "active",
          "in_entity": true,
          "superseded_by": null
        }
      ]
    },
    {
      "key": "pro:0",
      "kind": "pro",
      "text": "Comfortable over long sessions",
      "supported": true,
      "citations": [
        {
          "signal_id": "sig_01JAC2S4G4H5J6K7M8N9P0Q1R2",
          "ok": true,
          "status": "active",
          "in_entity": true,
          "superseded_by": null
        }
      ]
    }
  ],
  "authorship": {
    "mode": "human",
    "workflow": null,
    "stub_provider": false
  },
  "disclosure": null,
  "review": null,
  "system": null,
  "correction": null,
  "author": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
  "message": null,
  "created_at": "2026-09-24T09:40:12.000Z"
}

Validate

const contracts = require('openvibe-contracts');
contracts.validate('reviews.summary-revision@1', value);   // { valid, errors: [{ path, message }] }