{
  "schemaVersion": 1,
  "title": "SkillBenchLab editorial prototype — preserved verification receipt",
  "provenance": {
    "status": "Recorded browser evidence, curated for publication; not rerun",
    "recordedDate": "2026-09-07",
    "publicationDate": "2026-09-07",
    "recordSource": "discovery.json.visualRefinement.browserEvidence",
    "recordSourcePublished": false,
    "curation": "Explicit allowlist of recorded measurements, scenarios, fixes and limitations. Private discovery ledger is not included.",
    "browserVerificationRerunForThisReceipt": false,
    "recordedSurface": "Direct file URL in real headless Chromium, with pointer and keyboard input; no production test suite run for this standalone prototype.",
    "recordedAcceptanceStatus": "Interactive prototype verified; not production acceptance",
    "digestProvenance": "Attachment SHA256 values were computed from the preserved original source and screenshot bytes during packaging. These digests are not new browser evidence.",
    "pathConvention": "attachment paths are relative to this receipt; original paths identify repository source only, not private filesystem locations."
  },
  "attachments": {
    "entry": "demo/editorial-workbench.html",
    "comparison": "demo/essence-table.prototype.html",
    "download": "editorial-prototype.zip",
    "offlineUsage": "Extract the ZIP and open editorial-workbench.html in a modern browser. The comparison HTML, stylesheet and script remain adjacent. Core prototype and recorded replay are local; external upstream attribution links need a network connection if followed. Browser clipboard/download policies may differ.",
    "sources": [
      {
        "original": "prototypes/editorial-workbench.html",
        "attachment": "demo/editorial-workbench.html",
        "sha256": "640e6b7cfc642842f62de2dae754bf210638f0aa9b3ff159fbba1438f42a3cf7",
        "bytes": 8774,
        "copyPolicy": "Unmodified original bytes"
      },
      {
        "original": "prototypes/editorial-workbench.css",
        "attachment": "demo/editorial-workbench.css",
        "sha256": "12824d7cd85ef32166241a36dc02a40613a8ac4ce713c94626c318be725dc4a9",
        "bytes": 24130,
        "copyPolicy": "Unmodified original bytes"
      },
      {
        "original": "prototypes/editorial-workbench.js",
        "attachment": "demo/editorial-workbench.js",
        "sha256": "38d93bdd31223a2810beb78679284e2cec13e355b751e36c15d4b603aab7fd44",
        "bytes": 69482,
        "copyPolicy": "Unmodified original bytes"
      },
      {
        "original": "prototypes/essence-table.prototype.html",
        "attachment": "demo/essence-table.prototype.html",
        "sha256": "728afe7ca455ea90ce22f02858596ebae2d78e14aea2e44361aab03d4ff8dfd6",
        "bytes": 54264,
        "copyPolicy": "Unmodified original bytes"
      }
    ],
    "screenshots": [
      {
        "original": "prototypes/editorial-workbench-desktop.png",
        "attachment": "pitch/editorial-workbench-desktop.png",
        "sha256": "1cb51be42ab73cf0b50eabdabb4bd3bbecb5fa32b69bac36144e6a56a6ea4e6d",
        "bytes": 165801,
        "captureStatus": "Preserved original screenshot; not recaptured during publication"
      },
      {
        "original": "prototypes/editorial-workbench-mobile.png",
        "attachment": "pitch/editorial-workbench-mobile.png",
        "sha256": "324a5ecc6a40f2607805a01d00590c93ee30dc8e6364b75fdc98eda8e1c580a6",
        "bytes": 73012,
        "captureStatus": "Preserved original screenshot; not recaptured during publication"
      },
      {
        "original": "prototypes/editorial-workbench-review-mobile.png",
        "attachment": "pitch/editorial-workbench-review-mobile.png",
        "sha256": "c8a596f81f6125d25dad434e01f6dda78c21d6886c0ad8080671bbf93a39d279",
        "bytes": 82918,
        "captureStatus": "Preserved original screenshot; not recaptured during publication"
      },
      {
        "original": "prototypes/editorial-workbench-evidence.png",
        "attachment": "pitch/editorial-workbench-evidence.png",
        "sha256": "8219ccb916d5dadc9c63123262a11fdaaec5f781fdc0eb9310efb2894852c67e",
        "bytes": 157818,
        "captureStatus": "Preserved original screenshot; not recaptured during publication"
      }
    ],
    "upstreamLicense": {
      "attachment": "demo/upstream-license.txt",
      "archiveMember": "upstream-license.txt",
      "sourceUrl": "https://raw.githubusercontent.com/mattpocock/skills/3cca18b368ae95cdbdebbff572ccafa662551015/LICENSE",
      "commit": "3cca18b368ae95cdbdebbff572ccafa662551015",
      "license": "MIT",
      "copyright": "Copyright (c) 2026 Matt Pocock",
      "sha256": "0e7ac423bf2c6e223b7c5b156f8cf72da49d748e56a1641402c31f22ad07dbb5",
      "bytes": 1068,
      "attributionPolicy": "Existing source attribution preserved without edits; pinned upstream license additionally bundled."
    }
  },
  "recordedSourceSha256": {
    "html": "640e6b7cfc642842f62de2dae754bf210638f0aa9b3ff159fbba1438f42a3cf7",
    "css": "12824d7cd85ef32166241a36dc02a40613a8ac4ce713c94626c318be725dc4a9",
    "js": "38d93bdd31223a2810beb78679284e2cec13e355b751e36c15d4b603aab7fd44"
  },
  "recordedMeasurements": {
    "desktop": {
      "viewport": [
        1440,
        1000
      ],
      "originalFirstRowY": 419.796875,
      "editorialFirstRowY": 249.09375,
      "rows": 5,
      "pageHorizontalOverflow": false
    },
    "mobile": {
      "viewport": [
        390,
        844
      ],
      "originalFirstRowY": 713.59375,
      "editorialFirstRowY": 439.796875,
      "originalTableWidth": 928,
      "editorialTableWidth": 343,
      "pageHorizontalOverflow": false,
      "firstRowActionHeights": [
        44,
        44,
        44
      ]
    },
    "mobileReview": {
      "dialogScrollTopOnOpen": 0,
      "titleY": 29,
      "initialFocus": "dialog-close",
      "horizontalOverflow": false,
      "acceptanceInitiallyDisabled": true
    }
  },
  "recordedExercisedScenarios": [
    "Whitespace-only wording rejected while preserving the editor; Escape cancels; ordinary Enter preserves multiline input; Ctrl+Enter saves.",
    "Explicit acceptance pins wording and evidence; identical snapshot reacceptance is disabled; removing evidence permits acceptance with exactly unchanged wording.",
    "Restoring r1 as a working draft retains the later r6 accepted pin; export uses pinned r6 with two documents, not the restored pending wording.",
    "Search for overloaded finds E4; select-all scopes to the filtered row; selection survives clearing the search; selected unaccepted content is excluded unless the non-authoritative appendix is enabled.",
    "Split rejects empty and complete evidence subsets; valid split creates a proposed row and undo restores the originals. Fusion creates an unaccepted row, deduplicates document recurrence, and can be undone. Removal and undo restore the row.",
    "Undo refuses after an intervening saved edit without restoring the removed row or discarding the edit. A split dialog becomes disabled after incoming evidence changes its base and retains proposed wording.",
    "Replay pause does not advance after 1900ms; resume advances; cancellation retains proposals; restart deduplicates existing proposals.",
    "Completed replay yields six rows with descending document counts 4,3,3,2,2,1. E2 has four excerpts but only three logical documents. The mirror checkpoint does not increase recurrence.",
    "Pinned Markdown export remains byte-identical before and after replay. A stale open review disables acceptance and retains its note.",
    "Multiline typing and input focus survive all four replay checkpoints. Saving retains the newly arrived fourth source document.",
    "Actual downloaded SKILL.md is 4635 UTF-8 bytes and exactly matches the preview. Clipboard API reported successful copying; Select preview selected the entire Markdown. Clipboard contents were not independently read back.",
    "Mobile acceptance restores focus to the review opener; mobile editing fits the viewport; changing working context preserves the accepted snapshot's original context in export.",
    "Final fresh-page replay and review produced no pageerror events and no HTTP(S) requests. Reload restored the illustrative fixtures."
  ],
  "recordedObservedFixes": [
    "Strengthened enabled actions and decision metadata, shortened repeated count notes, tightened desktop rows, consolidated limitations, and corrected search-icon overlap after screenshot critique.",
    "Fixed delayed dialog-close focus restoration stealing new search input: the failing Reset then type overloaded sequence passed eight consecutive repetitions after repair.",
    "Fixed Review opening scrolled to the verdict instead of the wording comparison: mobile now opens at scrollTop 0 with its title visible and the top Close control focused."
  ],
  "recordedExportProof": {
    "filename": "SKILL.md",
    "encoding": "UTF-8",
    "downloadedBytes": 4635,
    "previewExactlyMatchedDownload": true,
    "status": "Actual browser download reported in preserved browser evidence; not regenerated during publication",
    "scope": "This byte count belongs to the exercised QA state, not every export or the fresh illustrative fixture.",
    "clipboard": "API reported success; clipboard contents were not independently read back.",
    "selection": "Select preview selected the entire Markdown.",
    "downloadedArtifactIncluded": false,
    "limitation": "The preserved ledger records the download result, but this bundle does not contain that disposable QA export or an independently recorded digest of it."
  },
  "sourceGroundedImplementation": [
    {
      "claim": "The entry uses adjacent CSS and JavaScript and links to the preserved original comparison prototype.",
      "references": [
        "demo/editorial-workbench.html:8-9",
        "demo/editorial-workbench.html:147-159"
      ]
    },
    {
      "claim": "Review rejects a stale saved base or identical pin, and explicit acceptance freezes wording, evidence, notes and context into the accepted snapshot.",
      "references": [
        "demo/editorial-workbench.js:167-176",
        "demo/editorial-workbench.js:581-608"
      ]
    },
    {
      "claim": "Review opens the dialog at scrollTop zero with its top Close control as initial focus.",
      "references": [
        "demo/editorial-workbench.js:531-542",
        "demo/editorial-workbench.js:608"
      ]
    },
    {
      "claim": "Export selects explicit rows or defaults to active accepted pins, keeps proposals separate, and includes the upstream license. Download uses the preview as a Markdown Blob.",
      "references": [
        "demo/editorial-workbench.js:819-852",
        "demo/editorial-workbench.js:889-899"
      ]
    },
    {
      "claim": "Recorded replay advances local timer checkpoints and supports pause, resume and cancel. This is not an OMP process.",
      "references": [
        "demo/editorial-workbench.js:989-1042",
        "demo/editorial-workbench.html:130-142"
      ]
    },
    {
      "claim": "The prototype labels itself memory-only, reset-on-reload, and without a real OMP connection.",
      "references": [
        "demo/editorial-workbench.html:152-159"
      ]
    }
  ],
  "limitations": [
    "All prototype edits, verdicts, accepted pins and replay checkpoints exist only in page memory. Browser QA acceptance is disposable test state, not this user's acceptance.",
    "The initial accepted r1 is an explicitly labeled illustrative fixture. Research is deterministic replay of recorded pinned excerpts, not live retrieval or OMP inference.",
    "Structural undo is one-level and intentionally refuses after intervening saved mutations; no production nested-undo parity is claimed.",
    "No installation, deployment, persistent backend, domain, port allocation, Nginx or systemd configuration was changed.",
    "This receipt preserves prior direct-file Chromium evidence; it is not evidence of the public wiki deployment, browser compatibility across engines, or a newly rerun interaction audit.",
    "The source bundle is self-contained for the local prototype and original comparison, not a production application or OMP extension.",
    "Recorded screenshot measurements describe the preserved captures and exercised scenarios, not an accessibility certification or exhaustive correctness proof."
  ],
  "productionBoundary": {
    "productionSourceChangedInPrototypeOrPitchRounds": false,
    "productionExtensionChangedInPrototypeOrPitchRounds": false,
    "prototypeIsProductionAcceptance": false,
    "browserToSameSessionOmpChainProven": false,
    "productionAudit": "The prior ten production audit findings remain unresolved by this prototype/pitch work, including the evidence-only acceptance guard. Prototype fixes do not imply production parity.",
    "recordedGate": "The preserved visual-round record says production acceptance remained blocked on loading the extension through the approved same-conversation restart. That gate was not retried or cleared by this packaging work.",
    "deploymentDistinction": "The recorded no-deployment limitation refers to the prototype verification round, not the separate public companion-wiki publication."
  }
}
