@@ -345,8 +351,8 @@ export default function EvidenceMediaPlayer({
{presentation.explanation}
)}
- {(evidenceHref ?? presentation.evidenceHref) && (
-
+ {overlayEvidenceHref && (
+
View execution evidence
)}
@@ -357,7 +363,7 @@ export default function EvidenceMediaPlayer({
diff --git a/cypress/e2e/basic.cy.js b/cypress/e2e/basic.cy.js
index bd9883c..353bc44 100644
--- a/cypress/e2e/basic.cy.js
+++ b/cypress/e2e/basic.cy.js
@@ -484,20 +484,22 @@ describe('public product truth', () => {
.within(() => {
cy.contains('Frappe Lending').should('be.visible')
cy.contains('button', 'Recorded demonstration').click()
- cy.get('img')
- .should('have.attr', 'alt')
+ cy.get('video')
+ .should('have.attr', 'aria-label')
.and('contain', 'recording a synthetic Loan Application')
- cy.contains('button', 'Compiled replay').click()
- cy.get('img')
- .should('have.attr', 'alt')
- .and('contain', 'replaying the compiled synthetic Loan Application')
- cy.contains('Compiled trials')
+ cy.contains('button', 'Verified replay').click()
+ cy.get('video')
+ .should('have.attr', 'aria-label')
+ .and('contain', 'Standard-profile synthetic Loan Application')
+ cy.get('[data-testid="reference-evidence-player"]')
+ .should('have.attr', 'data-target-tracking', 'exact-decoded-frame-bound')
+ cy.contains('Standard VERIFIED')
cy.contains('6/6')
- cy.contains('Evidence manifest')
+ cy.contains('Qualification pack')
.should('have.attr', 'href')
.and(
'equal',
- '/artifacts/json?source=%2Flending-demo%2Fprovenance.json'
+ '/artifacts/json?source=%2Freference%2Ffrappe-lending-loan-application-standard-synthetic-v1%2Fmanifest.json'
)
})
diff --git a/cypress/e2e/reference-demo.cy.js b/cypress/e2e/reference-demo.cy.js
index 76ed1b7..d0e0774 100644
--- a/cypress/e2e/reference-demo.cy.js
+++ b/cypress/e2e/reference-demo.cy.js
@@ -2,7 +2,7 @@ describe('shared real-application demo', () => {
const routes = [
['/', 'healthcare', 'exact-decoded-frame-bound'],
['/solutions/healthcare', 'healthcare', 'exact-decoded-frame-bound'],
- ['/solutions/lending', 'lending', 'omitted-without-exact-timeline'],
+ ['/solutions/lending', 'lending', 'exact-decoded-frame-bound'],
['/solutions/insurance', 'insurance', 'exact-decoded-frame-bound'],
['/how-it-works', 'healthcare', 'exact-decoded-frame-bound'],
['/dental', 'insurance', 'exact-decoded-frame-bound'],
@@ -43,8 +43,8 @@ describe('shared real-application demo', () => {
.scrollIntoView()
.should('be.visible')
.within(() => {
- cy.get('img').should(($image) => {
- expect($image[0].naturalWidth).to.be.greaterThan(0)
+ cy.get('video').should(($video) => {
+ expect($video[0].videoWidth).to.be.greaterThan(0)
})
cy.get('button[aria-label="Pause"], button[aria-label="Play"]')
.should('have.css', 'width', '44px')
@@ -56,6 +56,83 @@ describe('shared real-application demo', () => {
})
})
+ for (const [label, width, height] of [
+ ['desktop', 1280, 900],
+ ['mobile', 390, 844],
+ ]) {
+ it(`keeps exact Frappe target tracking clear of the ${label} status capsule`, () => {
+ cy.viewport(width, height)
+ cy.visit('/solutions/lending', {
+ onBeforeLoad(win) {
+ win.IntersectionObserver = class {
+ constructor(callback) {
+ this.callback = callback
+ }
+
+ observe() {
+ this.callback([{ isIntersecting: true }])
+ }
+
+ disconnect() {}
+ }
+ },
+ })
+ cy.get('[data-testid="reference-evidence-player"]')
+ .scrollIntoView()
+ .as('player')
+ cy.contains('a', 'Reference method').should(
+ 'have.attr',
+ 'href',
+ 'https://github.com/OpenAdaptAI/openadapt-flow/tree/ef33c2f4691040e39eb831f84658b941f715c290/benchmark/frappe_lending'
+ )
+ cy.get('@player')
+ .find('video')
+ .should(($video) => {
+ expect($video[0].videoWidth).to.be.greaterThan(0)
+ })
+ .then(($video) => {
+ const video = $video[0]
+ return new Cypress.Promise((resolve) => {
+ video.currentTime = 0.59
+ setTimeout(() => {
+ video.playbackRate = 0.25
+ video.play().then(resolve)
+ }, 100)
+ })
+ })
+ cy.get('@player')
+ .should('have.attr', 'data-decoded-frame-index', '1')
+ .then(($player) => $player.find('video')[0].pause())
+ .should('contain.text', 'View execution evidence')
+ .and('contain.text', 'Application network traffic observed')
+ .find('[data-decoded-frame-index="1"]')
+ .should('be.visible')
+ .then(($target) => {
+ cy.get('@player')
+ .find('[data-overlay-kind="canonical-runtime-state"]')
+ .should('be.visible')
+ .and(
+ 'have.attr',
+ 'aria-label',
+ 'OpenAdapt verified replay in Frappe Lending'
+ )
+ .then(($capsule) => {
+ const target = $target[0].getBoundingClientRect()
+ const capsule = $capsule[0].getBoundingClientRect()
+ const intersects = !(
+ target.right <= capsule.left ||
+ target.left >= capsule.right ||
+ target.bottom <= capsule.top ||
+ target.top >= capsule.bottom
+ )
+ expect(intersects).to.equal(false)
+ })
+ })
+ cy.contains('a', 'Qualification pack').should('be.visible')
+ cy.get('@player').screenshot(`frappe-exact-target-${label}`)
+ })
+ }
+
it('remounts exact media and supports keyboard-complete application tabs', () => {
cy.visit('/')
cy.get('[data-testid="reference-demo-showcase"]')
diff --git a/data/referenceDemos.js b/data/referenceDemos.js
index 399e2e0..a756b0d 100644
--- a/data/referenceDemos.js
+++ b/data/referenceDemos.js
@@ -29,6 +29,9 @@ const referenceDemo = ({ recording, replay, halt = null, ...demo }) =>
const openimisCatalog = presentationAssets.catalogs.find(
(candidate) => candidate.applicationId === 'insurance'
)
+const frappeCatalog = presentationAssets.catalogs.find(
+ (candidate) => candidate.applicationId === 'lending'
+)
const openimisManifestMode = (modeId, details) => {
const mode = openimisCatalog.manifest.modes.find(
@@ -122,52 +125,53 @@ export const REFERENCE_DEMOS = Object.freeze([
referenceDemo({
id: 'lending',
industry: 'Lending',
- application: 'Frappe Lending',
- applicationDetail: 'pinned local reference',
+ application: frappeCatalog.manifest.application.name,
+ applicationDetail: `${frappeCatalog.manifest.application.version} · pinned local synthetic fixture`,
route: '/solutions/lending',
- evidenceClass: 'Public application reference',
+ evidenceClass: 'Reference qualification',
task: 'Create exactly one synthetic Loan Application from structured applicant and loan inputs.',
recording: Object.freeze({
id: 'recording',
label: 'Recorded demonstration',
modeKind: 'recording',
evidenceClass: 'Source demonstration · synthetic data',
- kind: 'gif',
- src: '/lending-demo/record-frappe.gif',
- poster: '/lending-demo/record-frappe.jpg',
- width: 880,
- height: 550,
+ kind: 'video',
+ src: `${frappeCatalog.root}/${frappeCatalog.manifest.recording.media.path}`,
+ mimeType: 'video/mp4',
+ poster: `${frappeCatalog.root}/${frappeCatalog.manifest.recording.poster.path}`,
+ width: frappeCatalog.manifest.recording.media.width,
+ height: frappeCatalog.manifest.recording.media.height,
alt: 'OpenAdapt recording a synthetic Loan Application workflow in Frappe Lending.',
sourceCaption:
- 'Source-derived evidence sequence from the Frappe Lending reference run; not a literal continuous screen recording.',
+ 'Unbound source recording used to compile the Frappe Lending workflow. It carries no overlay or outcome claim.',
...exactPresentationFor('lending', 'recording'),
}),
replay: Object.freeze({
- id: 'compiled_replay',
- label: 'Compiled replay',
+ id: 'verified_replay',
+ label: 'Verified replay',
modeKind: 'replay',
- kind: 'gif',
- src: '/lending-demo/replay-frappe.gif',
- poster: '/lending-demo/replay-frappe.jpg',
- width: 880,
- height: 550,
- alt: 'OpenAdapt replaying the compiled synthetic Loan Application workflow in Frappe Lending.',
+ kind: 'video',
+ src: `${frappeCatalog.root}/${frappeCatalog.manifest.replay.media.path}`,
+ mimeType: 'video/mp4',
+ poster: `${frappeCatalog.root}/${frappeCatalog.manifest.replay.poster.path}`,
+ width: frappeCatalog.manifest.replay.media.width,
+ height: frappeCatalog.manifest.replay.media.height,
+ alt: 'OpenAdapt replaying a Standard-profile synthetic Loan Application workflow in Frappe Lending.',
sourceCaption:
- 'Source-derived evidence sequence from the Frappe Lending compiled replay; not literal continuous footage.',
- ...exactPresentationFor('lending', 'replay'),
+ 'Exact Standard-profile replay evidence media with presentation chrome omitted.',
+ ...exactPresentationFor('lending', 'verified_replay'),
}),
metrics: Object.freeze([
- Object.freeze({ label: 'Compiled trials', value: '6/6' }),
- Object.freeze({ label: 'Silent wrong success', value: '0' }),
+ Object.freeze({ label: 'Standard VERIFIED', value: '6/6' }),
+ Object.freeze({ label: 'REST + SQL parity', value: '6/6' }),
Object.freeze({ label: 'Model calls', value: '0' }),
]),
verification:
- 'A separately authenticated REST readback, direct SQL table delta, and non-target digest audit accepted the saved record.',
- evidenceHref: '/artifacts/json?source=%2Flending-demo%2Fprovenance.json',
- evidenceLabel: 'Evidence manifest',
- methodologyHref:
- 'https://github.com/OpenAdaptAI/openadapt-flow/tree/84c7a94f2d2ca9e183799394d1952ae32fa6bf92/benchmark/frappe_lending',
- methodologyLabel: 'Reference source',
+ 'All 6 fresh Standard-profile runs created exactly one synthetic Loan Application and returned VERIFIED only after separately authenticated REST readback agreed with direct SQL and the non-target-state audit. Five qualification fault cases returned HALTED before a consequential write; no exact HALT footage was retained.',
+ evidenceHref: '/artifacts/json?source=%2Freference%2Ffrappe-lending-loan-application-standard-synthetic-v1%2Fmanifest.json',
+ evidenceLabel: 'Qualification pack',
+ methodologyHref: `${frappeCatalog.manifest.provenance.runtime_repository}/tree/${frappeCatalog.manifest.provenance.runtime_source_commit}/benchmark/frappe_lending`,
+ methodologyLabel: 'Reference method',
}),
referenceDemo({
id: 'insurance',
diff --git a/data/referencePresentationAssets.mjs b/data/referencePresentationAssets.mjs
index 76d1f96..d0113ec 100644
--- a/data/referencePresentationAssets.mjs
+++ b/data/referencePresentationAssets.mjs
@@ -1,6 +1,10 @@
import openemrReplayBinding from '../public/reference/openemr-patient-registration-standard-synthetic-v1/replay/openemr-replay.media-binding.json' with { type: 'json' }
import openemrReplayContexts from '../public/reference/openemr-patient-registration-standard-synthetic-v1/replay/openemr-replay.contexts.json' with { type: 'json' }
import openemrReplayTimeline from '../public/reference/openemr-patient-registration-standard-synthetic-v1/replay/openemr-replay.control-overlay.v2.json' with { type: 'json' }
+import frappeManifest from '../public/reference/frappe-lending-loan-application-standard-synthetic-v1/manifest.json' with { type: 'json' }
+import frappeReplayBinding from '../public/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.media-binding.json' with { type: 'json' }
+import frappeReplayContexts from '../public/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.contexts.json' with { type: 'json' }
+import frappeReplayTimeline from '../public/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.control-overlay.v2.json' with { type: 'json' }
import openimisManifest from '../public/reference/openimis-eligibility-standard-synthetic-v1/manifest.json' with { type: 'json' }
import openimisHaltBinding from '../public/reference/openimis-eligibility-standard-synthetic-v1/fail-safe-halt/expired-halt.media-binding.json' with { type: 'json' }
import openimisHaltContexts from '../public/reference/openimis-eligibility-standard-synthetic-v1/fail-safe-halt/expired-halt.contexts.json' with { type: 'json' }
@@ -11,6 +15,8 @@ import openimisReplayTimeline from '../public/reference/openimis-eligibility-sta
const openemrRoot =
'/reference/openemr-patient-registration-standard-synthetic-v1'
+const frappeRoot =
+ '/reference/frappe-lending-loan-application-standard-synthetic-v1'
const openimisRoot = '/reference/openimis-eligibility-standard-synthetic-v1'
/**
@@ -21,6 +27,11 @@ const openimisRoot = '/reference/openimis-eligibility-standard-synthetic-v1'
const referencePresentationAssets = Object.freeze({
schemaVersion: 3,
catalogs: Object.freeze([
+ Object.freeze({
+ applicationId: 'lending',
+ root: frappeRoot,
+ manifest: frappeManifest,
+ }),
Object.freeze({
applicationId: 'insurance',
root: openimisRoot,
@@ -65,6 +76,40 @@ const referencePresentationAssets = Object.freeze({
contexts: `${openemrRoot}/replay/openemr-replay.contexts.json`,
}),
}),
+ Object.freeze({
+ applicationId: 'lending',
+ modeId: 'verified_replay',
+ modeKind: 'replay',
+ media: Object.freeze({
+ kind: 'video',
+ src: `${frappeRoot}/replay/frappe-replay.mp4`,
+ mimeType: 'video/mp4',
+ poster: `${frappeRoot}/replay/frappe-replay.poster.png`,
+ sha256: frappeReplayBinding.media_sha256,
+ width: frappeReplayBinding.decoded_width,
+ height: frappeReplayBinding.decoded_height,
+ alt: 'OpenAdapt replaying a Standard-profile synthetic Loan Application workflow in Frappe Lending.',
+ }),
+ timeline: frappeReplayTimeline,
+ binding: Object.freeze({
+ evidencePackId: frappeReplayTimeline.evidence_pack_id,
+ mediaSha256: frappeReplayBinding.media_sha256,
+ mediaFrameCount: frappeReplayBinding.decoded_frame_count,
+ mediaFramePresentationTimesUs:
+ frappeReplayBinding.presentation_times_us,
+ browserViewportIsExact: true,
+ }),
+ contexts: Object.freeze(frappeReplayContexts.contexts),
+ networkObservation: null,
+ pack: Object.freeze({
+ root: frappeRoot,
+ manifest: `${frappeRoot}/manifest.json`,
+ inventory: `${frappeRoot}/inventory.json`,
+ timeline: `${frappeRoot}/replay/frappe-replay.control-overlay.v2.json`,
+ binding: `${frappeRoot}/replay/frappe-replay.media-binding.json`,
+ contexts: `${frappeRoot}/replay/frappe-replay.contexts.json`,
+ }),
+ }),
Object.freeze({
applicationId: 'insurance',
modeId: 'verified_replay',
diff --git a/lib/executionOverlayTimeline.js b/lib/executionOverlayTimeline.js
index 9510cd4..1ca34eb 100644
--- a/lib/executionOverlayTimeline.js
+++ b/lib/executionOverlayTimeline.js
@@ -824,7 +824,7 @@ export function executionOverlayPresentation(
(networkObservation?.browser_network === 'observed' &&
networkObservation?.off_box_transmissions_observed === 0)
? 'Local app traffic only · no off-box transmission'
- : 'External network activity observed'
+ : 'Application network traffic observed'
: bound?.external_network_calls === 'unknown'
? 'External network activity unknown'
: null,
diff --git a/lib/publicJsonArtifacts.mjs b/lib/publicJsonArtifacts.mjs
index c1bca20..4eca10b 100644
--- a/lib/publicJsonArtifacts.mjs
+++ b/lib/publicJsonArtifacts.mjs
@@ -96,6 +96,60 @@ export const PUBLIC_JSON_ARTIFACTS = Object.freeze({
'Consumer-neutral, exact-event runtime, surface, verification-tier, model, network, and terminal effect facts for the qualified OpenEMR replay.',
sha256: '98c884953c4858e5451c0f686612657a1b4a9dc0941f335b6cd18b010329c39a',
}),
+ '/reference/frappe-lending-loan-application-standard-synthetic-v1/manifest.json': Object.freeze({
+ source: '/reference/frappe-lending-loan-application-standard-synthetic-v1/manifest.json',
+ fileName: 'manifest.json',
+ format: 'json',
+ title: 'Frappe Lending Standard qualification pack',
+ description:
+ 'Application boundary, six fresh VERIFIED outcomes, independent REST and SQL verification, five fault-case refusals, and exact media provenance.',
+ sha256: '66d18daded5405e4e7b2ffd724f1c5615272518f606f4493f1dee46ccbefeca2',
+ }),
+ '/reference/frappe-lending-loan-application-standard-synthetic-v1/inventory.json': Object.freeze({
+ source: '/reference/frappe-lending-loan-application-standard-synthetic-v1/inventory.json',
+ fileName: 'inventory.json',
+ format: 'json',
+ title: 'Frappe Lending qualification pack inventory',
+ description:
+ 'Content hashes and byte counts for every retained public pack file.',
+ sha256: '574eacdb1ce567f02b216db6bf865b1d4f6917589061f8496b8bcf212fa12ae0',
+ }),
+ '/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.control-overlay.v2.json': Object.freeze({
+ source: '/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.control-overlay.v2.json',
+ fileName: 'frappe-replay.control-overlay.v2.json',
+ format: 'json',
+ title: 'Frappe Lending exact runtime timeline',
+ description:
+ 'Presentation-safe runtime states and exact media-frame target bindings retained during the qualified replay.',
+ sha256: 'a26da6c18fb4047856e84ca572243d67e932b267b4d6983b6325808695591bf0',
+ }),
+ '/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.media-binding.json': Object.freeze({
+ source: '/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.media-binding.json',
+ fileName: 'frappe-replay.media-binding.json',
+ format: 'json',
+ title: 'Frappe Lending decoded-frame binding',
+ description:
+ 'Media digest, dimensions, frame count, and complete decoded presentation-time inventory for the qualified replay.',
+ sha256: '4f3148f1ae014dba6ea6af51abaafb3a8438a95f7bd5dbc79415040cfbb5d71e',
+ }),
+ '/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.contexts.json': Object.freeze({
+ source: '/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.contexts.json',
+ fileName: 'frappe-replay.contexts.json',
+ format: 'json',
+ title: 'Frappe Lending presentation contexts',
+ description:
+ 'Exact-event runtime, verification-tier, model, network, and terminal effect facts for the qualified replay.',
+ sha256: 'c0f2e887d77db347aaaca83ad7f359f028ace83a340118ca9d7bc1ececf755e9',
+ }),
+ '/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.frame-pts-us.json': Object.freeze({
+ source: '/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.frame-pts-us.json',
+ fileName: 'frappe-replay.frame-pts-us.json',
+ format: 'json',
+ title: 'Frappe Lending frame timestamps',
+ description:
+ 'Complete decoded presentation timestamps for the exact VERIFIED replay media.',
+ sha256: '6c41b1f2fcbad3cb7986334fb559b1a969cf68e678dd5437e77c2e91bd65edb1',
+ }),
'/reference/openimis-eligibility-standard-synthetic-v1/manifest.json': Object.freeze({
source: '/reference/openimis-eligibility-standard-synthetic-v1/manifest.json',
fileName: 'manifest.json',
diff --git a/public/reference/frappe-lending-loan-application-standard-synthetic-v1/inventory.json b/public/reference/frappe-lending-loan-application-standard-synthetic-v1/inventory.json
new file mode 100644
index 0000000..2a09039
--- /dev/null
+++ b/public/reference/frappe-lending-loan-application-standard-synthetic-v1/inventory.json
@@ -0,0 +1,60 @@
+{
+ "files": [
+ {
+ "bytes": 10260,
+ "path": "manifest.json",
+ "sha256": "66d18daded5405e4e7b2ffd724f1c5615272518f606f4493f1dee46ccbefeca2"
+ },
+ {
+ "bytes": 194461,
+ "height": 800,
+ "path": "recording/frappe-source-recording.poster.png",
+ "sha256": "a462b84a1aee106b3a9928c98a3960f40e4dcdffa40a475fc1bce25d188f4544",
+ "width": 1280
+ },
+ {
+ "bytes": 554703,
+ "codec": "h264",
+ "height": 800,
+ "path": "recording/frappe-source-recording.unbound.mp4",
+ "sha256": "98f78c38134c460738c6eee37eb8b7cdcbcec6a6ebad49ace51ccb00a4b94900",
+ "width": 1280
+ },
+ {
+ "bytes": 14624,
+ "path": "replay/frappe-replay.contexts.json",
+ "sha256": "c0f2e887d77db347aaaca83ad7f359f028ace83a340118ca9d7bc1ececf755e9"
+ },
+ {
+ "bytes": 45413,
+ "path": "replay/frappe-replay.control-overlay.v2.json",
+ "sha256": "a26da6c18fb4047856e84ca572243d67e932b267b4d6983b6325808695591bf0"
+ },
+ {
+ "bytes": 867,
+ "path": "replay/frappe-replay.frame-pts-us.json",
+ "sha256": "6c41b1f2fcbad3cb7986334fb559b1a969cf68e678dd5437e77c2e91bd65edb1"
+ },
+ {
+ "bytes": 1276,
+ "path": "replay/frappe-replay.media-binding.json",
+ "sha256": "4f3148f1ae014dba6ea6af51abaafb3a8438a95f7bd5dbc79415040cfbb5d71e"
+ },
+ {
+ "bytes": 137925,
+ "codec": "h264",
+ "height": 800,
+ "path": "replay/frappe-replay.mp4",
+ "sha256": "519a6f572ce6ebcd2ad40dd2b587842cbfc5d02cf26b776b9d6a5dd9090dce76",
+ "width": 1280
+ },
+ {
+ "bytes": 123507,
+ "height": 800,
+ "path": "replay/frappe-replay.poster.png",
+ "sha256": "f0431dd2ded209992fa6e51d22515c8f60696591c45ab096bc43c5216a55c8e1",
+ "width": 1280
+ }
+ ],
+ "schema_version": "openadapt.public-pack-inventory/v1"
+}
diff --git a/public/reference/frappe-lending-loan-application-standard-synthetic-v1/manifest.json b/public/reference/frappe-lending-loan-application-standard-synthetic-v1/manifest.json
new file mode 100644
index 0000000..84dea24
--- /dev/null
+++ b/public/reference/frappe-lending-loan-application-standard-synthetic-v1/manifest.json
@@ -0,0 +1,313 @@
+{
+ "application": {
+ "environment": "local pinned synthetic reference fixture",
+ "erpnext_version": "v16.27.0",
+ "frappe_version": "v16.27.0",
+ "name": "Frappe Lending",
+ "source_commits": {
+ "erpnext": "9d5c7605b8eae7fb5aaf9efd00a778adae2daeb1",
+ "frappe": "73decbb00106a12c4e854c98dce8c0e3f42f514e",
+ "frappe_docker": "c004361e790125ed13aaa933d11f7838711a8960",
+ "lending": "caed066b6636075634418f4f0382798b60c0e188"
+ },
+ "surface": "browser",
+ "version": "v16.2.0"
+ },
+ "data_classification": "synthetic",
+ "generated_at": "2026-07-26T11:57:01.329846+00:00",
+ "generator_platform": "macOS-15.7.3-arm64-arm-64bit",
+ "methodology_links": [
+ "https://github.com/OpenAdaptAI/openadapt-flow/tree/main/benchmark/frappe_lending",
+ "https://docs.openadapt.ai/concepts/effect-verification/",
+ "https://docs.openadapt.ai/concepts/execution-profiles/"
+ ],
+ "metrics": {
+ "fresh_trials": 6,
+ "halted_trials": 0,
+ "independent_rest_sql_parity_trials": 6,
+ "model_calls": 0,
+ "observed_silent_incorrect_success": 0,
+ "verified_trials": 6
+ },
+ "pack_id": "frappe-lending-loan-application-standard-synthetic-v1",
+ "phase": "qualified_compiled_replay",
+ "provenance": {
+ "execution_boundary": "local browser plus independent authenticated REST and direct SQL readback",
+ "exporter": "scripts/export_frappe_lending_evidence.py",
+ "fixture": "pinned Frappe/Lending stack with synthetic data only",
+ "fixture_distribution": "repository-only; no upstream copyleft fixture files are included in this pack or package artifacts",
+ "openadapt_flow_version": "1.23.0",
+ "presentation_note": "Overlay is post-composed from exact runtime-retained observations; runtime evidence media remains unmodified.",
+ "runtime_repository": "https://github.com/OpenAdaptAI/openadapt-flow",
+ "runtime_source_commit": "ef33c2f4691040e39eb831f84658b941f715c290",
+ "runtime_source_tree_clean": true
+ },
+ "qualification": {
+ "action_count": 16,
+ "consequential_action_count": 1,
+ "effect_covered_action_count": 1,
+ "environment_digest": "b6b176fe700e173bb95ecc92e6b975fe3ce99ca3fbf8850b6a523555bbddf823",
+ "fault_cases": [
+ "ambiguity",
+ "wrong_identity",
+ "stale_identity",
+ "weak_effect",
+ "missing_effect"
+ ],
+ "fault_results": [
+ {
+ "case_id": "ambiguity",
+ "consequential_actuation_attempted": false,
+ "non_target_state_unchanged": true,
+ "oracle_sha256": "80fa3ab9286218577c99c9f6313a5737ac6360d3de5759e92557ab46de1b20b8",
+ "outcome": "HALTED",
+ "report_sha256": "1943629fa87df1c54a04a8090533e7896a073e7c2925eb82b373155889796a84",
+ "rest_record_count": 0,
+ "sql_record_count": 0
+ },
+ {
+ "case_id": "wrong_identity",
+ "consequential_actuation_attempted": false,
+ "non_target_state_unchanged": true,
+ "oracle_sha256": "2e9ddbeef2d8d77823bcd8a3b9048863437f185df2aaad94db64cd957d7667b6",
+ "outcome": "HALTED",
+ "report_sha256": "2f3de47f751228a7e02a7c3f5705f30d13b2f727428891fdf68f7829d1c76ba3",
+ "rest_record_count": 0,
+ "sql_record_count": 0
+ },
+ {
+ "case_id": "stale_identity",
+ "consequential_actuation_attempted": false,
+ "non_target_state_unchanged": true,
+ "oracle_sha256": "406a0a711399f38e971511c214800a48f36873af03e8790bea3b71230879de65",
+ "outcome": "HALTED",
+ "report_sha256": "c276833a4d132d277a1384f8026fd75f2fa1d30c622672c816501f8d5a5bbb31",
+ "rest_record_count": 0,
+ "sql_record_count": 0
+ },
+ {
+ "admission_refusal": true,
+ "case_id": "weak_effect",
+ "consequential_actuation_attempted": false,
+ "outcome": "HALTED",
+ "refusal_sha256": "b436f139732fdf2d028d3651651571eabcb04fe1111186d68daeb2da3316d347"
+ },
+ {
+ "admission_refusal": true,
+ "case_id": "missing_effect",
+ "consequential_actuation_attempted": false,
+ "outcome": "HALTED",
+ "refusal_sha256": "ba8385e9648be034bee343d4950892cc62e533e94696e9ae05ed42696029844e"
+ }
+ ],
+ "identity_covered_action_count": 1,
+ "minimum_effect_tier": 1,
+ "passed": true,
+ "report_sha256": "51c16142167cbd5fd642359af0f6b957350094c58fd5a8c2e244fd73d7661fa8",
+ "required_conditions": [
+ "baseline",
+ "ui_cosmetic_v1"
+ ],
+ "trials_per_condition": 3
+ },
+ "recording": {
+ "bundle_source_recording_sha256": "5da07449f3d95f1030b65085c154eab84a4a236398a7223d96cde7c6fc95c682",
+ "media": {
+ "bytes": 554703,
+ "codec": "h264",
+ "height": 800,
+ "path": "recording/frappe-source-recording.unbound.mp4",
+ "sha256": "98f78c38134c460738c6eee37eb8b7cdcbcec6a6ebad49ace51ccb00a4b94900",
+ "width": 1280
+ },
+ "outcome_claim": null,
+ "overlay_timeline": null,
+ "poster": {
+ "bytes": 194461,
+ "height": 800,
+ "path": "recording/frappe-source-recording.poster.png",
+ "sha256": "a462b84a1aee106b3a9928c98a3960f40e4dcdffa40a475fc1bce25d188f4544",
+ "width": 1280
+ },
+ "relationship": "unbound source recording for the compiled workflow"
+ },
+ "replay": {
+ "binding": {
+ "bytes": 1276,
+ "path": "replay/frappe-replay.media-binding.json",
+ "sha256": "4f3148f1ae014dba6ea6af51abaafb3a8438a95f7bd5dbc79415040cfbb5d71e"
+ },
+ "contexts": {
+ "bytes": 14624,
+ "path": "replay/frappe-replay.contexts.json",
+ "sha256": "c0f2e887d77db347aaaca83ad7f359f028ace83a340118ca9d7bc1ececf755e9"
+ },
+ "declared_format_duration_us": 18675000,
+ "declared_stream_duration_us": 18675000,
+ "decoded_frame_count": 50,
+ "effect_verification": "authenticated read-only REST plus direct SQL and non-target delta audit",
+ "evidence_class": "reference_qualification",
+ "execution_profile": "standard",
+ "frame_inventory": {
+ "bytes": 867,
+ "path": "replay/frappe-replay.frame-pts-us.json",
+ "sha256": "6c41b1f2fcbad3cb7986334fb559b1a969cf68e678dd5437e77c2e91bd65edb1"
+ },
+ "media": {
+ "bytes": 137925,
+ "codec": "h264",
+ "height": 800,
+ "path": "replay/frappe-replay.mp4",
+ "sha256": "519a6f572ce6ebcd2ad40dd2b587842cbfc5d02cf26b776b9d6a5dd9090dce76",
+ "width": 1280
+ },
+ "minimum_effect_tier": 1,
+ "outcome": "VERIFIED",
+ "poster": {
+ "bytes": 123507,
+ "height": 800,
+ "path": "replay/frappe-replay.poster.png",
+ "sha256": "f0431dd2ded209992fa6e51d22515c8f60696591c45ab096bc43c5216a55c8e1",
+ "width": 1280
+ },
+ "presentation_times_us": [
+ 0,
+ 596000,
+ 956000,
+ 1040000,
+ 1226000,
+ 1687000,
+ 1719000,
+ 2020000,
+ 2244000,
+ 2294000,
+ 2423000,
+ 2812000,
+ 2843000,
+ 2980000,
+ 3168000,
+ 3219000,
+ 3355000,
+ 5629000,
+ 5659000,
+ 5967000,
+ 6346000,
+ 7102000,
+ 7231000,
+ 7654000,
+ 7687000,
+ 7812000,
+ 8012000,
+ 8660000,
+ 8979000,
+ 9227000,
+ 9270000,
+ 9403000,
+ 9794000,
+ 9819000,
+ 9946000,
+ 13588000,
+ 13620000,
+ 13944000,
+ 14206000,
+ 14249000,
+ 14380000,
+ 14770000,
+ 14802000,
+ 14930000,
+ 15118000,
+ 15161000,
+ 15497000,
+ 15931000,
+ 16924000,
+ 18674000
+ ],
+ "relationship": "exact runtime-observation presentation derivative",
+ "timeline": {
+ "bytes": 45413,
+ "path": "replay/frappe-replay.control-overlay.v2.json",
+ "sha256": "a26da6c18fb4047856e84ca572243d67e932b267b4d6983b6325808695591bf0"
+ }
+ },
+ "schema_version": "openadapt.public-cross-surface-presentation/v1",
+ "trials": [
+ {
+ "condition": "baseline",
+ "execution_outcome": "VERIFIED",
+ "execution_profile": "standard",
+ "heal_count": 0,
+ "model_calls": 0,
+ "non_target_state_unchanged": true,
+ "report_sha256": "8a44d0ae332c693dcc8a34fab36ab5217b719a9c7f344ef062c52ecbf0642fc1",
+ "rest_record_count": 1,
+ "runtime_ms": 16973.589374916628,
+ "sql_record_count": 1,
+ "trial": 1
+ },
+ {
+ "condition": "baseline",
+ "execution_outcome": "VERIFIED",
+ "execution_profile": "standard",
+ "heal_count": 0,
+ "model_calls": 0,
+ "non_target_state_unchanged": true,
+ "report_sha256": "32aae545fa46d7b06f8973120de3fa56d00b7126f8cf3f4673f20da92b6d4e28",
+ "rest_record_count": 1,
+ "runtime_ms": 17179.979958105832,
+ "sql_record_count": 1,
+ "trial": 2
+ },
+ {
+ "condition": "baseline",
+ "execution_outcome": "VERIFIED",
+ "execution_profile": "standard",
+ "heal_count": 0,
+ "model_calls": 0,
+ "non_target_state_unchanged": true,
+ "report_sha256": "cb3770949297cb2754aa45fadd2a4f38790cfa6bfe4cbe6e925ca6c336b53d82",
+ "rest_record_count": 1,
+ "runtime_ms": 16034.39633292146,
+ "sql_record_count": 1,
+ "trial": 3
+ },
+ {
+ "condition": "ui_cosmetic_v1",
+ "execution_outcome": "VERIFIED",
+ "execution_profile": "standard",
+ "heal_count": 0,
+ "model_calls": 0,
+ "non_target_state_unchanged": true,
+ "report_sha256": "b4779429ae53abb0f0c41f34084041bbaaccbcaa1bc4f874ac073239fe8023cc",
+ "rest_record_count": 1,
+ "runtime_ms": 16366.366291884333,
+ "sql_record_count": 1,
+ "trial": 1
+ },
+ {
+ "condition": "ui_cosmetic_v1",
+ "execution_outcome": "VERIFIED",
+ "execution_profile": "standard",
+ "heal_count": 0,
+ "model_calls": 0,
+ "non_target_state_unchanged": true,
+ "report_sha256": "c672c63a0b2bf1f8bbe6689e27f44c55856ce6a00864deb7d2449da49f18d488",
+ "rest_record_count": 1,
+ "runtime_ms": 15702.53520901315,
+ "sql_record_count": 1,
+ "trial": 2
+ },
+ {
+ "condition": "ui_cosmetic_v1",
+ "execution_outcome": "VERIFIED",
+ "execution_profile": "standard",
+ "heal_count": 0,
+ "model_calls": 0,
+ "non_target_state_unchanged": true,
+ "report_sha256": "3d5d172af54116936314c09f717798e2011ab6db5994bf29dfc860cf25c7772b",
+ "rest_record_count": 1,
+ "runtime_ms": 15833.21104105562,
+ "sql_record_count": 1,
+ "trial": 3
+ }
+ ]
+}
diff --git a/public/reference/frappe-lending-loan-application-standard-synthetic-v1/recording/frappe-source-recording.poster.png b/public/reference/frappe-lending-loan-application-standard-synthetic-v1/recording/frappe-source-recording.poster.png
new file mode 100644
index 0000000..cd566bc
Binary files /dev/null and b/public/reference/frappe-lending-loan-application-standard-synthetic-v1/recording/frappe-source-recording.poster.png differ
diff --git a/public/reference/frappe-lending-loan-application-standard-synthetic-v1/recording/frappe-source-recording.unbound.mp4 b/public/reference/frappe-lending-loan-application-standard-synthetic-v1/recording/frappe-source-recording.unbound.mp4
new file mode 100644
index 0000000..cc44ccd
Binary files /dev/null and b/public/reference/frappe-lending-loan-application-standard-synthetic-v1/recording/frappe-source-recording.unbound.mp4 differ
diff --git a/public/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.contexts.json b/public/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.contexts.json
new file mode 100644
index 0000000..b8dfda1
--- /dev/null
+++ b/public/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.contexts.json
@@ -0,0 +1,448 @@
+{
+ "contexts": [
+ {
+ "event_sequence": 0,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:observing:governed:standard:1:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 1,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:executing:governed:standard:1:16:no-pause:no-resume:no-stop:target-6b6a13aadad24d12",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 2,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:verifying:governed:standard:1:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 3,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:observing:governed:standard:2:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 4,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:executing:governed:standard:2:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 5,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:verifying:governed:standard:2:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 6,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:observing:governed:standard:3:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 7,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:executing:governed:standard:3:16:no-pause:no-resume:no-stop:target-9d2fafd2b71ee63c",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 8,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:verifying:governed:standard:3:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 9,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:observing:governed:standard:4:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 10,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:executing:governed:standard:4:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 11,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:verifying:governed:standard:4:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 12,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:observing:governed:standard:5:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 13,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:executing:governed:standard:5:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 14,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:verifying:governed:standard:5:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 15,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:observing:governed:standard:6:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 16,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:executing:governed:standard:6:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 17,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:verifying:governed:standard:6:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 18,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:observing:governed:standard:7:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 19,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:executing:governed:standard:7:16:no-pause:no-resume:no-stop:target-1f19bf114b089697",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 20,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:verifying:governed:standard:7:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 21,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:observing:governed:standard:8:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 22,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:executing:governed:standard:8:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 23,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:verifying:governed:standard:8:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 24,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:observing:governed:standard:9:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 25,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:executing:governed:standard:9:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 26,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:verifying:governed:standard:9:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 27,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:observing:governed:standard:10:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 28,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:executing:governed:standard:10:16:no-pause:no-resume:no-stop:target-f0e067e8e67e3b16",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 29,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:verifying:governed:standard:10:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 30,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:observing:governed:standard:11:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 31,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:executing:governed:standard:11:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 32,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:verifying:governed:standard:11:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 33,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:observing:governed:standard:12:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 34,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:executing:governed:standard:12:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 35,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:verifying:governed:standard:12:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 36,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:observing:governed:standard:13:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 37,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:executing:governed:standard:13:16:no-pause:no-resume:no-stop:target-692c8f6cb05ecbe0",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 38,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:verifying:governed:standard:13:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 39,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:observing:governed:standard:14:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 40,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:executing:governed:standard:14:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 41,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:verifying:governed:standard:14:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 42,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:observing:governed:standard:15:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 43,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:executing:governed:standard:15:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 44,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:verifying:governed:standard:15:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 45,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:observing:governed:standard:16:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 46,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:executing:governed:standard:16:16:no-pause:no-resume:no-stop:target-b7ee5d0929285aca",
+ "surface": "browser"
+ },
+ {
+ "event_sequence": 47,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:verifying:governed:standard:16:16:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ },
+ {
+ "effect_evidence": "passed",
+ "event_sequence": 48,
+ "external_network_calls": "observed",
+ "minimum_effect_tier": 1,
+ "model_calls": 0,
+ "runtime": "local",
+ "state_id": "visible:verified:governed:standard:no-step:no-total:no-pause:no-resume:no-stop:no-target",
+ "surface": "browser"
+ }
+ ],
+ "data_classification": "synthetic",
+ "schema_version": "openadapt.public-presentation-contexts/v2"
+}
diff --git a/public/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.control-overlay.v2.json b/public/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.control-overlay.v2.json
new file mode 100644
index 0000000..9c7f5fd
--- /dev/null
+++ b/public/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.control-overlay.v2.json
@@ -0,0 +1,1496 @@
+{
+ "data_classification": "synthetic",
+ "duration_ms": 18675,
+ "events": [
+ {
+ "at_ms": 0,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 0,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295400374.512833,
+ "observed_at_unix_ms": 1785066188267,
+ "phase": "observing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:observing:governed:standard:1:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Observing the application",
+ "step": {
+ "current": 1,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 0
+ },
+ {
+ "at_ms": 596,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 1,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295400970.340166,
+ "observed_at_unix_ms": 1785066188862,
+ "phase": "executing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:executing:governed:standard:1:16:no-pause:no-resume:no-stop:target-6b6a13aadad24d12",
+ "status": "Executing with verification gates",
+ "step": {
+ "current": 1,
+ "total": 16
+ },
+ "target_tracking": {
+ "action_kind": "click",
+ "binding": {
+ "frame_index": 1,
+ "kind": "media_frame",
+ "media_sha256": "519a6f572ce6ebcd2ad40dd2b587842cbfc5d02cf26b776b9d6a5dd9090dce76"
+ },
+ "coordinate_space": "top_level_viewport_normalized",
+ "rect": {
+ "height": 0.035,
+ "width": 0.328125,
+ "x": 0.24609375,
+ "y": 0.2325
+ },
+ "source_viewport": {
+ "device_pixel_ratio": 1.0,
+ "height_css_px": 800,
+ "width_css_px": 1280
+ }
+ },
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 1
+ },
+ {
+ "at_ms": 956,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 2,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295401330.878541,
+ "observed_at_unix_ms": 1785066189223,
+ "phase": "verifying",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:verifying:governed:standard:1:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Verifying the intended result",
+ "step": {
+ "current": 1,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 2
+ },
+ {
+ "at_ms": 1040,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 3,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295401414.966958,
+ "observed_at_unix_ms": 1785066189307,
+ "phase": "observing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:observing:governed:standard:2:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Observing the application",
+ "step": {
+ "current": 2,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 3
+ },
+ {
+ "at_ms": 1226,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 4,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295401600.506041,
+ "observed_at_unix_ms": 1785066189493,
+ "phase": "executing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:executing:governed:standard:2:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Executing with verification gates",
+ "step": {
+ "current": 2,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 4
+ },
+ {
+ "at_ms": 1687,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 5,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295402061.261916,
+ "observed_at_unix_ms": 1785066189953,
+ "phase": "verifying",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:verifying:governed:standard:2:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Verifying the intended result",
+ "step": {
+ "current": 2,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 5
+ },
+ {
+ "at_ms": 1719,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 6,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295402093.323291,
+ "observed_at_unix_ms": 1785066189985,
+ "phase": "observing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:observing:governed:standard:3:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Observing the application",
+ "step": {
+ "current": 3,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 6
+ },
+ {
+ "at_ms": 2020,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 7,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295402394.06975,
+ "observed_at_unix_ms": 1785066190286,
+ "phase": "executing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:executing:governed:standard:3:16:no-pause:no-resume:no-stop:target-9d2fafd2b71ee63c",
+ "status": "Executing with verification gates",
+ "step": {
+ "current": 3,
+ "total": 16
+ },
+ "target_tracking": {
+ "action_kind": "click",
+ "binding": {
+ "frame_index": 7,
+ "kind": "media_frame",
+ "media_sha256": "519a6f572ce6ebcd2ad40dd2b587842cbfc5d02cf26b776b9d6a5dd9090dce76"
+ },
+ "coordinate_space": "top_level_viewport_normalized",
+ "rect": {
+ "height": 0.035,
+ "width": 0.328125,
+ "x": 0.59765625,
+ "y": 0.2325
+ },
+ "source_viewport": {
+ "device_pixel_ratio": 1.0,
+ "height_css_px": 800,
+ "width_css_px": 1280
+ }
+ },
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 7
+ },
+ {
+ "at_ms": 2244,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 8,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295402618.901041,
+ "observed_at_unix_ms": 1785066190511,
+ "phase": "verifying",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:verifying:governed:standard:3:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Verifying the intended result",
+ "step": {
+ "current": 3,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 8
+ },
+ {
+ "at_ms": 2294,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 9,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295402668.327458,
+ "observed_at_unix_ms": 1785066190560,
+ "phase": "observing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:observing:governed:standard:4:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Observing the application",
+ "step": {
+ "current": 4,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 9
+ },
+ {
+ "at_ms": 2423,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 10,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295402797.3285,
+ "observed_at_unix_ms": 1785066190689,
+ "phase": "executing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:executing:governed:standard:4:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Executing with verification gates",
+ "step": {
+ "current": 4,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 10
+ },
+ {
+ "at_ms": 2812,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 11,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295403186.523958,
+ "observed_at_unix_ms": 1785066191079,
+ "phase": "verifying",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:verifying:governed:standard:4:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Verifying the intended result",
+ "step": {
+ "current": 4,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 11
+ },
+ {
+ "at_ms": 2843,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 12,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295403217.482458,
+ "observed_at_unix_ms": 1785066191109,
+ "phase": "observing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:observing:governed:standard:5:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Observing the application",
+ "step": {
+ "current": 5,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 12
+ },
+ {
+ "at_ms": 2980,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 13,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295403354.329875,
+ "observed_at_unix_ms": 1785066191246,
+ "phase": "executing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:executing:governed:standard:5:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Executing with verification gates",
+ "step": {
+ "current": 5,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 13
+ },
+ {
+ "at_ms": 3168,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 14,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295403542.157583,
+ "observed_at_unix_ms": 1785066191434,
+ "phase": "verifying",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:verifying:governed:standard:5:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Verifying the intended result",
+ "step": {
+ "current": 5,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 14
+ },
+ {
+ "at_ms": 3219,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 15,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295403593.760291,
+ "observed_at_unix_ms": 1785066191486,
+ "phase": "observing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:observing:governed:standard:6:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Observing the application",
+ "step": {
+ "current": 6,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 15
+ },
+ {
+ "at_ms": 3355,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 16,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295403729.38125,
+ "observed_at_unix_ms": 1785066191621,
+ "phase": "executing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:executing:governed:standard:6:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Executing with verification gates",
+ "step": {
+ "current": 6,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 16
+ },
+ {
+ "at_ms": 5629,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 17,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295406003.482,
+ "observed_at_unix_ms": 1785066193895,
+ "phase": "verifying",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:verifying:governed:standard:6:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Verifying the intended result",
+ "step": {
+ "current": 6,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 17
+ },
+ {
+ "at_ms": 5659,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 18,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295406033.838,
+ "observed_at_unix_ms": 1785066193926,
+ "phase": "observing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:observing:governed:standard:7:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Observing the application",
+ "step": {
+ "current": 7,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 18
+ },
+ {
+ "at_ms": 5967,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 19,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295406341.194208,
+ "observed_at_unix_ms": 1785066194233,
+ "phase": "executing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:executing:governed:standard:7:16:no-pause:no-resume:no-stop:target-1f19bf114b089697",
+ "status": "Executing with verification gates",
+ "step": {
+ "current": 7,
+ "total": 16
+ },
+ "target_tracking": {
+ "action_kind": "click",
+ "binding": {
+ "frame_index": 19,
+ "kind": "media_frame",
+ "media_sha256": "519a6f572ce6ebcd2ad40dd2b587842cbfc5d02cf26b776b9d6a5dd9090dce76"
+ },
+ "coordinate_space": "top_level_viewport_normalized",
+ "rect": {
+ "height": 0.035,
+ "width": 0.328125,
+ "x": 0.24609375,
+ "y": 0.855
+ },
+ "source_viewport": {
+ "device_pixel_ratio": 1.0,
+ "height_css_px": 800,
+ "width_css_px": 1280
+ }
+ },
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 19
+ },
+ {
+ "at_ms": 6346,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 20,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295406720.191,
+ "observed_at_unix_ms": 1785066194612,
+ "phase": "verifying",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:verifying:governed:standard:7:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Verifying the intended result",
+ "step": {
+ "current": 7,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 20
+ },
+ {
+ "at_ms": 7102,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 21,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295407476.388375,
+ "observed_at_unix_ms": 1785066195368,
+ "phase": "observing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:observing:governed:standard:8:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Observing the application",
+ "step": {
+ "current": 8,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 21
+ },
+ {
+ "at_ms": 7231,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 22,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295407605.854666,
+ "observed_at_unix_ms": 1785066195498,
+ "phase": "executing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:executing:governed:standard:8:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Executing with verification gates",
+ "step": {
+ "current": 8,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 22
+ },
+ {
+ "at_ms": 7654,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 23,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295408028.083791,
+ "observed_at_unix_ms": 1785066195920,
+ "phase": "verifying",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:verifying:governed:standard:8:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Verifying the intended result",
+ "step": {
+ "current": 8,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 23
+ },
+ {
+ "at_ms": 7687,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 24,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295408061.121791,
+ "observed_at_unix_ms": 1785066195953,
+ "phase": "observing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:observing:governed:standard:9:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Observing the application",
+ "step": {
+ "current": 9,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 24
+ },
+ {
+ "at_ms": 7812,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 25,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295408186.66475,
+ "observed_at_unix_ms": 1785066196079,
+ "phase": "executing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:executing:governed:standard:9:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Executing with verification gates",
+ "step": {
+ "current": 9,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 25
+ },
+ {
+ "at_ms": 8012,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 26,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295408386.899875,
+ "observed_at_unix_ms": 1785066196279,
+ "phase": "verifying",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:verifying:governed:standard:9:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Verifying the intended result",
+ "step": {
+ "current": 9,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 26
+ },
+ {
+ "at_ms": 8660,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 27,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295409034.93425,
+ "observed_at_unix_ms": 1785066196927,
+ "phase": "observing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:observing:governed:standard:10:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Observing the application",
+ "step": {
+ "current": 10,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 27
+ },
+ {
+ "at_ms": 8979,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 28,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295409353.792,
+ "observed_at_unix_ms": 1785066197246,
+ "phase": "executing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:executing:governed:standard:10:16:no-pause:no-resume:no-stop:target-f0e067e8e67e3b16",
+ "status": "Executing with verification gates",
+ "step": {
+ "current": 10,
+ "total": 16
+ },
+ "target_tracking": {
+ "action_kind": "click",
+ "binding": {
+ "frame_index": 28,
+ "kind": "media_frame",
+ "media_sha256": "519a6f572ce6ebcd2ad40dd2b587842cbfc5d02cf26b776b9d6a5dd9090dce76"
+ },
+ "coordinate_space": "top_level_viewport_normalized",
+ "rect": {
+ "height": 0.035,
+ "width": 0.328125,
+ "x": 0.24609375,
+ "y": 0.94375
+ },
+ "source_viewport": {
+ "device_pixel_ratio": 1.0,
+ "height_css_px": 800,
+ "width_css_px": 1280
+ }
+ },
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 28
+ },
+ {
+ "at_ms": 9227,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 29,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295409601.568375,
+ "observed_at_unix_ms": 1785066197494,
+ "phase": "verifying",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:verifying:governed:standard:10:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Verifying the intended result",
+ "step": {
+ "current": 10,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 29
+ },
+ {
+ "at_ms": 9270,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 30,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295409644.197416,
+ "observed_at_unix_ms": 1785066197536,
+ "phase": "observing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:observing:governed:standard:11:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Observing the application",
+ "step": {
+ "current": 11,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 30
+ },
+ {
+ "at_ms": 9403,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 31,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295409777.924916,
+ "observed_at_unix_ms": 1785066197670,
+ "phase": "executing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:executing:governed:standard:11:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Executing with verification gates",
+ "step": {
+ "current": 11,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 31
+ },
+ {
+ "at_ms": 9794,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 32,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295410168.769916,
+ "observed_at_unix_ms": 1785066198061,
+ "phase": "verifying",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:verifying:governed:standard:11:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Verifying the intended result",
+ "step": {
+ "current": 11,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 32
+ },
+ {
+ "at_ms": 9819,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 33,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295410193.031791,
+ "observed_at_unix_ms": 1785066198085,
+ "phase": "observing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:observing:governed:standard:12:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Observing the application",
+ "step": {
+ "current": 12,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 33
+ },
+ {
+ "at_ms": 9946,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 34,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295410320.167541,
+ "observed_at_unix_ms": 1785066198212,
+ "phase": "executing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:executing:governed:standard:12:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Executing with verification gates",
+ "step": {
+ "current": 12,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 34
+ },
+ {
+ "at_ms": 13588,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 35,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295413962.115583,
+ "observed_at_unix_ms": 1785066201854,
+ "phase": "verifying",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:verifying:governed:standard:12:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Verifying the intended result",
+ "step": {
+ "current": 12,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 35
+ },
+ {
+ "at_ms": 13620,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 36,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295413994.473041,
+ "observed_at_unix_ms": 1785066201886,
+ "phase": "observing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:observing:governed:standard:13:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Observing the application",
+ "step": {
+ "current": 13,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 36
+ },
+ {
+ "at_ms": 13944,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 37,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295414318.686291,
+ "observed_at_unix_ms": 1785066202211,
+ "phase": "executing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:executing:governed:standard:13:16:no-pause:no-resume:no-stop:target-692c8f6cb05ecbe0",
+ "status": "Executing with verification gates",
+ "step": {
+ "current": 13,
+ "total": 16
+ },
+ "target_tracking": {
+ "action_kind": "click",
+ "binding": {
+ "frame_index": 37,
+ "kind": "media_frame",
+ "media_sha256": "519a6f572ce6ebcd2ad40dd2b587842cbfc5d02cf26b776b9d6a5dd9090dce76"
+ },
+ "coordinate_space": "top_level_viewport_normalized",
+ "rect": {
+ "height": 0.035,
+ "width": 0.328125,
+ "x": 0.59765625,
+ "y": 0.94375
+ },
+ "source_viewport": {
+ "device_pixel_ratio": 1.0,
+ "height_css_px": 800,
+ "width_css_px": 1280
+ }
+ },
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 37
+ },
+ {
+ "at_ms": 14206,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 38,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295414580.562916,
+ "observed_at_unix_ms": 1785066202473,
+ "phase": "verifying",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:verifying:governed:standard:13:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Verifying the intended result",
+ "step": {
+ "current": 13,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 38
+ },
+ {
+ "at_ms": 14249,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 39,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295414623.994208,
+ "observed_at_unix_ms": 1785066202516,
+ "phase": "observing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:observing:governed:standard:14:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Observing the application",
+ "step": {
+ "current": 14,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 39
+ },
+ {
+ "at_ms": 14380,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 40,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295414754.276291,
+ "observed_at_unix_ms": 1785066202646,
+ "phase": "executing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:executing:governed:standard:14:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Executing with verification gates",
+ "step": {
+ "current": 14,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 40
+ },
+ {
+ "at_ms": 14770,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 41,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295415144.810458,
+ "observed_at_unix_ms": 1785066203037,
+ "phase": "verifying",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:verifying:governed:standard:14:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Verifying the intended result",
+ "step": {
+ "current": 14,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 41
+ },
+ {
+ "at_ms": 14802,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 42,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295415176.427791,
+ "observed_at_unix_ms": 1785066203068,
+ "phase": "observing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:observing:governed:standard:15:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Observing the application",
+ "step": {
+ "current": 15,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 42
+ },
+ {
+ "at_ms": 14930,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 43,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295415304.266708,
+ "observed_at_unix_ms": 1785066203196,
+ "phase": "executing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:executing:governed:standard:15:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Executing with verification gates",
+ "step": {
+ "current": 15,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 43
+ },
+ {
+ "at_ms": 15118,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 44,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295415492.77325,
+ "observed_at_unix_ms": 1785066203385,
+ "phase": "verifying",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:verifying:governed:standard:15:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Verifying the intended result",
+ "step": {
+ "current": 15,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 44
+ },
+ {
+ "at_ms": 15161,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 45,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295415535.967333,
+ "observed_at_unix_ms": 1785066203428,
+ "phase": "observing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:observing:governed:standard:16:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Observing the application",
+ "step": {
+ "current": 16,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 45
+ },
+ {
+ "at_ms": 15497,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 46,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295415871.566208,
+ "observed_at_unix_ms": 1785066203764,
+ "phase": "executing",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:executing:governed:standard:16:16:no-pause:no-resume:no-stop:target-b7ee5d0929285aca",
+ "status": "Executing with verification gates",
+ "step": {
+ "current": 16,
+ "total": 16
+ },
+ "target_tracking": {
+ "action_kind": "click",
+ "binding": {
+ "frame_index": 46,
+ "kind": "media_frame",
+ "media_sha256": "519a6f572ce6ebcd2ad40dd2b587842cbfc5d02cf26b776b9d6a5dd9090dce76"
+ },
+ "coordinate_space": "top_level_viewport_normalized",
+ "rect": {
+ "height": 0.035,
+ "width": 0.0390625,
+ "x": 0.94921875,
+ "y": 0.0125
+ },
+ "source_viewport": {
+ "device_pixel_ratio": 1.0,
+ "height_css_px": 800,
+ "width_css_px": 1280
+ }
+ },
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 46
+ },
+ {
+ "at_ms": 15931,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 47,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295416305.9945,
+ "observed_at_unix_ms": 1785066204198,
+ "phase": "verifying",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:verifying:governed:standard:16:16:no-pause:no-resume:no-stop:no-target",
+ "status": "Verifying the intended result",
+ "step": {
+ "current": 16,
+ "total": 16
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 47
+ },
+ {
+ "at_ms": 16924,
+ "frame": {
+ "controls": {
+ "pause": false,
+ "resume": false,
+ "stop": false
+ },
+ "event_sequence": 48,
+ "mode": "governed",
+ "observed_at_monotonic_ms": 1295417298.697208,
+ "observed_at_unix_ms": 1785066205191,
+ "phase": "verified",
+ "presentation": true,
+ "profile": "standard",
+ "schema_version": "openadapt.control-overlay-frame/v2",
+ "state_id": "visible:verified:governed:standard:no-step:no-total:no-pause:no-resume:no-stop:no-target",
+ "status": "Outcome verified",
+ "step": {
+ "current": null,
+ "total": null
+ },
+ "target_tracking": null,
+ "visible": true,
+ "workflow_label": "Governed workflow"
+ },
+ "media_frame_index": 48
+ }
+ ],
+ "evidence_pack_id": "frappe-lending-loan-application-standard-synthetic-v1",
+ "media_frame_count": 50,
+ "media_sha256": "519a6f572ce6ebcd2ad40dd2b587842cbfc5d02cf26b776b9d6a5dd9090dce76",
+ "schema_version": "openadapt.control-overlay-timeline/v2"
+}
diff --git a/public/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.frame-pts-us.json b/public/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.frame-pts-us.json
new file mode 100644
index 0000000..c24c25c
--- /dev/null
+++ b/public/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.frame-pts-us.json
@@ -0,0 +1,57 @@
+{
+ "frame_count": 50,
+ "media_sha256": "519a6f572ce6ebcd2ad40dd2b587842cbfc5d02cf26b776b9d6a5dd9090dce76",
+ "presentation_times_us": [
+ 0,
+ 596000,
+ 956000,
+ 1040000,
+ 1226000,
+ 1687000,
+ 1719000,
+ 2020000,
+ 2244000,
+ 2294000,
+ 2423000,
+ 2812000,
+ 2843000,
+ 2980000,
+ 3168000,
+ 3219000,
+ 3355000,
+ 5629000,
+ 5659000,
+ 5967000,
+ 6346000,
+ 7102000,
+ 7231000,
+ 7654000,
+ 7687000,
+ 7812000,
+ 8012000,
+ 8660000,
+ 8979000,
+ 9227000,
+ 9270000,
+ 9403000,
+ 9794000,
+ 9819000,
+ 9946000,
+ 13588000,
+ 13620000,
+ 13944000,
+ 14206000,
+ 14249000,
+ 14380000,
+ 14770000,
+ 14802000,
+ 14930000,
+ 15118000,
+ 15161000,
+ 15497000,
+ 15931000,
+ 16924000,
+ 18674000
+ ],
+ "schema_version": "openadapt.media-frame-presentation-times/v1"
+}
diff --git a/public/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.media-binding.json b/public/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.media-binding.json
new file mode 100644
index 0000000..bbb7da2
--- /dev/null
+++ b/public/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.media-binding.json
@@ -0,0 +1,65 @@
+{
+ "clip_id": "frappe-replay",
+ "decoded_frame_count": 50,
+ "decoded_height": 800,
+ "decoded_width": 1280,
+ "media_file": "frappe-replay.mp4",
+ "media_sha256": "519a6f572ce6ebcd2ad40dd2b587842cbfc5d02cf26b776b9d6a5dd9090dce76",
+ "poster_file": "frappe-replay.poster.png",
+ "poster_sha256": "f0431dd2ded209992fa6e51d22515c8f60696591c45ab096bc43c5216a55c8e1",
+ "presentation_times_us": [
+ 0,
+ 596000,
+ 956000,
+ 1040000,
+ 1226000,
+ 1687000,
+ 1719000,
+ 2020000,
+ 2244000,
+ 2294000,
+ 2423000,
+ 2812000,
+ 2843000,
+ 2980000,
+ 3168000,
+ 3219000,
+ 3355000,
+ 5629000,
+ 5659000,
+ 5967000,
+ 6346000,
+ 7102000,
+ 7231000,
+ 7654000,
+ 7687000,
+ 7812000,
+ 8012000,
+ 8660000,
+ 8979000,
+ 9227000,
+ 9270000,
+ 9403000,
+ 9794000,
+ 9819000,
+ 9946000,
+ 13588000,
+ 13620000,
+ 13944000,
+ 14206000,
+ 14249000,
+ 14380000,
+ 14770000,
+ 14802000,
+ 14930000,
+ 15118000,
+ 15161000,
+ 15497000,
+ 15931000,
+ 16924000,
+ 18674000
+ ],
+ "schema_version": "openadapt.public-presentation-media-binding/v1",
+ "timeline_file": "frappe-replay.control-overlay.v2.json",
+ "timeline_sha256": "a26da6c18fb4047856e84ca572243d67e932b267b4d6983b6325808695591bf0"
+}
diff --git a/public/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.mp4 b/public/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.mp4
new file mode 100644
index 0000000..dec480a
Binary files /dev/null and b/public/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.mp4 differ
diff --git a/public/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.poster.png b/public/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.poster.png
new file mode 100644
index 0000000..954dab9
Binary files /dev/null and b/public/reference/frappe-lending-loan-application-standard-synthetic-v1/replay/frappe-replay.poster.png differ