Skip to main content

Research publishing

A research journal brings manuscripts, source material, peer feedback, and editorial decisions together before publishing a paper. The author revises the manuscript, an editor decides whether an exact version is ready, and a publisher releases it to readers.

This fictional journal follows a new paper, “Do floating gummy worms remember stories better?” It builds on two earlier publications. A 2024 study found that gummy worms aboard the spaceship Sugar Comet finish a story faster when floating than with gravity on, but it never asked what listeners remembered. A 2023 methods paper describes a memory test anyone can give after a story, the Jellybean Quiz: listeners answer ten questions about what they just heard and earn one jellybean per right answer, for a score from 0 to 10. The new paper cites the pace finding as its background and gives the quiz to its own listeners to measure what they remember. Its results show nearly equal recall: 7.1 with gravity and 7.0 floating. The submitted version still concludes that floating listeners remember more. A peer reviewer points this out, and the author narrows the conclusion. Every study, result, and credited research group is made up for this local, single-user demonstration.

The journal uses Governed Artifact Protocol (GAP) to preserve the manuscript versions, the sources each used, the exact version discussed in the review, and the decisions permitting publication. A source correction during review becomes another source version; the final manuscript captures it before publication. Readers can independently check the signed release evidence using their own configured trust.

The journal's actions group GAP's lifecycle steps and release decisions as follows:

The journal owner ratifies separate models for source material, manuscripts, peer-review reports, and editor notes. The demo starts with these signed profiles already ratified.

Authors save immutable versions. The cited-works editor releases each source before the manuscript can capture it as a governed dependency.

A peer saves a report over the exact submitted manuscript, and the publisher releases the report. Feedback attaches to a named section of that version.

A source author saves a corrected version of a cited work, and the cited-works editor releases it. Manuscripts that pinned the earlier version keep it until an author saves a new version.

The configured editor approves or rejects one exact manuscript version. Neither decision releases the paper.

The configured publisher signs authorization and releases the approved manuscript in one action.

Check sourcesNo step, no decision

An AI agent compares a paper's captured baseline with currently selected source releases. This check changes no record and performs no lifecycle step or release decision.

A reader obtains a release proof and checks it against independently configured public keys and trusted actions.

The journal decides who may save, review, approve, and publish. GAP lets a person or an AI agent hold any of these permissions. In this example, AI agents save the study and manuscript, and people save the methods paper, review report, and editor notes and make every release decision. A peer recommendation is advice; only the configured editor records a release approval or rejection. Only the publisher releases anything the journal itself issues: papers, review reports, and editor notes. Only the cited-works editor releases cited sources.

These permissions are local demonstration settings. Declaring a role selects a configured participant; it does not authenticate you or protect the JSON files. All released demonstration content is public. The demo requires signatures on every authority decision and holds public demonstration key pairs to produce reproducible records.

The sources, paper, peer review, and editor notes​

The journal uses four profiles, each with a payload contract written in JSON Schema draft 2020-12. The profiles name that language explicitly. Each saved version pins its profile ID, revision, and digest. A change to content creates another artifact version; a change to its allowed fields requires another ratified profile revision.

Source material​

The research-source model represents previously published papers with kind, title, authors, journal, year, and body. A published study and a published methods paper share this model and have separate artifact IDs:

  • paper:zero-gravity-story-pace is a fictional 2024 study in the Fictional Journal of Orbital Confectionery. It reports how long groups of gummy worms take to finish a tale, with gravity and floating, and says it did not test recall.
  • paper:jellybean-quiz is a fictional 2023 methods paper in the Fictional Journal of Story Metrics. It defines the ten-question Jellybean Quiz, a memory test for any story, and says nothing about gravity or gummy worms.

Each answers a different question from the new paper, which is why the paper can cite both. These are synthetic local representations of prior publications. Their journal names and publication years are content, not proof of real journal publication. The demo releases them before the new manuscript cites them. The source profile describes cited published content; the manuscript profile describes the new paper under editorial review.

The source-material profile, revision 1JSON
{
"profileId": "research-source",
"revision": 1,
"digest": "sha256:290320a5fa218822f9435d90657ce042beb845bdaaaabc62e8148bfa44c338e7",
"ratification": {
"ratifiedAt": "2026-10-08T00:00:00.000Z",
"actorId": "human:journal-owner",
"actorKind": "human",
"authoritySignature": {
"signerId": "human:journal-owner",
"signature": "UcjngnRV2pn_uRHJwHvOjwJ8JRxghy1icn-kNEqbyDswmsk44ihIFZ2zud4tmGvmHgyHbSlpdzgZkzh-xlasBg"
}
},
"payloadContract": {
"$contractLanguage": "json-schema/draft-2020-12",
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"study",
"methods-paper"
]
},
"title": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
},
"authors": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"items": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
}
},
"journal": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
},
"year": {
"type": "integer",
"minimum": 1900,
"maximum": 2100
},
"body": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
}
},
"required": [
"kind",
"title",
"authors",
"journal",
"year",
"body"
],
"additionalProperties": false,
"$schema": "https://json-schema.org/draft/2020-12/schema"
}
}
The previously published study, version 1JSON
{
"artifactId": "paper:zero-gravity-story-pace",
"artifactVersion": 1,
"profile": {
"profileId": "research-source",
"revision": 1,
"digest": "sha256:290320a5fa218822f9435d90657ce042beb845bdaaaabc62e8148bfa44c338e7"
},
"authoredBy": {
"actorId": "agent:source-author",
"actorKind": "agent"
},
"payload": {
"kind": "study",
"title": "Story pace of gummy worms in zero gravity",
"authors": [
"Fictional Orbital Confectionery Group"
],
"journal": "Fictional Journal of Orbital Confectionery",
"year": 2024,
"body": "Aboard the spaceship Sugar Comet, twenty fictional groups of gummy worms told the same tale of a marshmallow moon, half with gravity switched on and half floating. Groups with gravity finished in an average of 60 seconds; floating groups finished in 40 seconds. Floating storytellers paused less because nobody had to climb back onto the story rug. The study measured pace only; it did not test what listeners remembered. All results are invented demonstration data."
}
}
The previously published methods paper, version 1JSON
{
"artifactId": "paper:jellybean-quiz",
"artifactVersion": 1,
"profile": {
"profileId": "research-source",
"revision": 1,
"digest": "sha256:290320a5fa218822f9435d90657ce042beb845bdaaaabc62e8148bfa44c338e7"
},
"authoredBy": {
"actorId": "human:cited-works-editor",
"actorKind": "human"
},
"payload": {
"kind": "methods-paper",
"title": "The Jellybean Quiz: ten questions for testing what a listener remembers of any story",
"authors": [
"Fictional Story Metrics Group"
],
"journal": "Fictional Journal of Story Metrics",
"year": 2023,
"body": "The quiz is ten questions asked one minute after a story ends: five about the plot, three about the characters, and two about the setting. Each correct answer earns one jellybean, for a score from 0 to 10. It works for any story and any audience; ask every listener the same questions in the same order. These demonstration methods describe no real experiment."
}
}

The manuscript​

The research-paper model requires a title, credited authors, abstract, sections, bibliography, peer-review responses, editor-note responses, and a dependency set. Section IDs supply local anchors for feedback; citation labels connect passages to bibliography entries.

Credited authors belong in payload.authors, where the content digest covers them. The envelope's authoredBy identifies the person or AI agent who saved the version, rather than its academic byline.

Each bibliography entry records the cited paper's title, authors, journal, year, and artifact ID. Section citation labels render as numbered citations, matching the visible bibliography. The application checks the bibliographic metadata against the exact pinned source version. The dependency set contains exact artifact IDs, versions, and payload digests, ordered by artifact ID. This demo requires every bibliography source to correspond to released source material in that set. It requires at least one study and exactly one methods paper. Those are local journal choices. Ordinary external citations are outside this demo; an external link alone must not be reported as a verified GAP dependency.

The manuscript profile, revision 1JSON
{
"profileId": "research-paper",
"revision": 1,
"digest": "sha256:0544153315de25681df647c9295d13e25d97332a5d5ad8d8192d6547b7df63bb",
"ratification": {
"ratifiedAt": "2026-10-08T00:00:00.000Z",
"actorId": "human:journal-owner",
"actorKind": "human",
"authoritySignature": {
"signerId": "human:journal-owner",
"signature": "6y3JDNCDtD4hmqXM78YN46otzR2ceLzQbK04z1UUa3HZ_FWon2vzjL_X7TGozTtL3xMBZcld4j5uZ6bfo5qqBA"
}
},
"payloadContract": {
"$contractLanguage": "json-schema/draft-2020-12",
"type": "object",
"properties": {
"title": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
},
"authors": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"items": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
}
},
"abstract": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
},
"sections": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 200
},
"heading": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
},
"text": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
},
"citations": {
"type": "array",
"maxItems": 20,
"items": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 200
}
}
},
"required": [
"id",
"heading",
"text",
"citations"
],
"additionalProperties": false
}
},
"bibliography": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 200
},
"title": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
},
"authors": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"items": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
}
},
"journal": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
},
"year": {
"type": "integer",
"minimum": 1900,
"maximum": 2100
},
"sourceArtifactId": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"id",
"title",
"authors",
"journal",
"year",
"sourceArtifactId"
],
"additionalProperties": false
}
},
"reviewResponses": {
"type": "array",
"maxItems": 40,
"items": {
"type": "object",
"properties": {
"reviewArtifactId": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 200
},
"feedbackId": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 200
},
"response": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
}
},
"required": [
"reviewArtifactId",
"feedbackId",
"response"
],
"additionalProperties": false
}
},
"editorResponses": {
"type": "array",
"maxItems": 40,
"items": {
"type": "object",
"properties": {
"notesArtifactId": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 200
},
"feedbackId": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 200
},
"response": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
}
},
"required": [
"notesArtifactId",
"feedbackId",
"response"
],
"additionalProperties": false
}
},
"dependencySet": {
"type": "object",
"properties": {
"entries": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"items": {
"type": "object",
"properties": {
"artifactId": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 200
},
"artifactVersion": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"payloadDigest": {
"type": "string",
"pattern": "^sha256:[0-9a-f]{64}$"
}
},
"required": [
"artifactId",
"artifactVersion",
"payloadDigest"
],
"additionalProperties": false
}
}
},
"required": [
"entries"
],
"additionalProperties": false
}
},
"required": [
"title",
"authors",
"abstract",
"sections",
"bibliography",
"reviewResponses",
"editorResponses",
"dependencySet"
],
"additionalProperties": false,
"$schema": "https://json-schema.org/draft/2020-12/schema"
}
}
The submitted manuscript, version 1JSON
{
"artifactId": "paper:floating-gummy-worm-recall",
"artifactVersion": 1,
"profile": {
"profileId": "research-paper",
"revision": 1,
"digest": "sha256:0544153315de25681df647c9295d13e25d97332a5d5ad8d8192d6547b7df63bb"
},
"authoredBy": {
"actorId": "agent:paper-author",
"actorKind": "agent"
},
"payload": {
"title": "Do floating gummy worms remember stories better?",
"authors": [
"Fictional Gummy-Worm Storytelling Crew"
],
"abstract": "Earlier work found that gummy worms tell stories faster in zero gravity. We ask whether floating listeners also remember more, using twelve new groups of gummy worms aboard the fictional spaceship Sugar Comet.",
"sections": [
{
"id": "background",
"heading": "Background",
"text": "A previous study found that floating groups finish a tale in 40 seconds, against 60 seconds with gravity. It did not test whether listeners remembered more of the faster stories.",
"citations": [
"pace-study"
]
},
{
"id": "methods",
"heading": "Methods",
"text": "Six groups with gravity and six floating groups heard the same marshmallow-moon tale. One minute after each story, listeners answered the ten questions of the Jellybean Quiz. We did not re-measure story pace.",
"citations": [
"jellybean-quiz"
]
},
{
"id": "results",
"heading": "Results",
"text": "Listeners with gravity averaged 7.1 out of 10 on the quiz; floating listeners averaged 7.0. All results are invented.",
"citations": []
},
{
"id": "conclusion",
"heading": "Conclusion",
"text": "Because zero gravity speeds up storytelling, it also helps gummy-worm listeners remember more.",
"citations": []
}
],
"bibliography": [
{
"id": "pace-study",
"title": "Story pace of gummy worms in zero gravity",
"authors": [
"Fictional Orbital Confectionery Group"
],
"journal": "Fictional Journal of Orbital Confectionery",
"year": 2024,
"sourceArtifactId": "paper:zero-gravity-story-pace"
},
{
"id": "jellybean-quiz",
"title": "The Jellybean Quiz: ten questions for testing what a listener remembers of any story",
"authors": [
"Fictional Story Metrics Group"
],
"journal": "Fictional Journal of Story Metrics",
"year": 2023,
"sourceArtifactId": "paper:jellybean-quiz"
}
],
"reviewResponses": [],
"editorResponses": [],
"dependencySet": {
"entries": [
{
"artifactId": "paper:jellybean-quiz",
"artifactVersion": 1,
"payloadDigest": "sha256:93b44d0272dc2a1824cc9b43dc2d857910566d0df0ecd7281cb4d353d8a60d7d"
},
{
"artifactId": "paper:zero-gravity-story-pace",
"artifactVersion": 1,
"payloadDigest": "sha256:b5aa9c1ac819edbdc5705d65da665ba91d17c645859d4986cc5d817532f7803a"
}
]
}
}
}

The review report​

The research-peer-review model requires an exact manuscript reference, reviewer attribution, a recommendation, and feedback. Each comment identifies a section, quotes its text, explains the concern, and requests a change. The application checks the reference and quote against that saved manuscript.

The report can refer to a draft. Its manuscript reference is domain content, not a dependency-set entry: GAP dependencies identify released sources. Releasing the report does not release the manuscript it discusses. Comments stay attached to that exact version; the demo does not move anchors between edits or manage threaded discussions.

The report reviews manuscript version 1. Version 2 can then pin the released report and respond to its feedback. This order avoids a circular dependency between a manuscript and the report about it.

The peer-review profile, revision 1JSON
{
"profileId": "research-peer-review",
"revision": 1,
"digest": "sha256:9442eff7ff852018222c670a8d8261d191bb062ba2346f8e9975cd51c4d2a601",
"ratification": {
"ratifiedAt": "2026-10-08T00:00:00.000Z",
"actorId": "human:journal-owner",
"actorKind": "human",
"authoritySignature": {
"signerId": "human:journal-owner",
"signature": "ilb4DiyG9NKwPg6lniV35vUp9UrcXsovs7iGRvZsGChWx5N7ytb4lHA9TuuL71l2QVRxFNxRSOOu1QWyyXHOAQ"
}
},
"payloadContract": {
"$contractLanguage": "json-schema/draft-2020-12",
"type": "object",
"properties": {
"manuscript": {
"type": "object",
"properties": {
"artifactId": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 200
},
"artifactVersion": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"payloadDigest": {
"type": "string",
"pattern": "^sha256:[0-9a-f]{64}$"
},
"profile": {
"type": "object",
"properties": {
"profileId": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 200
},
"revision": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"digest": {
"type": "string",
"pattern": "^sha256:[0-9a-f]{64}$"
}
},
"required": [
"profileId",
"revision",
"digest"
],
"additionalProperties": false
}
},
"required": [
"artifactId",
"artifactVersion",
"payloadDigest",
"profile"
],
"additionalProperties": false
},
"reviewer": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
},
"recommendation": {
"type": "string",
"enum": [
"revise",
"accept"
]
},
"feedback": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 200
},
"sectionId": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 200
},
"quotedText": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
},
"comment": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
},
"requestedChange": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
}
},
"required": [
"id",
"sectionId",
"quotedText",
"comment",
"requestedChange"
],
"additionalProperties": false
}
}
},
"required": [
"manuscript",
"reviewer",
"recommendation",
"feedback"
],
"additionalProperties": false,
"$schema": "https://json-schema.org/draft/2020-12/schema"
}
}
The peer report on manuscript version 1JSON
{
"artifactId": "review:floating-gummy-worm-recall",
"artifactVersion": 1,
"profile": {
"profileId": "research-peer-review",
"revision": 1,
"digest": "sha256:9442eff7ff852018222c670a8d8261d191bb062ba2346f8e9975cd51c4d2a601"
},
"authoredBy": {
"actorId": "human:peer-reviewer",
"actorKind": "human"
},
"payload": {
"manuscript": {
"artifactId": "paper:floating-gummy-worm-recall",
"artifactVersion": 1,
"payloadDigest": "sha256:23a375d8b129931bd78d67d02c62e8a678d4e1994d7cb748bc128b5e858dd49d",
"profile": {
"profileId": "research-paper",
"revision": 1,
"digest": "sha256:0544153315de25681df647c9295d13e25d97332a5d5ad8d8192d6547b7df63bb"
}
},
"reviewer": "Fictional Peer Reviewer",
"recommendation": "revise",
"feedback": [
{
"id": "comment-1",
"sectionId": "conclusion",
"quotedText": "Because zero gravity speeds up storytelling, it also helps gummy-worm listeners remember more.",
"comment": "Your own results show nearly equal recall: 7.1 with gravity and 7.0 floating. The faster pace comes from the earlier study, not from your groups, and does not show that listeners remember more.",
"requestedChange": "Report recall on its own and limit the conclusion to what this synthetic comparison measured."
}
]
}
}

Editor notes​

The research-editor-notes model holds the editor's attribution, an exact manuscript reference, and section feedback with quoted text and requested changes. It has its own profile and release authority. Notes are content; editorial approval and rejection are separate GAP authority decisions.

In this example, the editor annotates the background in manuscript version 2 after the study correction. The note quotes “finish a tale in 40 seconds” and requests 45 seconds with a pin to corrected study version 2. The final manuscript pins the released notes and carries editorResponses, separately from its peer reviewResponses. Local policy requires a response to each pinned editor comment. Editor notes do not satisfy the journal's peer-review requirement.

The example cards show the original passage and link to its exact manuscript version and section. A link selects that version in the paper preview and highlights the quoted text. The comments remain attached to the original text when later versions change.

The editor-notes profile, revision 1JSON
{
"profileId": "research-editor-notes",
"revision": 1,
"digest": "sha256:a3d6d52812ec6a8ddf87950831ff2886c6eec6e0338d604905eee0a35b56bb85",
"ratification": {
"ratifiedAt": "2026-10-08T00:00:00.000Z",
"actorId": "human:journal-owner",
"actorKind": "human",
"authoritySignature": {
"signerId": "human:journal-owner",
"signature": "8-0zyzXTtA58yShNunoNtm-gN1L-mgO-Ea5_u-Ja-5Kmf6I8KJr0wzVHzR_oT9L-qtwyUyUc7sxXKgDB1pY7Dw"
}
},
"payloadContract": {
"$contractLanguage": "json-schema/draft-2020-12",
"type": "object",
"properties": {
"manuscript": {
"type": "object",
"properties": {
"artifactId": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 200
},
"artifactVersion": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"payloadDigest": {
"type": "string",
"pattern": "^sha256:[0-9a-f]{64}$"
},
"profile": {
"type": "object",
"properties": {
"profileId": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 200
},
"revision": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"digest": {
"type": "string",
"pattern": "^sha256:[0-9a-f]{64}$"
}
},
"required": [
"profileId",
"revision",
"digest"
],
"additionalProperties": false
}
},
"required": [
"artifactId",
"artifactVersion",
"payloadDigest",
"profile"
],
"additionalProperties": false
},
"editor": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
},
"feedback": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 200
},
"sectionId": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 200
},
"quotedText": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
},
"comment": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
},
"requestedChange": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
}
},
"required": [
"id",
"sectionId",
"quotedText",
"comment",
"requestedChange"
],
"additionalProperties": false
}
}
},
"required": [
"manuscript",
"editor",
"feedback"
],
"additionalProperties": false,
"$schema": "https://json-schema.org/draft/2020-12/schema"
}
}
Editor notes on manuscript version 2JSON
{
"artifactId": "editor-notes:floating-gummy-worm-recall",
"artifactVersion": 1,
"profile": {
"profileId": "research-editor-notes",
"revision": 1,
"digest": "sha256:a3d6d52812ec6a8ddf87950831ff2886c6eec6e0338d604905eee0a35b56bb85"
},
"authoredBy": {
"actorId": "human:journal-editor",
"actorKind": "human"
},
"payload": {
"manuscript": {
"artifactId": "paper:floating-gummy-worm-recall",
"artifactVersion": 2,
"payloadDigest": "sha256:4ddab8686a8837287f0fa73e3646e0c9afd2890aff419ba5dea1aceeb1bacb84",
"profile": {
"profileId": "research-paper",
"revision": 1,
"digest": "sha256:0544153315de25681df647c9295d13e25d97332a5d5ad8d8192d6547b7df63bb"
}
},
"editor": "Fictional Journal Editor",
"feedback": [
{
"id": "editor-comment-1",
"sectionId": "background",
"quotedText": "finish a tale in 40 seconds",
"comment": "The cited study has been corrected: floating groups finish in 45 seconds, so the pace gap is 15 seconds, not 20. This draft still cites the earlier figure and source version.",
"requestedChange": "Use 45 seconds and pin corrected study version 2 before the final editorial decision."
}
]
}
}

From submission to publication​

Set up the content models​

Step 1: Propose a profileStep 2: Ratify a revision

The journal owner ratifies each exact content model with a signature. The demo preconfigures all four at revision 1; get_research_workflow returns their records, permissions, both trust stores, and local policies. Inspecting them performs no lifecycle step.

Save the manuscript and sources​

Step 3: Create a versionStep 4: AuthorizeStep 5: Release

The source author saves the study, and the cited-works editor saves the methods paper. The cited-works editor authorizes and releases each before the paper author saves manuscript version 1 with their exact dependency entries. Saving a manuscript grants no publication authority. The consumer read tool refuses unpublished manuscripts.

Record peer feedback​

Step 3: Create a versionStep 4: AuthorizeStep 5: Release

The peer reviewer saves a report about version 1, and the publisher releases it. The peer cannot release anything. The report's recommendation asks for revision. The paper author saves version 2, which reports recall on its own, credits the faster pace to the earlier study, and explicitly limits the fictional results. The version pins the released report and records a response to its comment. Local publication policy requires responses to each pinned review comment; it does not evaluate whether the response is scientifically adequate.

The revised manuscript, version 2JSON
{
"artifactId": "paper:floating-gummy-worm-recall",
"artifactVersion": 2,
"profile": {
"profileId": "research-paper",
"revision": 1,
"digest": "sha256:0544153315de25681df647c9295d13e25d97332a5d5ad8d8192d6547b7df63bb"
},
"authoredBy": {
"actorId": "agent:paper-author",
"actorKind": "agent"
},
"payload": {
"title": "Do floating gummy worms remember stories better?",
"authors": [
"Fictional Gummy-Worm Storytelling Crew"
],
"abstract": "Earlier work found that gummy worms tell stories faster in zero gravity. We asked whether floating listeners also remember more. Twelve new groups of gummy worms aboard the fictional spaceship Sugar Comet heard the same tale, and we tested their memory with the Jellybean Quiz. Recall was nearly equal with and without gravity. All characters, settings, and results are invented.",
"sections": [
{
"id": "background",
"heading": "Background",
"text": "A previous study found that floating groups finish a tale in 40 seconds, against 60 seconds with gravity. It did not test whether listeners remembered more of the faster stories.",
"citations": [
"pace-study"
]
},
{
"id": "methods",
"heading": "Methods",
"text": "Six groups with gravity and six floating groups heard the same marshmallow-moon tale. One minute after each story, listeners answered the ten questions of the Jellybean Quiz. We did not re-measure story pace.",
"citations": [
"jellybean-quiz"
]
},
{
"id": "results",
"heading": "Results",
"text": "Listeners with gravity averaged 7.1 out of 10 on the quiz; floating listeners averaged 7.0. All results are invented.",
"citations": []
},
{
"id": "conclusion",
"heading": "Conclusion",
"text": "In this synthetic comparison, floating listeners and listeners with gravity recalled stories almost equally. The faster pace reported in earlier work did not come with better recall. These fictional results do not establish that zero gravity makes stories more memorable.",
"citations": [
"pace-study",
"jellybean-quiz"
]
}
],
"bibliography": [
{
"id": "pace-study",
"title": "Story pace of gummy worms in zero gravity",
"authors": [
"Fictional Orbital Confectionery Group"
],
"journal": "Fictional Journal of Orbital Confectionery",
"year": 2024,
"sourceArtifactId": "paper:zero-gravity-story-pace"
},
{
"id": "jellybean-quiz",
"title": "The Jellybean Quiz: ten questions for testing what a listener remembers of any story",
"authors": [
"Fictional Story Metrics Group"
],
"journal": "Fictional Journal of Story Metrics",
"year": 2023,
"sourceArtifactId": "paper:jellybean-quiz"
}
],
"reviewResponses": [
{
"reviewArtifactId": "review:floating-gummy-worm-recall",
"feedbackId": "comment-1",
"response": "Rewrote the abstract and conclusion to report recall on its own, credit the pace finding to the earlier study, and state the synthetic-data limitation."
}
],
"editorResponses": [],
"dependencySet": {
"entries": [
{
"artifactId": "paper:jellybean-quiz",
"artifactVersion": 1,
"payloadDigest": "sha256:93b44d0272dc2a1824cc9b43dc2d857910566d0df0ecd7281cb4d353d8a60d7d"
},
{
"artifactId": "paper:zero-gravity-story-pace",
"artifactVersion": 1,
"payloadDigest": "sha256:b5aa9c1ac819edbdc5705d65da665ba91d17c645859d4986cc5d817532f7803a"
},
{
"artifactId": "review:floating-gummy-worm-recall",
"artifactVersion": 1,
"payloadDigest": "sha256:b77f5b18cf837660755f20b3c3b7fbfab4cc135c55af550b639b7b3dbe4d3cb5"
}
]
}
}
}

Correct a source before publication​

Step 3: Create a versionStep 4: AuthorizeStep 5: Release

While the revised manuscript is still a draft, the source author corrects the earlier study: a timing error had shortened the floating average, which is 45 seconds, not 40. The cited-works editor releases study version 2. Manuscript version 2 keeps its original source baseline; the application does not rewrite it.

The editor saves notes on version 2's background, which still cites the earlier figure, and the publisher releases them. The paper author then saves manuscript version 3 with the corrected figure and an exact pin to study version 2. Version 3 preserves the qualified conclusion, methods paper, and peer report, and pins the editor notes with separate responses to both kinds of feedback. The report remains attached to version 1, and the editor evaluates the final manuscript against the correction before deciding whether it is ready. Local policy permits the earlier report with its response; it does not establish that a fresh review occurred.

The corrected fictional study, version 2JSON
{
"artifactId": "paper:zero-gravity-story-pace",
"artifactVersion": 2,
"profile": {
"profileId": "research-source",
"revision": 1,
"digest": "sha256:290320a5fa218822f9435d90657ce042beb845bdaaaabc62e8148bfa44c338e7"
},
"authoredBy": {
"actorId": "agent:source-author",
"actorKind": "agent"
},
"payload": {
"kind": "study",
"title": "Story pace of gummy worms in zero gravity",
"authors": [
"Fictional Orbital Confectionery Group"
],
"journal": "Fictional Journal of Orbital Confectionery",
"year": 2024,
"body": "Aboard the spaceship Sugar Comet, twenty fictional groups of gummy worms told the same tale of a marshmallow moon, half with gravity switched on and half floating. Groups with gravity finished in an average of 60 seconds; floating groups finished in 45 seconds. Floating storytellers paused less because nobody had to climb back onto the story rug. The study measured pace only; it did not test what listeners remembered. All results are invented demonstration data. Correction: a timing error had shortened the floating average, which is 45 seconds, not 40."
}
}
The final manuscript with the corrected source baselineJSON
{
"artifactId": "paper:floating-gummy-worm-recall",
"artifactVersion": 3,
"profile": {
"profileId": "research-paper",
"revision": 1,
"digest": "sha256:0544153315de25681df647c9295d13e25d97332a5d5ad8d8192d6547b7df63bb"
},
"authoredBy": {
"actorId": "agent:paper-author",
"actorKind": "agent"
},
"payload": {
"title": "Do floating gummy worms remember stories better?",
"authors": [
"Fictional Gummy-Worm Storytelling Crew"
],
"abstract": "Earlier work found that gummy worms tell stories faster in zero gravity. We asked whether floating listeners also remember more. Twelve new groups of gummy worms aboard the fictional spaceship Sugar Comet heard the same tale, and we tested their memory with the Jellybean Quiz. Recall was nearly equal with and without gravity. All characters, settings, and results are invented.",
"sections": [
{
"id": "background",
"heading": "Background",
"text": "A previous study found that floating groups finish a tale in 45 seconds, against 60 seconds with gravity. It did not test whether listeners remembered more of the faster stories.",
"citations": [
"pace-study"
]
},
{
"id": "methods",
"heading": "Methods",
"text": "Six groups with gravity and six floating groups heard the same marshmallow-moon tale. One minute after each story, listeners answered the ten questions of the Jellybean Quiz. We did not re-measure story pace.",
"citations": [
"jellybean-quiz"
]
},
{
"id": "results",
"heading": "Results",
"text": "Listeners with gravity averaged 7.1 out of 10 on the quiz; floating listeners averaged 7.0. All results are invented.",
"citations": []
},
{
"id": "conclusion",
"heading": "Conclusion",
"text": "In this synthetic comparison, floating listeners and listeners with gravity recalled stories almost equally. The faster pace reported in earlier work did not come with better recall. These fictional results do not establish that zero gravity makes stories more memorable.",
"citations": [
"pace-study",
"jellybean-quiz"
]
}
],
"bibliography": [
{
"id": "pace-study",
"title": "Story pace of gummy worms in zero gravity",
"authors": [
"Fictional Orbital Confectionery Group"
],
"journal": "Fictional Journal of Orbital Confectionery",
"year": 2024,
"sourceArtifactId": "paper:zero-gravity-story-pace"
},
{
"id": "jellybean-quiz",
"title": "The Jellybean Quiz: ten questions for testing what a listener remembers of any story",
"authors": [
"Fictional Story Metrics Group"
],
"journal": "Fictional Journal of Story Metrics",
"year": 2023,
"sourceArtifactId": "paper:jellybean-quiz"
}
],
"reviewResponses": [
{
"reviewArtifactId": "review:floating-gummy-worm-recall",
"feedbackId": "comment-1",
"response": "Rewrote the abstract and conclusion to report recall on its own, credit the pace finding to the earlier study, and state the synthetic-data limitation."
}
],
"editorResponses": [
{
"notesArtifactId": "editor-notes:floating-gummy-worm-recall",
"feedbackId": "editor-comment-1",
"response": "Updated the background to 45 seconds and pinned corrected study version 2 before publication."
}
],
"dependencySet": {
"entries": [
{
"artifactId": "editor-notes:floating-gummy-worm-recall",
"artifactVersion": 1,
"payloadDigest": "sha256:116bd5278bf3beba41dd636c7aef2453b0129f34d9e672cc28c8d1584df07b47"
},
{
"artifactId": "paper:jellybean-quiz",
"artifactVersion": 1,
"payloadDigest": "sha256:93b44d0272dc2a1824cc9b43dc2d857910566d0df0ecd7281cb4d353d8a60d7d"
},
{
"artifactId": "paper:zero-gravity-story-pace",
"artifactVersion": 2,
"payloadDigest": "sha256:59e76cab6c6d2e83c23e88e7a27e40c6064804edc823e647ef59f08eb8747b53"
},
{
"artifactId": "review:floating-gummy-worm-recall",
"artifactVersion": 1,
"payloadDigest": "sha256:b77f5b18cf837660755f20b3c3b7fbfab4cc135c55af550b639b7b3dbe4d3cb5"
}
]
}
}
}

Make the editorial decision​

Release decision: ApprovalRelease decision: Rejection

The editor declines version 1 because its conclusion overstates the results. After the peer feedback and source correction are addressed, the editor approves exact version 3. Versions 1 and 2 remain unpublished drafts. The rejection remains attached to version 1 and cannot be carried in version 3's proof. A rejection adds a record and does not itself prevent a later decision about the same subject. Once a version is published, the journal takes no further decision on it: a rejection is not a withdrawal, and a new decision would change the proof readers already hold.

The editor's signed rejection of version 1JSON
{
"artifactId": "paper:floating-gummy-worm-recall",
"artifactVersion": 1,
"payloadDigest": "sha256:23a375d8b129931bd78d67d02c62e8a678d4e1994d7cb748bc128b5e858dd49d",
"profile": {
"profileId": "research-paper",
"revision": 1,
"digest": "sha256:0544153315de25681df647c9295d13e25d97332a5d5ad8d8192d6547b7df63bb"
},
"rejectedAt": "2026-10-08T10:00:00Z",
"rejectedBy": {
"actorId": "human:journal-editor",
"actorKind": "human"
},
"reason": "The conclusion claims better recall, but the results report nearly equal scores, and the faster pace comes from the earlier study.",
"authorizationSubjectDigest": "sha256:2bf31010ae0e1bcd9e90f7c84720f18b8c275b2a83b72a0a6f30dc9cf5317c48",
"authoritySignature": {
"signerId": "human:journal-editor",
"signature": "uVay0KzmAEhWSPDL7r1xu7xSiz11avi6ViiC3nqQoC8KWPQ4avqsQCKLz1765MjFgulRxVS-6MkqQT3HQB4QAA"
}
}
The editor's signed approval of the final manuscriptJSON
{
"artifactId": "paper:floating-gummy-worm-recall",
"artifactVersion": 3,
"payloadDigest": "sha256:0061c55517e6eebee4869be89195b4b0d327940c1e7ee020d9633eb7fec120aa",
"profile": {
"profileId": "research-paper",
"revision": 1,
"digest": "sha256:0544153315de25681df647c9295d13e25d97332a5d5ad8d8192d6547b7df63bb"
},
"approvedAt": "2026-10-09T13:00:00Z",
"approvedBy": {
"actorId": "human:journal-editor",
"actorKind": "human"
},
"authorizationSubjectDigest": "sha256:880ecdf8f4677905ce833515b360b3f4ce84b141ae61572b929c7dab606e0c4e",
"authoritySignature": {
"signerId": "human:journal-editor",
"signature": "iKRXTJaqR_hLCXQcuoYu6WusMPtHdYbjikKYV_-Js85Snyni-pS8xdEfQYaHD3Uyte8DvIu16FV-_2iyDAsJBQ"
}
}

An approval identifies the exact content and profile it covers. Later edits require their own approval. A release decision's optional reason is explanation outside GAP's digests and signatures. The feedback report's payload is digest-bound content; linking it does not prove an editor read it or establish the completeness of peer review.

Publish​

Step 4: AuthorizeStep 5: Release

The publisher authorizes version 3 and releases it. This is the paper's only publication in the example. Local policy requires its exact editorial approval and a released review report with responses. The release proof carries that approval beside the authorization and release. The editor cannot publish, and the publisher cannot approve. The paper's authorization covers its content, bibliography, review responses, and full dependency set.

The publisher's signed authorization of the final manuscriptJSON
{
"artifactId": "paper:floating-gummy-worm-recall",
"artifactVersion": 3,
"payloadDigest": "sha256:0061c55517e6eebee4869be89195b4b0d327940c1e7ee020d9633eb7fec120aa",
"profile": {
"profileId": "research-paper",
"revision": 1,
"digest": "sha256:0544153315de25681df647c9295d13e25d97332a5d5ad8d8192d6547b7df63bb"
},
"authorizedAt": "2026-10-09T14:00:00Z",
"authorizedBy": {
"actorId": "human:journal-publisher",
"actorKind": "human"
},
"authorizationSubjectDigest": "sha256:880ecdf8f4677905ce833515b360b3f4ce84b141ae61572b929c7dab606e0c4e",
"authoritySignature": {
"signerId": "human:journal-publisher",
"signature": "9P5r_4fKIZXOoOFRsbstSYvgTPwLHgnoMCaFy6m426kufbN3mXDiplesLdpPaJthMF-tjQ7S42iH6f1jADmnCw"
}
}
The final publication proofJSON
{
"release": {
"artifactId": "paper:floating-gummy-worm-recall",
"artifactVersion": 3,
"profile": {
"profileId": "research-paper",
"revision": 1,
"digest": "sha256:0544153315de25681df647c9295d13e25d97332a5d5ad8d8192d6547b7df63bb"
},
"payload": {
"title": "Do floating gummy worms remember stories better?",
"authors": [
"Fictional Gummy-Worm Storytelling Crew"
],
"abstract": "Earlier work found that gummy worms tell stories faster in zero gravity. We asked whether floating listeners also remember more. Twelve new groups of gummy worms aboard the fictional spaceship Sugar Comet heard the same tale, and we tested their memory with the Jellybean Quiz. Recall was nearly equal with and without gravity. All characters, settings, and results are invented.",
"sections": [
{
"id": "background",
"heading": "Background",
"text": "A previous study found that floating groups finish a tale in 45 seconds, against 60 seconds with gravity. It did not test whether listeners remembered more of the faster stories.",
"citations": [
"pace-study"
]
},
{
"id": "methods",
"heading": "Methods",
"text": "Six groups with gravity and six floating groups heard the same marshmallow-moon tale. One minute after each story, listeners answered the ten questions of the Jellybean Quiz. We did not re-measure story pace.",
"citations": [
"jellybean-quiz"
]
},
{
"id": "results",
"heading": "Results",
"text": "Listeners with gravity averaged 7.1 out of 10 on the quiz; floating listeners averaged 7.0. All results are invented.",
"citations": []
},
{
"id": "conclusion",
"heading": "Conclusion",
"text": "In this synthetic comparison, floating listeners and listeners with gravity recalled stories almost equally. The faster pace reported in earlier work did not come with better recall. These fictional results do not establish that zero gravity makes stories more memorable.",
"citations": [
"pace-study",
"jellybean-quiz"
]
}
],
"bibliography": [
{
"id": "pace-study",
"title": "Story pace of gummy worms in zero gravity",
"authors": [
"Fictional Orbital Confectionery Group"
],
"journal": "Fictional Journal of Orbital Confectionery",
"year": 2024,
"sourceArtifactId": "paper:zero-gravity-story-pace"
},
{
"id": "jellybean-quiz",
"title": "The Jellybean Quiz: ten questions for testing what a listener remembers of any story",
"authors": [
"Fictional Story Metrics Group"
],
"journal": "Fictional Journal of Story Metrics",
"year": 2023,
"sourceArtifactId": "paper:jellybean-quiz"
}
],
"reviewResponses": [
{
"reviewArtifactId": "review:floating-gummy-worm-recall",
"feedbackId": "comment-1",
"response": "Rewrote the abstract and conclusion to report recall on its own, credit the pace finding to the earlier study, and state the synthetic-data limitation."
}
],
"editorResponses": [
{
"notesArtifactId": "editor-notes:floating-gummy-worm-recall",
"feedbackId": "editor-comment-1",
"response": "Updated the background to 45 seconds and pinned corrected study version 2 before publication."
}
],
"dependencySet": {
"entries": [
{
"artifactId": "editor-notes:floating-gummy-worm-recall",
"artifactVersion": 1,
"payloadDigest": "sha256:116bd5278bf3beba41dd636c7aef2453b0129f34d9e672cc28c8d1584df07b47"
},
{
"artifactId": "paper:jellybean-quiz",
"artifactVersion": 1,
"payloadDigest": "sha256:93b44d0272dc2a1824cc9b43dc2d857910566d0df0ecd7281cb4d353d8a60d7d"
},
{
"artifactId": "paper:zero-gravity-story-pace",
"artifactVersion": 2,
"payloadDigest": "sha256:59e76cab6c6d2e83c23e88e7a27e40c6064804edc823e647ef59f08eb8747b53"
},
{
"artifactId": "review:floating-gummy-worm-recall",
"artifactVersion": 1,
"payloadDigest": "sha256:b77f5b18cf837660755f20b3c3b7fbfab4cc135c55af550b639b7b3dbe4d3cb5"
}
]
}
}
},
"profile": {
"profileId": "research-paper",
"revision": 1,
"digest": "sha256:0544153315de25681df647c9295d13e25d97332a5d5ad8d8192d6547b7df63bb",
"ratification": {
"ratifiedAt": "2026-10-08T00:00:00.000Z",
"actorId": "human:journal-owner",
"actorKind": "human",
"authoritySignature": {
"signerId": "human:journal-owner",
"signature": "6y3JDNCDtD4hmqXM78YN46otzR2ceLzQbK04z1UUa3HZ_FWon2vzjL_X7TGozTtL3xMBZcld4j5uZ6bfo5qqBA"
}
},
"payloadContract": {
"$contractLanguage": "json-schema/draft-2020-12",
"type": "object",
"properties": {
"title": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
},
"authors": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"items": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
}
},
"abstract": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
},
"sections": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 200
},
"heading": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
},
"text": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
},
"citations": {
"type": "array",
"maxItems": 20,
"items": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 200
}
}
},
"required": [
"id",
"heading",
"text",
"citations"
],
"additionalProperties": false
}
},
"bibliography": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 200
},
"title": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
},
"authors": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"items": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
}
},
"journal": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
},
"year": {
"type": "integer",
"minimum": 1900,
"maximum": 2100
},
"sourceArtifactId": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"id",
"title",
"authors",
"journal",
"year",
"sourceArtifactId"
],
"additionalProperties": false
}
},
"reviewResponses": {
"type": "array",
"maxItems": 40,
"items": {
"type": "object",
"properties": {
"reviewArtifactId": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 200
},
"feedbackId": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 200
},
"response": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
}
},
"required": [
"reviewArtifactId",
"feedbackId",
"response"
],
"additionalProperties": false
}
},
"editorResponses": {
"type": "array",
"maxItems": 40,
"items": {
"type": "object",
"properties": {
"notesArtifactId": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 200
},
"feedbackId": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 200
},
"response": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 5000
}
},
"required": [
"notesArtifactId",
"feedbackId",
"response"
],
"additionalProperties": false
}
},
"dependencySet": {
"type": "object",
"properties": {
"entries": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"items": {
"type": "object",
"properties": {
"artifactId": {
"type": "string",
"pattern": "\\S",
"minLength": 1,
"maxLength": 200
},
"artifactVersion": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"payloadDigest": {
"type": "string",
"pattern": "^sha256:[0-9a-f]{64}$"
}
},
"required": [
"artifactId",
"artifactVersion",
"payloadDigest"
],
"additionalProperties": false
}
}
},
"required": [
"entries"
],
"additionalProperties": false
}
},
"required": [
"title",
"authors",
"abstract",
"sections",
"bibliography",
"reviewResponses",
"editorResponses",
"dependencySet"
],
"additionalProperties": false,
"$schema": "https://json-schema.org/draft/2020-12/schema"
}
},
"authorization": {
"artifactId": "paper:floating-gummy-worm-recall",
"artifactVersion": 3,
"payloadDigest": "sha256:0061c55517e6eebee4869be89195b4b0d327940c1e7ee020d9633eb7fec120aa",
"profile": {
"profileId": "research-paper",
"revision": 1,
"digest": "sha256:0544153315de25681df647c9295d13e25d97332a5d5ad8d8192d6547b7df63bb"
},
"authorizedAt": "2026-10-09T14:00:00Z",
"authorizedBy": {
"actorId": "human:journal-publisher",
"actorKind": "human"
},
"authorizationSubjectDigest": "sha256:880ecdf8f4677905ce833515b360b3f4ce84b141ae61572b929c7dab606e0c4e",
"authoritySignature": {
"signerId": "human:journal-publisher",
"signature": "9P5r_4fKIZXOoOFRsbstSYvgTPwLHgnoMCaFy6m426kufbN3mXDiplesLdpPaJthMF-tjQ7S42iH6f1jADmnCw"
}
},
"approvals": [
{
"artifactId": "paper:floating-gummy-worm-recall",
"artifactVersion": 3,
"payloadDigest": "sha256:0061c55517e6eebee4869be89195b4b0d327940c1e7ee020d9633eb7fec120aa",
"profile": {
"profileId": "research-paper",
"revision": 1,
"digest": "sha256:0544153315de25681df647c9295d13e25d97332a5d5ad8d8192d6547b7df63bb"
},
"approvedAt": "2026-10-09T13:00:00Z",
"approvedBy": {
"actorId": "human:journal-editor",
"actorKind": "human"
},
"authorizationSubjectDigest": "sha256:880ecdf8f4677905ce833515b360b3f4ce84b141ae61572b929c7dab606e0c4e",
"authoritySignature": {
"signerId": "human:journal-editor",
"signature": "iKRXTJaqR_hLCXQcuoYu6WusMPtHdYbjikKYV_-Js85Snyni-pS8xdEfQYaHD3Uyte8DvIu16FV-_2iyDAsJBQ"
}
}
]
}

Publication here is crossing the demo's consumer boundary. The demo does not send a paper to an actual journal. Its proof establishes release decisions, not research correctness, an actual independent review, or downstream delivery.

Check sources​

After publication, a source check reports aligned references: the paper pins the corrected study, unchanged methods paper, released peer report, and editor notes. The check compares exact references with locally selected source releases and changes no record. Each dependency needs its own proof checked separately; verifying the paper does not verify its sources or grant access to them.

Read and verify​

Step 6: Read and verify

Readers obtain the exact records and configure trust separately. A reader keeps two trust stores, one per context: the journal store trusts the publisher to release papers, review reports, and editor notes, and the cited-works store trusts the cited-works editor to release sources. Each trusts exactly one release authority, so a paper released by the cited-works editor, or a source released by the publisher, fails verification. GAP's trust store maps a signer to actions, not to profiles, so per-context stores are how this demo keeps one authority from releasing the other's content. That is a local choice. verify_research_proof takes the store for the proof's context, recomputes digests, validates the supported pinned contract, and checks every carried decision's signature and subject. Its consumer modules read no workspace, permission table, or signing keys. Tests verify copied proof bytes after deleting the producing workspace.

The reader's journal trust storeJSON
{
"human:journal-editor": {
"publicKey": "C3889fxRbHg_KxCZpyzG_qHdYeyamQ6kgphbb8QvP6A",
"actions": [
"approve-release",
"reject-release"
]
},
"human:journal-owner": {
"publicKey": "eTbETk9e0vfwcIoymhMTCTZlua0b237BwQbstz4RumM",
"actions": [
"ratify-profile"
]
},
"human:journal-publisher": {
"publicKey": "NuLdL2g4Zfv7O2Uv3iyfUrmbAVzQjEc5P0EolCpj0ds",
"actions": [
"authorize-release",
"withdraw-release"
]
}
}
The reader's cited-works trust storeJSON
{
"human:cited-works-editor": {
"publicKey": "-JM-cd7in243KlDVylrhAripfvMO4NYh4GTpBjH1Wik",
"actions": [
"authorize-release"
]
},
"human:journal-owner": {
"publicKey": "eTbETk9e0vfwcIoymhMTCTZlua0b237BwQbstz4RumM",
"actions": [
"ratify-profile"
]
}
}

The checked-in public demonstration keys exercise signing mechanics. They do not establish who personally used a key. Key discovery, rotation, and revocation remain open questions.

Who does what?​

The source and paper authors are Authors, and so are the peer when saving a report and the editor when saving notes. The Authorities are the journal owner, who ratifies models; the cited-works editor, who releases sources; the editor, who approves or rejects manuscripts; and the publisher, who releases papers, review reports, and editor notes. The peer holds no authority. The application is the Implementation, and readers are Consumers.

Driving the specification​

This demo implements the working draft independently of the other domains. It exercises signed editorial decisions, multiple direct dependencies, and a report referencing an unpublished manuscript. Section anchors, review completion, bibliography mapping, and current selection are local choices. Portable evidence of what an editor reviewed, correction lineage, and distributed source resolution remain open questions.

Run the demo​

Set up the demo, then follow the research publishing walkthrough. The tool reference lists its actions and their declarations. To compare the workflow with your own application, use the evaluation guide.