Merge pull request 'Archify' (#5) from development into master
Reviewed-on: #5
This commit was merged in pull request #5.
This commit is contained in:
@@ -0,0 +1,395 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"diagram_type": "architecture",
|
||||
"meta": {
|
||||
"title": "PXIL Automation Runtime",
|
||||
"output": ".archify/architecture-pxil-runtime-20260929-151855/pxil-runtime.html",
|
||||
"quality_profile": "showcase",
|
||||
"locale": "en",
|
||||
"repository": {
|
||||
"url": "https://git.tejasshasane.xyz/tejasshasane/pxil-selenium-automation.git",
|
||||
"revision": "5ab89ce0059525b31558a1fa82251a2a6f610dd7",
|
||||
"link_mode": "local-only"
|
||||
}
|
||||
},
|
||||
"components": [
|
||||
{
|
||||
"id": "runner",
|
||||
"type": "backend",
|
||||
"label": "pytest runner",
|
||||
"sublabel": "Selection + fixture lifecycle",
|
||||
"pos": [
|
||||
60,
|
||||
300
|
||||
],
|
||||
"size": [
|
||||
190,
|
||||
74
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/conftest.py",
|
||||
"line": 37,
|
||||
"end_line": 62
|
||||
},
|
||||
{
|
||||
"path": "pytest.ini",
|
||||
"line": 1,
|
||||
"end_line": 14
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "flows",
|
||||
"type": "backend",
|
||||
"label": "Automation flows",
|
||||
"sublabel": "Setup / bidding / matching",
|
||||
"pos": [
|
||||
360,
|
||||
300
|
||||
],
|
||||
"size": [
|
||||
190,
|
||||
74
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/regression/exchange/idas/bidding/test_idas_exchange_bidding_flow.py",
|
||||
"line": 54,
|
||||
"end_line": 90
|
||||
},
|
||||
{
|
||||
"path": "tests/regression/exchange/idas/matching/test_idas_exchange_matching_flow.py",
|
||||
"line": 76,
|
||||
"end_line": 156
|
||||
},
|
||||
{
|
||||
"path": "tests/setup/test_combined_setup.py",
|
||||
"line": 13,
|
||||
"end_line": 37
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "browser",
|
||||
"type": "frontend",
|
||||
"label": "Chrome + WebDriver",
|
||||
"sublabel": "Selenium browser dependency",
|
||||
"pos": [
|
||||
680,
|
||||
300
|
||||
],
|
||||
"size": [
|
||||
190,
|
||||
74
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/browser.py",
|
||||
"line": 1,
|
||||
"end_line": 14
|
||||
},
|
||||
{
|
||||
"path": "tests/regression/auth.py",
|
||||
"line": 46,
|
||||
"end_line": 86
|
||||
}
|
||||
],
|
||||
"tag": "Manual CAPTCHA for Pratyay"
|
||||
},
|
||||
{
|
||||
"id": "pratyay",
|
||||
"type": "external",
|
||||
"label": "Pratyay portal",
|
||||
"sublabel": "Exchange / member UI",
|
||||
"pos": [
|
||||
970,
|
||||
300
|
||||
],
|
||||
"size": [
|
||||
190,
|
||||
74
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/regression/exchange/idas/bidding/test_idas_exchange_bidding_flow.py",
|
||||
"line": 68,
|
||||
"end_line": 90
|
||||
},
|
||||
{
|
||||
"path": "tests/regression/exchange/idas/matching/test_idas_exchange_matching_flow.py",
|
||||
"line": 47,
|
||||
"end_line": 59
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "config",
|
||||
"type": "database",
|
||||
"label": "Configuration",
|
||||
"sublabel": "JSON + role credentials",
|
||||
"pos": [
|
||||
360,
|
||||
100
|
||||
],
|
||||
"size": [
|
||||
190,
|
||||
74
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/config_reader.py",
|
||||
"line": 6,
|
||||
"end_line": 32
|
||||
},
|
||||
{
|
||||
"path": "tests/regression/config_reader.py",
|
||||
"line": 5,
|
||||
"end_line": 29
|
||||
},
|
||||
{
|
||||
"path": "tests/regression/config_reader.py",
|
||||
"line": 121,
|
||||
"end_line": 150
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "inputs",
|
||||
"type": "database",
|
||||
"label": "Bid input files",
|
||||
"sublabel": "Excel / JSON / upload folders",
|
||||
"pos": [
|
||||
360,
|
||||
560
|
||||
],
|
||||
"size": [
|
||||
190,
|
||||
74
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/regression/exchange/idas/bidding/input_manifest.py",
|
||||
"line": 4,
|
||||
"end_line": 28
|
||||
},
|
||||
{
|
||||
"path": "tests/regression/exchange/idas/bidding/json_reader.py",
|
||||
"line": 5,
|
||||
"end_line": 35
|
||||
},
|
||||
{
|
||||
"path": "tests/regression/exchange/idas/bidding/test_idas_exchange_bidding_flow.py",
|
||||
"line": 217,
|
||||
"end_line": 249
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "reporting",
|
||||
"type": "backend",
|
||||
"label": "Evidence reporting",
|
||||
"sublabel": "Step capture + pytest hooks",
|
||||
"pos": [
|
||||
60,
|
||||
560
|
||||
],
|
||||
"size": [
|
||||
190,
|
||||
74
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/step_actions.py",
|
||||
"line": 10,
|
||||
"end_line": 40
|
||||
},
|
||||
{
|
||||
"path": "tests/conftest.py",
|
||||
"line": 104,
|
||||
"end_line": 175
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "artifacts",
|
||||
"type": "database",
|
||||
"label": "Run artifacts",
|
||||
"sublabel": "HTML / screenshots / logs",
|
||||
"pos": [
|
||||
60,
|
||||
770
|
||||
],
|
||||
"size": [
|
||||
190,
|
||||
74
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/conftest.py",
|
||||
"line": 37,
|
||||
"end_line": 48
|
||||
},
|
||||
{
|
||||
"path": "tests/conftest.py",
|
||||
"line": 70,
|
||||
"end_line": 97
|
||||
},
|
||||
{
|
||||
"path": "tests/step_actions.py",
|
||||
"line": 21,
|
||||
"end_line": 35
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "mco",
|
||||
"type": "external",
|
||||
"label": "MCO portal",
|
||||
"sublabel": "Independent login-only test",
|
||||
"pos": [
|
||||
970,
|
||||
560
|
||||
],
|
||||
"size": [
|
||||
190,
|
||||
74
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/regression/exchange/idas/matching/test_idas_mco_login.py",
|
||||
"line": 13,
|
||||
"end_line": 36
|
||||
}
|
||||
],
|
||||
"tag": "Only when enabled"
|
||||
}
|
||||
],
|
||||
"boundaries": [
|
||||
{
|
||||
"kind": "region",
|
||||
"label": "LOCAL AUTOMATION HOST | trusted code, inputs and credentials",
|
||||
"wraps": [
|
||||
"runner",
|
||||
"flows",
|
||||
"browser",
|
||||
"config",
|
||||
"inputs",
|
||||
"reporting",
|
||||
"artifacts"
|
||||
],
|
||||
"pad": 28
|
||||
},
|
||||
{
|
||||
"kind": "security-group",
|
||||
"label": "Browser process boundary",
|
||||
"wraps": [
|
||||
"browser"
|
||||
],
|
||||
"pad": 18
|
||||
},
|
||||
{
|
||||
"kind": "region",
|
||||
"label": "REMOTE PORTALS | separate authentication",
|
||||
"wraps": [
|
||||
"pratyay",
|
||||
"mco"
|
||||
],
|
||||
"pad": 28
|
||||
}
|
||||
],
|
||||
"connections": [
|
||||
{
|
||||
"id": "selected-tests",
|
||||
"from": "runner",
|
||||
"to": "flows",
|
||||
"label": "run tests",
|
||||
"variant": "emphasis"
|
||||
},
|
||||
{
|
||||
"id": "ui-actions",
|
||||
"from": "flows",
|
||||
"to": "browser",
|
||||
"label": "UI commands",
|
||||
"variant": "emphasis"
|
||||
},
|
||||
{
|
||||
"id": "portal-session",
|
||||
"from": "browser",
|
||||
"to": "pratyay",
|
||||
"label": "login + UI",
|
||||
"variant": "emphasis"
|
||||
},
|
||||
{
|
||||
"id": "read-settings",
|
||||
"from": "flows",
|
||||
"to": "config",
|
||||
"label": "read settings"
|
||||
},
|
||||
{
|
||||
"id": "read-bids",
|
||||
"from": "flows",
|
||||
"to": "inputs",
|
||||
"label": "read bids"
|
||||
},
|
||||
{
|
||||
"id": "report-hooks",
|
||||
"from": "runner",
|
||||
"to": "reporting",
|
||||
"label": "test hooks"
|
||||
},
|
||||
{
|
||||
"id": "write-evidence",
|
||||
"from": "reporting",
|
||||
"to": "artifacts",
|
||||
"label": "write evidence"
|
||||
},
|
||||
{
|
||||
"id": "optional-mco",
|
||||
"from": "browser",
|
||||
"to": "mco",
|
||||
"label": "if enabled: login",
|
||||
"variant": "dashed"
|
||||
}
|
||||
],
|
||||
"cards": [
|
||||
{
|
||||
"dot": "cyan",
|
||||
"title": "Primary path",
|
||||
"items": [
|
||||
"pytest runs selected tests; flow code controls Selenium and Chrome, which interacts with the remote Pratyay UI.",
|
||||
"Pratyay login fills credentials and pauses for manual CAPTCHA entry before submission (tests/regression/auth.py:46-122).",
|
||||
"Arrows describe control and I/O; results return to pytest. No direct backend API or database integration is asserted."
|
||||
]
|
||||
},
|
||||
{
|
||||
"dot": "violet",
|
||||
"title": "Flow selection and capabilities",
|
||||
"items": [
|
||||
"Root config.json selects setup products and session/token actions; config/runtime.json selects regression environment, role, product and flow.",
|
||||
"Bidding supports Excel/JSON grids, files and folders. Optional parallel folder workers create their own browsers (bidding flow:551-587).",
|
||||
"Matching requires the exchange role; rejected or unsupported bid-transfer status stops matching (matching flow:28-44, 123-135)."
|
||||
]
|
||||
},
|
||||
{
|
||||
"dot": "rose",
|
||||
"title": "Trust and external dependencies",
|
||||
"items": [
|
||||
"Boundaries show host/process and remote ownership, not verified network isolation or firewall policy.",
|
||||
"Credentials come from local JSON and are entered into remote login forms. Values and endpoint addresses are omitted.",
|
||||
"Chrome/WebDriver is an external runtime dependency. Pratyay and MCO server internals and transport guarantees are outside the observed source.",
|
||||
"MCO is an independent, enabled-only dashboard login test; no Pratyay-to-MCO backend connection is inferred."
|
||||
]
|
||||
},
|
||||
{
|
||||
"dot": "emerald",
|
||||
"title": "Evidence and scope",
|
||||
"items": [
|
||||
"StepActions requests browser screenshots; pytest hooks attach evidence and configure pytest-html. Reports live under reports/.",
|
||||
"Matching configures browser downloads separately; setup can save session backups. These details are kept off the main path.",
|
||||
"Snapshot: clean repository at 5ab89ce0059525b31558a1fa82251a2a6f610dd7. Sources use local-only links.",
|
||||
"Registered reports/order-book/trade-book markers are placeholders, not implemented runtime services (RUN_COMMANDS.md)."
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,721 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"ok": true,
|
||||
"command": "browser-check",
|
||||
"evidenceKind": "automated-browser",
|
||||
"status": "pass",
|
||||
"visualReview": "not-requested",
|
||||
"provenance": "current",
|
||||
"deliveryReceiptId": "95e7d275-4f11-44f8-af68-086f2d8272bd",
|
||||
"artifact": {
|
||||
"path": "D:\\Selenium Test\\.archify\\architecture-pxil-runtime-20260929-151855\\pxil-runtime.html",
|
||||
"sha256": "3db6aa51a98c38d8aebafa9dd0682f3ea5c0ffd1d554c2ac6f000c94b73a193a",
|
||||
"bytes": 767845
|
||||
},
|
||||
"state": {
|
||||
"detail": "read",
|
||||
"motion": "still"
|
||||
},
|
||||
"chrome": {
|
||||
"status": "available",
|
||||
"executable": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"
|
||||
},
|
||||
"diagnostics": [],
|
||||
"containment": {
|
||||
"status": "pass",
|
||||
"policy": "fit-or-reader-declared-readable-vertical-scroll",
|
||||
"viewports": [
|
||||
{
|
||||
"width": 1440,
|
||||
"height": 900,
|
||||
"theme": "light",
|
||||
"innerWidth": 1440,
|
||||
"innerHeight": 900,
|
||||
"scrollWidth": 1440,
|
||||
"scrollHeight": 920,
|
||||
"overflowX": false,
|
||||
"overflowY": true,
|
||||
"verticalScrollAccepted": true,
|
||||
"overflowDisposition": "readable-vertical-scroll",
|
||||
"readerLayout": "adaptive",
|
||||
"readerOverflow": "authored",
|
||||
"readerFit": "intrinsic-height",
|
||||
"ok": true,
|
||||
"readerWidth": 1054,
|
||||
"diagramWidth": 1024,
|
||||
"pageComposition": {
|
||||
"bodyPaddingPx": 12,
|
||||
"headerPx": 52,
|
||||
"diagramChromePx": 78,
|
||||
"svgPx": 777,
|
||||
"cardsPx": 0,
|
||||
"viewBoxHeight": 932
|
||||
},
|
||||
"viewBoxWidth": 1228,
|
||||
"minimumProjectedNodeTextPx": 6.671009771986971,
|
||||
"minimumProjectedNonEdgeTextPx": 7.504885993485343,
|
||||
"minimumProjectedEdgeTextPx": 6.671009771986971,
|
||||
"minimumProjectedNodeText": "run tests",
|
||||
"minimumProjectedNodeTextDetail": "edge",
|
||||
"minimumProjectedNodeTextOwner": {
|
||||
"kind": "edge",
|
||||
"id": "selected-tests",
|
||||
"from": "runner",
|
||||
"to": "flows"
|
||||
},
|
||||
"minimumRequiredNodeTextPx": 6,
|
||||
"readabilityOk": true,
|
||||
"hasLegend": true,
|
||||
"hasNavigationDock": true,
|
||||
"legendDockIntersectionArea": 0,
|
||||
"dockStageIntersectionArea": 0,
|
||||
"dockStageGap": 10,
|
||||
"requiredDockStageGap": 10,
|
||||
"viewerChromeStageOk": true,
|
||||
"viewerChromeReserve": 54,
|
||||
"viewerChromeActive": true,
|
||||
"viewerChromeOk": true,
|
||||
"resolvedTheme": "light"
|
||||
},
|
||||
{
|
||||
"width": 1600,
|
||||
"height": 1000,
|
||||
"theme": "light",
|
||||
"innerWidth": 1600,
|
||||
"innerHeight": 1000,
|
||||
"scrollWidth": 1600,
|
||||
"scrollHeight": 1000,
|
||||
"overflowX": false,
|
||||
"overflowY": false,
|
||||
"verticalScrollAccepted": false,
|
||||
"overflowDisposition": "contained",
|
||||
"readerLayout": "adaptive",
|
||||
"readerOverflow": null,
|
||||
"readerFit": "intrinsic-height",
|
||||
"ok": true,
|
||||
"readerWidth": 1058,
|
||||
"diagramWidth": 1028,
|
||||
"pageComposition": {
|
||||
"bodyPaddingPx": 64,
|
||||
"headerPx": 60,
|
||||
"diagramChromePx": 84,
|
||||
"svgPx": 780,
|
||||
"cardsPx": 0,
|
||||
"viewBoxHeight": 932
|
||||
},
|
||||
"viewBoxWidth": 1228,
|
||||
"minimumProjectedNodeTextPx": 6.697068403908795,
|
||||
"minimumProjectedNonEdgeTextPx": 7.534201954397394,
|
||||
"minimumProjectedEdgeTextPx": 6.697068403908795,
|
||||
"minimumProjectedNodeText": "run tests",
|
||||
"minimumProjectedNodeTextDetail": "edge",
|
||||
"minimumProjectedNodeTextOwner": {
|
||||
"kind": "edge",
|
||||
"id": "selected-tests",
|
||||
"from": "runner",
|
||||
"to": "flows"
|
||||
},
|
||||
"minimumRequiredNodeTextPx": 6,
|
||||
"readabilityOk": true,
|
||||
"hasLegend": true,
|
||||
"hasNavigationDock": true,
|
||||
"legendDockIntersectionArea": 0,
|
||||
"dockStageIntersectionArea": 0,
|
||||
"dockStageGap": 10,
|
||||
"requiredDockStageGap": 10,
|
||||
"viewerChromeStageOk": true,
|
||||
"viewerChromeReserve": 54,
|
||||
"viewerChromeActive": true,
|
||||
"viewerChromeOk": true,
|
||||
"resolvedTheme": "light"
|
||||
},
|
||||
{
|
||||
"width": 1920,
|
||||
"height": 1080,
|
||||
"theme": "light",
|
||||
"innerWidth": 1920,
|
||||
"innerHeight": 1080,
|
||||
"scrollWidth": 1920,
|
||||
"scrollHeight": 1080,
|
||||
"overflowX": false,
|
||||
"overflowY": false,
|
||||
"verticalScrollAccepted": false,
|
||||
"overflowDisposition": "contained",
|
||||
"readerLayout": "adaptive",
|
||||
"readerOverflow": null,
|
||||
"readerFit": "intrinsic-height",
|
||||
"ok": true,
|
||||
"readerWidth": 1163,
|
||||
"diagramWidth": 1133,
|
||||
"pageComposition": {
|
||||
"bodyPaddingPx": 64,
|
||||
"headerPx": 60,
|
||||
"diagramChromePx": 84,
|
||||
"svgPx": 860,
|
||||
"cardsPx": 0,
|
||||
"viewBoxHeight": 932
|
||||
},
|
||||
"viewBoxWidth": 1228,
|
||||
"minimumProjectedNodeTextPx": 7.381107491856677,
|
||||
"minimumProjectedNonEdgeTextPx": 8.303745928338762,
|
||||
"minimumProjectedEdgeTextPx": 7.381107491856677,
|
||||
"minimumProjectedNodeText": "run tests",
|
||||
"minimumProjectedNodeTextDetail": "edge",
|
||||
"minimumProjectedNodeTextOwner": {
|
||||
"kind": "edge",
|
||||
"id": "selected-tests",
|
||||
"from": "runner",
|
||||
"to": "flows"
|
||||
},
|
||||
"minimumRequiredNodeTextPx": 6,
|
||||
"readabilityOk": true,
|
||||
"hasLegend": true,
|
||||
"hasNavigationDock": true,
|
||||
"legendDockIntersectionArea": 0,
|
||||
"dockStageIntersectionArea": 0,
|
||||
"dockStageGap": 10,
|
||||
"requiredDockStageGap": 10,
|
||||
"viewerChromeStageOk": true,
|
||||
"viewerChromeReserve": 54,
|
||||
"viewerChromeActive": true,
|
||||
"viewerChromeOk": true,
|
||||
"resolvedTheme": "light"
|
||||
},
|
||||
{
|
||||
"width": 2048,
|
||||
"height": 1320,
|
||||
"theme": "light",
|
||||
"innerWidth": 2048,
|
||||
"innerHeight": 1320,
|
||||
"scrollWidth": 2048,
|
||||
"scrollHeight": 1320,
|
||||
"overflowX": false,
|
||||
"overflowY": false,
|
||||
"verticalScrollAccepted": false,
|
||||
"overflowDisposition": "contained",
|
||||
"readerLayout": "adaptive",
|
||||
"readerOverflow": null,
|
||||
"readerFit": "intrinsic-height",
|
||||
"ok": true,
|
||||
"readerWidth": 1476,
|
||||
"diagramWidth": 1426,
|
||||
"pageComposition": {
|
||||
"bodyPaddingPx": 64,
|
||||
"headerPx": 68,
|
||||
"diagramChromePx": 94,
|
||||
"svgPx": 1082,
|
||||
"cardsPx": 0,
|
||||
"viewBoxHeight": 932
|
||||
},
|
||||
"viewBoxWidth": 1228,
|
||||
"minimumProjectedNodeTextPx": 8,
|
||||
"minimumProjectedNonEdgeTextPx": 9,
|
||||
"minimumProjectedEdgeTextPx": 8,
|
||||
"minimumProjectedNodeText": "run tests",
|
||||
"minimumProjectedNodeTextDetail": "edge",
|
||||
"minimumProjectedNodeTextOwner": {
|
||||
"kind": "edge",
|
||||
"id": "selected-tests",
|
||||
"from": "runner",
|
||||
"to": "flows"
|
||||
},
|
||||
"minimumRequiredNodeTextPx": 6,
|
||||
"readabilityOk": true,
|
||||
"hasLegend": true,
|
||||
"hasNavigationDock": true,
|
||||
"legendDockIntersectionArea": 0,
|
||||
"dockStageIntersectionArea": 0,
|
||||
"dockStageGap": 10,
|
||||
"requiredDockStageGap": 10,
|
||||
"viewerChromeStageOk": true,
|
||||
"viewerChromeReserve": 44,
|
||||
"viewerChromeActive": true,
|
||||
"viewerChromeOk": true,
|
||||
"resolvedTheme": "light"
|
||||
}
|
||||
]
|
||||
},
|
||||
"themeStates": {
|
||||
"status": "pass",
|
||||
"viewports": [
|
||||
{
|
||||
"width": 1440,
|
||||
"height": 900,
|
||||
"requestedTheme": "light",
|
||||
"resolvedTheme": "light",
|
||||
"ok": true
|
||||
},
|
||||
{
|
||||
"width": 1600,
|
||||
"height": 1000,
|
||||
"requestedTheme": "light",
|
||||
"resolvedTheme": "light",
|
||||
"ok": true
|
||||
},
|
||||
{
|
||||
"width": 1920,
|
||||
"height": 1080,
|
||||
"requestedTheme": "light",
|
||||
"resolvedTheme": "light",
|
||||
"ok": true
|
||||
},
|
||||
{
|
||||
"width": 2048,
|
||||
"height": 1320,
|
||||
"requestedTheme": "light",
|
||||
"resolvedTheme": "light",
|
||||
"ok": true
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"height": 900,
|
||||
"requestedTheme": "dark",
|
||||
"resolvedTheme": "dark",
|
||||
"ok": true
|
||||
},
|
||||
{
|
||||
"width": 2048,
|
||||
"height": 1320,
|
||||
"requestedTheme": "dark",
|
||||
"resolvedTheme": "dark",
|
||||
"ok": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"readability": {
|
||||
"status": "pass",
|
||||
"minimumProjectedNodeTextPx": 6,
|
||||
"viewports": [
|
||||
{
|
||||
"width": 1440,
|
||||
"height": 900,
|
||||
"theme": "light",
|
||||
"innerWidth": 1440,
|
||||
"innerHeight": 900,
|
||||
"scrollWidth": 1440,
|
||||
"scrollHeight": 920,
|
||||
"overflowX": false,
|
||||
"overflowY": true,
|
||||
"verticalScrollAccepted": true,
|
||||
"overflowDisposition": "readable-vertical-scroll",
|
||||
"readerLayout": "adaptive",
|
||||
"readerOverflow": "authored",
|
||||
"readerFit": "intrinsic-height",
|
||||
"ok": true,
|
||||
"readerWidth": 1054,
|
||||
"diagramWidth": 1024,
|
||||
"pageComposition": {
|
||||
"bodyPaddingPx": 12,
|
||||
"headerPx": 52,
|
||||
"diagramChromePx": 78,
|
||||
"svgPx": 777,
|
||||
"cardsPx": 0,
|
||||
"viewBoxHeight": 932
|
||||
},
|
||||
"viewBoxWidth": 1228,
|
||||
"minimumProjectedNodeTextPx": 6.671009771986971,
|
||||
"minimumProjectedNonEdgeTextPx": 7.504885993485343,
|
||||
"minimumProjectedEdgeTextPx": 6.671009771986971,
|
||||
"minimumProjectedNodeText": "run tests",
|
||||
"minimumProjectedNodeTextDetail": "edge",
|
||||
"minimumProjectedNodeTextOwner": {
|
||||
"kind": "edge",
|
||||
"id": "selected-tests",
|
||||
"from": "runner",
|
||||
"to": "flows"
|
||||
},
|
||||
"minimumRequiredNodeTextPx": 6,
|
||||
"readabilityOk": true,
|
||||
"hasLegend": true,
|
||||
"hasNavigationDock": true,
|
||||
"legendDockIntersectionArea": 0,
|
||||
"dockStageIntersectionArea": 0,
|
||||
"dockStageGap": 10,
|
||||
"requiredDockStageGap": 10,
|
||||
"viewerChromeStageOk": true,
|
||||
"viewerChromeReserve": 54,
|
||||
"viewerChromeActive": true,
|
||||
"viewerChromeOk": true,
|
||||
"resolvedTheme": "light"
|
||||
},
|
||||
{
|
||||
"width": 1600,
|
||||
"height": 1000,
|
||||
"theme": "light",
|
||||
"innerWidth": 1600,
|
||||
"innerHeight": 1000,
|
||||
"scrollWidth": 1600,
|
||||
"scrollHeight": 1000,
|
||||
"overflowX": false,
|
||||
"overflowY": false,
|
||||
"verticalScrollAccepted": false,
|
||||
"overflowDisposition": "contained",
|
||||
"readerLayout": "adaptive",
|
||||
"readerOverflow": null,
|
||||
"readerFit": "intrinsic-height",
|
||||
"ok": true,
|
||||
"readerWidth": 1058,
|
||||
"diagramWidth": 1028,
|
||||
"pageComposition": {
|
||||
"bodyPaddingPx": 64,
|
||||
"headerPx": 60,
|
||||
"diagramChromePx": 84,
|
||||
"svgPx": 780,
|
||||
"cardsPx": 0,
|
||||
"viewBoxHeight": 932
|
||||
},
|
||||
"viewBoxWidth": 1228,
|
||||
"minimumProjectedNodeTextPx": 6.697068403908795,
|
||||
"minimumProjectedNonEdgeTextPx": 7.534201954397394,
|
||||
"minimumProjectedEdgeTextPx": 6.697068403908795,
|
||||
"minimumProjectedNodeText": "run tests",
|
||||
"minimumProjectedNodeTextDetail": "edge",
|
||||
"minimumProjectedNodeTextOwner": {
|
||||
"kind": "edge",
|
||||
"id": "selected-tests",
|
||||
"from": "runner",
|
||||
"to": "flows"
|
||||
},
|
||||
"minimumRequiredNodeTextPx": 6,
|
||||
"readabilityOk": true,
|
||||
"hasLegend": true,
|
||||
"hasNavigationDock": true,
|
||||
"legendDockIntersectionArea": 0,
|
||||
"dockStageIntersectionArea": 0,
|
||||
"dockStageGap": 10,
|
||||
"requiredDockStageGap": 10,
|
||||
"viewerChromeStageOk": true,
|
||||
"viewerChromeReserve": 54,
|
||||
"viewerChromeActive": true,
|
||||
"viewerChromeOk": true,
|
||||
"resolvedTheme": "light"
|
||||
},
|
||||
{
|
||||
"width": 1920,
|
||||
"height": 1080,
|
||||
"theme": "light",
|
||||
"innerWidth": 1920,
|
||||
"innerHeight": 1080,
|
||||
"scrollWidth": 1920,
|
||||
"scrollHeight": 1080,
|
||||
"overflowX": false,
|
||||
"overflowY": false,
|
||||
"verticalScrollAccepted": false,
|
||||
"overflowDisposition": "contained",
|
||||
"readerLayout": "adaptive",
|
||||
"readerOverflow": null,
|
||||
"readerFit": "intrinsic-height",
|
||||
"ok": true,
|
||||
"readerWidth": 1163,
|
||||
"diagramWidth": 1133,
|
||||
"pageComposition": {
|
||||
"bodyPaddingPx": 64,
|
||||
"headerPx": 60,
|
||||
"diagramChromePx": 84,
|
||||
"svgPx": 860,
|
||||
"cardsPx": 0,
|
||||
"viewBoxHeight": 932
|
||||
},
|
||||
"viewBoxWidth": 1228,
|
||||
"minimumProjectedNodeTextPx": 7.381107491856677,
|
||||
"minimumProjectedNonEdgeTextPx": 8.303745928338762,
|
||||
"minimumProjectedEdgeTextPx": 7.381107491856677,
|
||||
"minimumProjectedNodeText": "run tests",
|
||||
"minimumProjectedNodeTextDetail": "edge",
|
||||
"minimumProjectedNodeTextOwner": {
|
||||
"kind": "edge",
|
||||
"id": "selected-tests",
|
||||
"from": "runner",
|
||||
"to": "flows"
|
||||
},
|
||||
"minimumRequiredNodeTextPx": 6,
|
||||
"readabilityOk": true,
|
||||
"hasLegend": true,
|
||||
"hasNavigationDock": true,
|
||||
"legendDockIntersectionArea": 0,
|
||||
"dockStageIntersectionArea": 0,
|
||||
"dockStageGap": 10,
|
||||
"requiredDockStageGap": 10,
|
||||
"viewerChromeStageOk": true,
|
||||
"viewerChromeReserve": 54,
|
||||
"viewerChromeActive": true,
|
||||
"viewerChromeOk": true,
|
||||
"resolvedTheme": "light"
|
||||
},
|
||||
{
|
||||
"width": 2048,
|
||||
"height": 1320,
|
||||
"theme": "light",
|
||||
"innerWidth": 2048,
|
||||
"innerHeight": 1320,
|
||||
"scrollWidth": 2048,
|
||||
"scrollHeight": 1320,
|
||||
"overflowX": false,
|
||||
"overflowY": false,
|
||||
"verticalScrollAccepted": false,
|
||||
"overflowDisposition": "contained",
|
||||
"readerLayout": "adaptive",
|
||||
"readerOverflow": null,
|
||||
"readerFit": "intrinsic-height",
|
||||
"ok": true,
|
||||
"readerWidth": 1476,
|
||||
"diagramWidth": 1426,
|
||||
"pageComposition": {
|
||||
"bodyPaddingPx": 64,
|
||||
"headerPx": 68,
|
||||
"diagramChromePx": 94,
|
||||
"svgPx": 1082,
|
||||
"cardsPx": 0,
|
||||
"viewBoxHeight": 932
|
||||
},
|
||||
"viewBoxWidth": 1228,
|
||||
"minimumProjectedNodeTextPx": 8,
|
||||
"minimumProjectedNonEdgeTextPx": 9,
|
||||
"minimumProjectedEdgeTextPx": 8,
|
||||
"minimumProjectedNodeText": "run tests",
|
||||
"minimumProjectedNodeTextDetail": "edge",
|
||||
"minimumProjectedNodeTextOwner": {
|
||||
"kind": "edge",
|
||||
"id": "selected-tests",
|
||||
"from": "runner",
|
||||
"to": "flows"
|
||||
},
|
||||
"minimumRequiredNodeTextPx": 6,
|
||||
"readabilityOk": true,
|
||||
"hasLegend": true,
|
||||
"hasNavigationDock": true,
|
||||
"legendDockIntersectionArea": 0,
|
||||
"dockStageIntersectionArea": 0,
|
||||
"dockStageGap": 10,
|
||||
"requiredDockStageGap": 10,
|
||||
"viewerChromeStageOk": true,
|
||||
"viewerChromeReserve": 44,
|
||||
"viewerChromeActive": true,
|
||||
"viewerChromeOk": true,
|
||||
"resolvedTheme": "light"
|
||||
}
|
||||
]
|
||||
},
|
||||
"viewerChrome": {
|
||||
"status": "pass",
|
||||
"viewports": [
|
||||
{
|
||||
"width": 1440,
|
||||
"height": 900,
|
||||
"theme": "light",
|
||||
"innerWidth": 1440,
|
||||
"innerHeight": 900,
|
||||
"scrollWidth": 1440,
|
||||
"scrollHeight": 920,
|
||||
"overflowX": false,
|
||||
"overflowY": true,
|
||||
"verticalScrollAccepted": true,
|
||||
"overflowDisposition": "readable-vertical-scroll",
|
||||
"readerLayout": "adaptive",
|
||||
"readerOverflow": "authored",
|
||||
"readerFit": "intrinsic-height",
|
||||
"ok": true,
|
||||
"readerWidth": 1054,
|
||||
"diagramWidth": 1024,
|
||||
"pageComposition": {
|
||||
"bodyPaddingPx": 12,
|
||||
"headerPx": 52,
|
||||
"diagramChromePx": 78,
|
||||
"svgPx": 777,
|
||||
"cardsPx": 0,
|
||||
"viewBoxHeight": 932
|
||||
},
|
||||
"viewBoxWidth": 1228,
|
||||
"minimumProjectedNodeTextPx": 6.671009771986971,
|
||||
"minimumProjectedNonEdgeTextPx": 7.504885993485343,
|
||||
"minimumProjectedEdgeTextPx": 6.671009771986971,
|
||||
"minimumProjectedNodeText": "run tests",
|
||||
"minimumProjectedNodeTextDetail": "edge",
|
||||
"minimumProjectedNodeTextOwner": {
|
||||
"kind": "edge",
|
||||
"id": "selected-tests",
|
||||
"from": "runner",
|
||||
"to": "flows"
|
||||
},
|
||||
"minimumRequiredNodeTextPx": 6,
|
||||
"readabilityOk": true,
|
||||
"hasLegend": true,
|
||||
"hasNavigationDock": true,
|
||||
"legendDockIntersectionArea": 0,
|
||||
"dockStageIntersectionArea": 0,
|
||||
"dockStageGap": 10,
|
||||
"requiredDockStageGap": 10,
|
||||
"viewerChromeStageOk": true,
|
||||
"viewerChromeReserve": 54,
|
||||
"viewerChromeActive": true,
|
||||
"viewerChromeOk": true,
|
||||
"resolvedTheme": "light"
|
||||
},
|
||||
{
|
||||
"width": 1600,
|
||||
"height": 1000,
|
||||
"theme": "light",
|
||||
"innerWidth": 1600,
|
||||
"innerHeight": 1000,
|
||||
"scrollWidth": 1600,
|
||||
"scrollHeight": 1000,
|
||||
"overflowX": false,
|
||||
"overflowY": false,
|
||||
"verticalScrollAccepted": false,
|
||||
"overflowDisposition": "contained",
|
||||
"readerLayout": "adaptive",
|
||||
"readerOverflow": null,
|
||||
"readerFit": "intrinsic-height",
|
||||
"ok": true,
|
||||
"readerWidth": 1058,
|
||||
"diagramWidth": 1028,
|
||||
"pageComposition": {
|
||||
"bodyPaddingPx": 64,
|
||||
"headerPx": 60,
|
||||
"diagramChromePx": 84,
|
||||
"svgPx": 780,
|
||||
"cardsPx": 0,
|
||||
"viewBoxHeight": 932
|
||||
},
|
||||
"viewBoxWidth": 1228,
|
||||
"minimumProjectedNodeTextPx": 6.697068403908795,
|
||||
"minimumProjectedNonEdgeTextPx": 7.534201954397394,
|
||||
"minimumProjectedEdgeTextPx": 6.697068403908795,
|
||||
"minimumProjectedNodeText": "run tests",
|
||||
"minimumProjectedNodeTextDetail": "edge",
|
||||
"minimumProjectedNodeTextOwner": {
|
||||
"kind": "edge",
|
||||
"id": "selected-tests",
|
||||
"from": "runner",
|
||||
"to": "flows"
|
||||
},
|
||||
"minimumRequiredNodeTextPx": 6,
|
||||
"readabilityOk": true,
|
||||
"hasLegend": true,
|
||||
"hasNavigationDock": true,
|
||||
"legendDockIntersectionArea": 0,
|
||||
"dockStageIntersectionArea": 0,
|
||||
"dockStageGap": 10,
|
||||
"requiredDockStageGap": 10,
|
||||
"viewerChromeStageOk": true,
|
||||
"viewerChromeReserve": 54,
|
||||
"viewerChromeActive": true,
|
||||
"viewerChromeOk": true,
|
||||
"resolvedTheme": "light"
|
||||
},
|
||||
{
|
||||
"width": 1920,
|
||||
"height": 1080,
|
||||
"theme": "light",
|
||||
"innerWidth": 1920,
|
||||
"innerHeight": 1080,
|
||||
"scrollWidth": 1920,
|
||||
"scrollHeight": 1080,
|
||||
"overflowX": false,
|
||||
"overflowY": false,
|
||||
"verticalScrollAccepted": false,
|
||||
"overflowDisposition": "contained",
|
||||
"readerLayout": "adaptive",
|
||||
"readerOverflow": null,
|
||||
"readerFit": "intrinsic-height",
|
||||
"ok": true,
|
||||
"readerWidth": 1163,
|
||||
"diagramWidth": 1133,
|
||||
"pageComposition": {
|
||||
"bodyPaddingPx": 64,
|
||||
"headerPx": 60,
|
||||
"diagramChromePx": 84,
|
||||
"svgPx": 860,
|
||||
"cardsPx": 0,
|
||||
"viewBoxHeight": 932
|
||||
},
|
||||
"viewBoxWidth": 1228,
|
||||
"minimumProjectedNodeTextPx": 7.381107491856677,
|
||||
"minimumProjectedNonEdgeTextPx": 8.303745928338762,
|
||||
"minimumProjectedEdgeTextPx": 7.381107491856677,
|
||||
"minimumProjectedNodeText": "run tests",
|
||||
"minimumProjectedNodeTextDetail": "edge",
|
||||
"minimumProjectedNodeTextOwner": {
|
||||
"kind": "edge",
|
||||
"id": "selected-tests",
|
||||
"from": "runner",
|
||||
"to": "flows"
|
||||
},
|
||||
"minimumRequiredNodeTextPx": 6,
|
||||
"readabilityOk": true,
|
||||
"hasLegend": true,
|
||||
"hasNavigationDock": true,
|
||||
"legendDockIntersectionArea": 0,
|
||||
"dockStageIntersectionArea": 0,
|
||||
"dockStageGap": 10,
|
||||
"requiredDockStageGap": 10,
|
||||
"viewerChromeStageOk": true,
|
||||
"viewerChromeReserve": 54,
|
||||
"viewerChromeActive": true,
|
||||
"viewerChromeOk": true,
|
||||
"resolvedTheme": "light"
|
||||
},
|
||||
{
|
||||
"width": 2048,
|
||||
"height": 1320,
|
||||
"theme": "light",
|
||||
"innerWidth": 2048,
|
||||
"innerHeight": 1320,
|
||||
"scrollWidth": 2048,
|
||||
"scrollHeight": 1320,
|
||||
"overflowX": false,
|
||||
"overflowY": false,
|
||||
"verticalScrollAccepted": false,
|
||||
"overflowDisposition": "contained",
|
||||
"readerLayout": "adaptive",
|
||||
"readerOverflow": null,
|
||||
"readerFit": "intrinsic-height",
|
||||
"ok": true,
|
||||
"readerWidth": 1476,
|
||||
"diagramWidth": 1426,
|
||||
"pageComposition": {
|
||||
"bodyPaddingPx": 64,
|
||||
"headerPx": 68,
|
||||
"diagramChromePx": 94,
|
||||
"svgPx": 1082,
|
||||
"cardsPx": 0,
|
||||
"viewBoxHeight": 932
|
||||
},
|
||||
"viewBoxWidth": 1228,
|
||||
"minimumProjectedNodeTextPx": 8,
|
||||
"minimumProjectedNonEdgeTextPx": 9,
|
||||
"minimumProjectedEdgeTextPx": 8,
|
||||
"minimumProjectedNodeText": "run tests",
|
||||
"minimumProjectedNodeTextDetail": "edge",
|
||||
"minimumProjectedNodeTextOwner": {
|
||||
"kind": "edge",
|
||||
"id": "selected-tests",
|
||||
"from": "runner",
|
||||
"to": "flows"
|
||||
},
|
||||
"minimumRequiredNodeTextPx": 6,
|
||||
"readabilityOk": true,
|
||||
"hasLegend": true,
|
||||
"hasNavigationDock": true,
|
||||
"legendDockIntersectionArea": 0,
|
||||
"dockStageIntersectionArea": 0,
|
||||
"dockStageGap": 10,
|
||||
"requiredDockStageGap": 10,
|
||||
"viewerChromeStageOk": true,
|
||||
"viewerChromeReserve": 44,
|
||||
"viewerChromeActive": true,
|
||||
"viewerChromeOk": true,
|
||||
"resolvedTheme": "light"
|
||||
}
|
||||
]
|
||||
},
|
||||
"captures": {
|
||||
"status": "not-requested",
|
||||
"screenshots": [],
|
||||
"contactSheet": null
|
||||
},
|
||||
"sidecars": {
|
||||
"receipt": "pxil-runtime.browser-check.json",
|
||||
"files": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"receiptId": "95e7d275-4f11-44f8-af68-086f2d8272bd",
|
||||
"status": "current",
|
||||
"command": "deliver",
|
||||
"type": "architecture",
|
||||
"input": "D:\\Selenium Test\\.archify\\architecture-pxil-runtime-20260929-151855\\candidate.json",
|
||||
"output": "D:\\Selenium Test\\.archify\\architecture-pxil-runtime-20260929-151855\\pxil-runtime.html",
|
||||
"specification": {
|
||||
"sha256": "5255f87576eeb3afd6713d933790d481cf9e8034f24453367adc240aa958ccbc",
|
||||
"bytes": 20698
|
||||
},
|
||||
"artifact": {
|
||||
"sha256": "3db6aa51a98c38d8aebafa9dd0682f3ea5c0ffd1d554c2ac6f000c94b73a193a",
|
||||
"bytes": 767845
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"ok": true,
|
||||
"command": "finalize",
|
||||
"status": "pass",
|
||||
"type": "architecture",
|
||||
"quality": "showcase",
|
||||
"specification": {
|
||||
"path": "D:\\Selenium Test\\.archify\\architecture-pxil-runtime-20260929-151855\\candidate.json",
|
||||
"sha256": "5255f87576eeb3afd6713d933790d481cf9e8034f24453367adc240aa958ccbc",
|
||||
"bytes": 20698
|
||||
},
|
||||
"artifact": {
|
||||
"path": "D:\\Selenium Test\\.archify\\architecture-pxil-runtime-20260929-151855\\pxil-runtime.html",
|
||||
"sha256": "3db6aa51a98c38d8aebafa9dd0682f3ea5c0ffd1d554c2ac6f000c94b73a193a",
|
||||
"bytes": 767845
|
||||
},
|
||||
"gates": {
|
||||
"validate": "pass",
|
||||
"deliver": "pass",
|
||||
"check": "pass",
|
||||
"browser-check": "pass"
|
||||
},
|
||||
"diagnostics": [],
|
||||
"diagnosticSummary": {
|
||||
"total": 0,
|
||||
"shown": 0,
|
||||
"truncated": false
|
||||
},
|
||||
"evidence": {
|
||||
"receipt": "D:\\Selenium Test\\.archify\\architecture-pxil-runtime-20260929-151855\\pxil-runtime.finalize.json",
|
||||
"summaryReceipt": "D:\\Selenium Test\\.archify\\architecture-pxil-runtime-20260929-151855\\pxil-runtime.finalize-summary.json",
|
||||
"browserCheckReceipt": "D:\\Selenium Test\\.archify\\architecture-pxil-runtime-20260929-151855\\pxil-runtime.browser-check.json"
|
||||
},
|
||||
"update": {
|
||||
"status": "current",
|
||||
"installedVersion": "3.0.1",
|
||||
"availableVersion": "3.0.1",
|
||||
"releaseNotes": null,
|
||||
"checkedAt": "2026-09-29T09:50:05.829Z",
|
||||
"source": "cache",
|
||||
"noticeRequired": false,
|
||||
"noticeText": null
|
||||
},
|
||||
"visualReview": "not-requested",
|
||||
"durationMs": 10625
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1,461 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"diagram_type": "architecture",
|
||||
"meta": {
|
||||
"title": "PXIL Runtime: Sessions, Tokens and Regression",
|
||||
"output": ".archify/architecture-pxil-setup-runtime-20260929-155341/pxil-setup-runtime.html",
|
||||
"quality_profile": "showcase",
|
||||
"locale": "en",
|
||||
"repository": {
|
||||
"url": "https://git.tejasshasane.xyz/tejasshasane/pxil-selenium-automation.git",
|
||||
"revision": "5ab89ce0059525b31558a1fa82251a2a6f610dd7",
|
||||
"link_mode": "local-only"
|
||||
}
|
||||
},
|
||||
"components": [
|
||||
{
|
||||
"id": "runner",
|
||||
"type": "backend",
|
||||
"label": "pytest runner",
|
||||
"sublabel": "Selection + fixture lifecycle",
|
||||
"pos": [
|
||||
60,
|
||||
300
|
||||
],
|
||||
"size": [
|
||||
190,
|
||||
74
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/conftest.py",
|
||||
"line": 37,
|
||||
"end_line": 62
|
||||
},
|
||||
{
|
||||
"path": "pytest.ini",
|
||||
"line": 1,
|
||||
"end_line": 14
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "flows",
|
||||
"type": "backend",
|
||||
"label": "Automation flows",
|
||||
"sublabel": "Setup / bidding / matching",
|
||||
"pos": [
|
||||
360,
|
||||
300
|
||||
],
|
||||
"size": [
|
||||
190,
|
||||
74
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/regression/exchange/idas/bidding/test_idas_exchange_bidding_flow.py",
|
||||
"line": 54,
|
||||
"end_line": 90
|
||||
},
|
||||
{
|
||||
"path": "tests/regression/exchange/idas/matching/test_idas_exchange_matching_flow.py",
|
||||
"line": 76,
|
||||
"end_line": 156
|
||||
},
|
||||
{
|
||||
"path": "tests/setup/test_combined_setup.py",
|
||||
"line": 13,
|
||||
"end_line": 37
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "browser",
|
||||
"type": "frontend",
|
||||
"label": "Chrome + WebDriver",
|
||||
"sublabel": "Selenium browser dependency",
|
||||
"pos": [
|
||||
680,
|
||||
300
|
||||
],
|
||||
"size": [
|
||||
190,
|
||||
74
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/browser.py",
|
||||
"line": 1,
|
||||
"end_line": 14
|
||||
},
|
||||
{
|
||||
"path": "tests/regression/auth.py",
|
||||
"line": 46,
|
||||
"end_line": 86
|
||||
}
|
||||
],
|
||||
"tag": "Manual CAPTCHA for Pratyay"
|
||||
},
|
||||
{
|
||||
"id": "pratyay",
|
||||
"type": "external",
|
||||
"label": "Pratyay portal",
|
||||
"sublabel": "Exchange / member UI",
|
||||
"pos": [
|
||||
970,
|
||||
300
|
||||
],
|
||||
"size": [
|
||||
190,
|
||||
74
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/regression/exchange/idas/bidding/test_idas_exchange_bidding_flow.py",
|
||||
"line": 68,
|
||||
"end_line": 90
|
||||
},
|
||||
{
|
||||
"path": "tests/regression/exchange/idas/matching/test_idas_exchange_matching_flow.py",
|
||||
"line": 47,
|
||||
"end_line": 59
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "config",
|
||||
"type": "database",
|
||||
"label": "Config + bid inputs",
|
||||
"sublabel": "JSON / Excel / upload folders",
|
||||
"pos": [
|
||||
360,
|
||||
100
|
||||
],
|
||||
"size": [
|
||||
190,
|
||||
74
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/config_reader.py",
|
||||
"line": 6,
|
||||
"end_line": 32
|
||||
},
|
||||
{
|
||||
"path": "tests/regression/config_reader.py",
|
||||
"line": 5,
|
||||
"end_line": 29
|
||||
},
|
||||
{
|
||||
"path": "tests/regression/exchange/idas/bidding/test_idas_exchange_bidding_flow.py",
|
||||
"line": 217,
|
||||
"end_line": 249
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "reporting",
|
||||
"type": "backend",
|
||||
"label": "Evidence reporting",
|
||||
"sublabel": "Step capture + pytest hooks",
|
||||
"pos": [
|
||||
60,
|
||||
560
|
||||
],
|
||||
"size": [
|
||||
190,
|
||||
74
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/step_actions.py",
|
||||
"line": 10,
|
||||
"end_line": 40
|
||||
},
|
||||
{
|
||||
"path": "tests/conftest.py",
|
||||
"line": 104,
|
||||
"end_line": 175
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "artifacts",
|
||||
"type": "database",
|
||||
"label": "Run artifacts",
|
||||
"sublabel": "HTML / screenshots / logs",
|
||||
"pos": [
|
||||
60,
|
||||
770
|
||||
],
|
||||
"size": [
|
||||
190,
|
||||
74
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/conftest.py",
|
||||
"line": 37,
|
||||
"end_line": 48
|
||||
},
|
||||
{
|
||||
"path": "tests/conftest.py",
|
||||
"line": 70,
|
||||
"end_line": 97
|
||||
},
|
||||
{
|
||||
"path": "tests/step_actions.py",
|
||||
"line": 21,
|
||||
"end_line": 35
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "mco",
|
||||
"type": "external",
|
||||
"label": "MCO portal",
|
||||
"sublabel": "Independent login-only test",
|
||||
"pos": [
|
||||
970,
|
||||
560
|
||||
],
|
||||
"size": [
|
||||
190,
|
||||
74
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/regression/exchange/idas/matching/test_idas_mco_login.py",
|
||||
"line": 13,
|
||||
"end_line": 36
|
||||
}
|
||||
],
|
||||
"tag": "Only when enabled"
|
||||
},
|
||||
{
|
||||
"id": "sessions",
|
||||
"type": "backend",
|
||||
"label": "Trading session setup",
|
||||
"sublabel": "ME instance + times + Save",
|
||||
"tag": "When run_session = true",
|
||||
"pos": [
|
||||
360,
|
||||
560
|
||||
],
|
||||
"size": [
|
||||
190,
|
||||
74
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/setup/sessions/test_session.py",
|
||||
"line": 24,
|
||||
"end_line": 64
|
||||
},
|
||||
{
|
||||
"path": "tests/setup/test_combined_setup.py",
|
||||
"line": 21,
|
||||
"end_line": 37
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "tokens",
|
||||
"type": "backend",
|
||||
"label": "Trading token setup",
|
||||
"sublabel": "Per product code + Save",
|
||||
"tag": "When run_token = true",
|
||||
"pos": [
|
||||
360,
|
||||
800
|
||||
],
|
||||
"size": [
|
||||
190,
|
||||
74
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/setup/tokens/test_trading_token.py",
|
||||
"line": 150,
|
||||
"end_line": 180
|
||||
},
|
||||
{
|
||||
"path": "tests/setup/tokens/test_trading_token.py",
|
||||
"line": 212,
|
||||
"end_line": 326
|
||||
},
|
||||
{
|
||||
"path": "tests/setup/tokens/test_trading_token.py",
|
||||
"line": 328,
|
||||
"end_line": 342
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"boundaries": [
|
||||
{
|
||||
"kind": "region",
|
||||
"label": "LOCAL AUTOMATION HOST | trusted code, inputs and credentials",
|
||||
"wraps": [
|
||||
"runner",
|
||||
"flows",
|
||||
"browser",
|
||||
"config",
|
||||
"reporting",
|
||||
"artifacts",
|
||||
"sessions",
|
||||
"tokens"
|
||||
],
|
||||
"pad": 28
|
||||
},
|
||||
{
|
||||
"kind": "security-group",
|
||||
"label": "Browser process boundary",
|
||||
"wraps": [
|
||||
"browser"
|
||||
],
|
||||
"pad": 18
|
||||
},
|
||||
{
|
||||
"kind": "region",
|
||||
"label": "REMOTE PORTALS | separate authentication",
|
||||
"wraps": [
|
||||
"pratyay",
|
||||
"mco"
|
||||
],
|
||||
"pad": 28
|
||||
}
|
||||
],
|
||||
"connections": [
|
||||
{
|
||||
"id": "selected-tests",
|
||||
"from": "runner",
|
||||
"to": "flows",
|
||||
"label": "run tests",
|
||||
"variant": "emphasis"
|
||||
},
|
||||
{
|
||||
"id": "ui-actions",
|
||||
"from": "flows",
|
||||
"to": "browser",
|
||||
"label": "UI commands",
|
||||
"variant": "emphasis"
|
||||
},
|
||||
{
|
||||
"id": "portal-session",
|
||||
"from": "browser",
|
||||
"to": "pratyay",
|
||||
"label": "login + UI",
|
||||
"variant": "emphasis"
|
||||
},
|
||||
{
|
||||
"id": "read-settings",
|
||||
"from": "flows",
|
||||
"to": "config",
|
||||
"label": "read files"
|
||||
},
|
||||
{
|
||||
"id": "report-hooks",
|
||||
"from": "runner",
|
||||
"to": "reporting",
|
||||
"label": "test hooks"
|
||||
},
|
||||
{
|
||||
"id": "write-evidence",
|
||||
"from": "reporting",
|
||||
"to": "artifacts",
|
||||
"label": "write evidence"
|
||||
},
|
||||
{
|
||||
"id": "optional-mco",
|
||||
"from": "browser",
|
||||
"to": "mco",
|
||||
"label": "if enabled: login",
|
||||
"variant": "dashed"
|
||||
},
|
||||
{
|
||||
"id": "session-enabled",
|
||||
"from": "flows",
|
||||
"to": "sessions",
|
||||
"label": "run_session",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "combined-order",
|
||||
"from": "sessions",
|
||||
"to": "tokens",
|
||||
"label": "both enabled: next",
|
||||
"variant": "dashed"
|
||||
},
|
||||
{
|
||||
"id": "token-only",
|
||||
"from": "flows",
|
||||
"to": "tokens",
|
||||
"label": "token only",
|
||||
"variant": "default",
|
||||
"fromSide": "bottom",
|
||||
"toSide": "right"
|
||||
}
|
||||
],
|
||||
"cards": [
|
||||
{
|
||||
"dot": "amber",
|
||||
"title": "Session and token execution",
|
||||
"items": [
|
||||
"After setup login and manual CAPTCHA: session-only runs create_session; token-only runs run_token_setup; combined runs create_session then run_token_setup for each product code.",
|
||||
"Both setup modules use the shared Selenium driver and StepActions through Automation flows. The dashed session-to-token arrow denotes controller ordering, not a direct module call (tests/setup/test_combined_setup.py:21-37).",
|
||||
"Session creation opens Trading Session, selects the ME instance, fills start/end times, then clicks Save (tests/setup/sessions/test_session.py:24-40).",
|
||||
"These are trading sessions and trading tokens, distinct from browser authentication/session backups."
|
||||
]
|
||||
},
|
||||
{
|
||||
"dot": "orange",
|
||||
"title": "Product-specific token behavior",
|
||||
"items": [
|
||||
"IDAS/default branch: create token, set delivery dates and expiry, Save, edit ORDER_NOR / ORDER_EXCH / TRADE times, then Save and Activate (tests/setup/tokens/test_trading_token.py:150-180, 264-325).",
|
||||
"RTM branch fills delivery and session times and saves the token; activation is not called (lines 212-225, 254-261).",
|
||||
"UPC branch fills configured order/trade times, saves, then resets the generator (lines 228-258).",
|
||||
"config.json selects enabled products and run_session/run_token flags. Disabled products and both-false products are omitted; UPC variants have additional routing rules (tests/config_reader.py:36-83)."
|
||||
]
|
||||
},
|
||||
{
|
||||
"dot": "cyan",
|
||||
"title": "Primary path",
|
||||
"items": [
|
||||
"pytest runs selected tests; flow code controls Selenium and Chrome, which interacts with the remote Pratyay UI.",
|
||||
"Pratyay login fills credentials and pauses for manual CAPTCHA entry before submission (tests/regression/auth.py:46-122).",
|
||||
"Arrows describe control and I/O; results return to pytest. No direct backend API or database integration is asserted."
|
||||
]
|
||||
},
|
||||
{
|
||||
"dot": "violet",
|
||||
"title": "Flow selection and capabilities",
|
||||
"items": [
|
||||
"Root config.json selects setup products and session/token actions; config/runtime.json selects regression environment, role, product and flow.",
|
||||
"Bidding supports Excel/JSON grids, files and folders. Optional parallel folder workers create their own browsers (bidding flow:551-587).",
|
||||
"Matching requires the exchange role; rejected or unsupported bid-transfer status stops matching (matching flow:28-44, 123-135)."
|
||||
]
|
||||
},
|
||||
{
|
||||
"dot": "rose",
|
||||
"title": "Trust and external dependencies",
|
||||
"items": [
|
||||
"Boundaries show host/process and remote ownership, not verified network isolation or firewall policy.",
|
||||
"Credentials come from local JSON and are entered into remote login forms. Values and endpoint addresses are omitted.",
|
||||
"Chrome/WebDriver is an external runtime dependency. Pratyay and MCO server internals and transport guarantees are outside the observed source.",
|
||||
"MCO is an independent, enabled-only dashboard login test; no Pratyay-to-MCO backend connection is inferred."
|
||||
]
|
||||
},
|
||||
{
|
||||
"dot": "emerald",
|
||||
"title": "Evidence and scope",
|
||||
"items": [
|
||||
"StepActions requests browser screenshots; pytest hooks attach evidence and configure pytest-html. Reports live under reports/.",
|
||||
"Matching configures browser downloads separately; setup can save session backups. These details are kept off the main path.",
|
||||
"Source snapshot: 5ab89ce0059525b31558a1fa82251a2a6f610dd7; tracked code unchanged. Only generated .archify/ artifacts are untracked. Sources use local-only links.",
|
||||
"Registered reports/order-book/trade-book markers are placeholders, not implemented runtime services (RUN_COMMANDS.md)."
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
+721
@@ -0,0 +1,721 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"ok": true,
|
||||
"command": "browser-check",
|
||||
"evidenceKind": "automated-browser",
|
||||
"status": "pass",
|
||||
"visualReview": "not-requested",
|
||||
"provenance": "current",
|
||||
"deliveryReceiptId": "4a5fda98-da80-480c-a108-3987d32a0fb2",
|
||||
"artifact": {
|
||||
"path": "D:\\Selenium Test\\.archify\\architecture-pxil-setup-runtime-20260929-155341\\pxil-setup-runtime.html",
|
||||
"sha256": "7f1a2d9fcc2ed49fc6a2c2c9c541bd0620ab0ca1cf04b5e388dae27d01e5b3ec",
|
||||
"bytes": 773779
|
||||
},
|
||||
"state": {
|
||||
"detail": "read",
|
||||
"motion": "still"
|
||||
},
|
||||
"chrome": {
|
||||
"status": "available",
|
||||
"executable": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"
|
||||
},
|
||||
"diagnostics": [],
|
||||
"containment": {
|
||||
"status": "pass",
|
||||
"policy": "fit-or-reader-declared-readable-vertical-scroll",
|
||||
"viewports": [
|
||||
{
|
||||
"width": 1440,
|
||||
"height": 900,
|
||||
"theme": "light",
|
||||
"innerWidth": 1440,
|
||||
"innerHeight": 900,
|
||||
"scrollWidth": 1440,
|
||||
"scrollHeight": 945,
|
||||
"overflowX": false,
|
||||
"overflowY": true,
|
||||
"verticalScrollAccepted": true,
|
||||
"overflowDisposition": "readable-vertical-scroll",
|
||||
"readerLayout": "adaptive",
|
||||
"readerOverflow": "authored",
|
||||
"readerFit": "intrinsic-height",
|
||||
"ok": true,
|
||||
"readerWidth": 1054,
|
||||
"diagramWidth": 1024,
|
||||
"pageComposition": {
|
||||
"bodyPaddingPx": 12,
|
||||
"headerPx": 52,
|
||||
"diagramChromePx": 78,
|
||||
"svgPx": 802,
|
||||
"cardsPx": 0,
|
||||
"viewBoxHeight": 962
|
||||
},
|
||||
"viewBoxWidth": 1228,
|
||||
"minimumProjectedNodeTextPx": 6.671009771986971,
|
||||
"minimumProjectedNonEdgeTextPx": 7.504885993485343,
|
||||
"minimumProjectedEdgeTextPx": 6.671009771986971,
|
||||
"minimumProjectedNodeText": "run tests",
|
||||
"minimumProjectedNodeTextDetail": "edge",
|
||||
"minimumProjectedNodeTextOwner": {
|
||||
"kind": "edge",
|
||||
"id": "selected-tests",
|
||||
"from": "runner",
|
||||
"to": "flows"
|
||||
},
|
||||
"minimumRequiredNodeTextPx": 6,
|
||||
"readabilityOk": true,
|
||||
"hasLegend": true,
|
||||
"hasNavigationDock": true,
|
||||
"legendDockIntersectionArea": 0,
|
||||
"dockStageIntersectionArea": 0,
|
||||
"dockStageGap": 10,
|
||||
"requiredDockStageGap": 10,
|
||||
"viewerChromeStageOk": true,
|
||||
"viewerChromeReserve": 54,
|
||||
"viewerChromeActive": true,
|
||||
"viewerChromeOk": true,
|
||||
"resolvedTheme": "light"
|
||||
},
|
||||
{
|
||||
"width": 1600,
|
||||
"height": 1000,
|
||||
"theme": "light",
|
||||
"innerWidth": 1600,
|
||||
"innerHeight": 1000,
|
||||
"scrollWidth": 1600,
|
||||
"scrollHeight": 1011,
|
||||
"overflowX": false,
|
||||
"overflowY": true,
|
||||
"verticalScrollAccepted": true,
|
||||
"overflowDisposition": "readable-vertical-scroll",
|
||||
"readerLayout": "adaptive",
|
||||
"readerOverflow": "authored",
|
||||
"readerFit": "intrinsic-height",
|
||||
"ok": true,
|
||||
"readerWidth": 1054,
|
||||
"diagramWidth": 1024,
|
||||
"pageComposition": {
|
||||
"bodyPaddingPx": 64,
|
||||
"headerPx": 60,
|
||||
"diagramChromePx": 84,
|
||||
"svgPx": 802,
|
||||
"cardsPx": 0,
|
||||
"viewBoxHeight": 962
|
||||
},
|
||||
"viewBoxWidth": 1228,
|
||||
"minimumProjectedNodeTextPx": 6.671009771986971,
|
||||
"minimumProjectedNonEdgeTextPx": 7.504885993485343,
|
||||
"minimumProjectedEdgeTextPx": 6.671009771986971,
|
||||
"minimumProjectedNodeText": "run tests",
|
||||
"minimumProjectedNodeTextDetail": "edge",
|
||||
"minimumProjectedNodeTextOwner": {
|
||||
"kind": "edge",
|
||||
"id": "selected-tests",
|
||||
"from": "runner",
|
||||
"to": "flows"
|
||||
},
|
||||
"minimumRequiredNodeTextPx": 6,
|
||||
"readabilityOk": true,
|
||||
"hasLegend": true,
|
||||
"hasNavigationDock": true,
|
||||
"legendDockIntersectionArea": 0,
|
||||
"dockStageIntersectionArea": 0,
|
||||
"dockStageGap": 10,
|
||||
"requiredDockStageGap": 10,
|
||||
"viewerChromeStageOk": true,
|
||||
"viewerChromeReserve": 54,
|
||||
"viewerChromeActive": true,
|
||||
"viewerChromeOk": true,
|
||||
"resolvedTheme": "light"
|
||||
},
|
||||
{
|
||||
"width": 1920,
|
||||
"height": 1080,
|
||||
"theme": "light",
|
||||
"innerWidth": 1920,
|
||||
"innerHeight": 1080,
|
||||
"scrollWidth": 1920,
|
||||
"scrollHeight": 1080,
|
||||
"overflowX": false,
|
||||
"overflowY": false,
|
||||
"verticalScrollAccepted": false,
|
||||
"overflowDisposition": "contained",
|
||||
"readerLayout": "adaptive",
|
||||
"readerOverflow": null,
|
||||
"readerFit": "intrinsic-height",
|
||||
"ok": true,
|
||||
"readerWidth": 1128,
|
||||
"diagramWidth": 1098,
|
||||
"pageComposition": {
|
||||
"bodyPaddingPx": 64,
|
||||
"headerPx": 60,
|
||||
"diagramChromePx": 84,
|
||||
"svgPx": 860,
|
||||
"cardsPx": 0,
|
||||
"viewBoxHeight": 962
|
||||
},
|
||||
"viewBoxWidth": 1228,
|
||||
"minimumProjectedNodeTextPx": 7.153094462540716,
|
||||
"minimumProjectedNonEdgeTextPx": 8.047231270358306,
|
||||
"minimumProjectedEdgeTextPx": 7.153094462540716,
|
||||
"minimumProjectedNodeText": "run tests",
|
||||
"minimumProjectedNodeTextDetail": "edge",
|
||||
"minimumProjectedNodeTextOwner": {
|
||||
"kind": "edge",
|
||||
"id": "selected-tests",
|
||||
"from": "runner",
|
||||
"to": "flows"
|
||||
},
|
||||
"minimumRequiredNodeTextPx": 6,
|
||||
"readabilityOk": true,
|
||||
"hasLegend": true,
|
||||
"hasNavigationDock": true,
|
||||
"legendDockIntersectionArea": 0,
|
||||
"dockStageIntersectionArea": 0,
|
||||
"dockStageGap": 10,
|
||||
"requiredDockStageGap": 10,
|
||||
"viewerChromeStageOk": true,
|
||||
"viewerChromeReserve": 54,
|
||||
"viewerChromeActive": true,
|
||||
"viewerChromeOk": true,
|
||||
"resolvedTheme": "light"
|
||||
},
|
||||
{
|
||||
"width": 2048,
|
||||
"height": 1320,
|
||||
"theme": "light",
|
||||
"innerWidth": 2048,
|
||||
"innerHeight": 1320,
|
||||
"scrollWidth": 2048,
|
||||
"scrollHeight": 1320,
|
||||
"overflowX": false,
|
||||
"overflowY": false,
|
||||
"verticalScrollAccepted": false,
|
||||
"overflowDisposition": "contained",
|
||||
"readerLayout": "adaptive",
|
||||
"readerOverflow": null,
|
||||
"readerFit": "intrinsic-height",
|
||||
"ok": true,
|
||||
"readerWidth": 1431,
|
||||
"diagramWidth": 1381,
|
||||
"pageComposition": {
|
||||
"bodyPaddingPx": 64,
|
||||
"headerPx": 68,
|
||||
"diagramChromePx": 94,
|
||||
"svgPx": 1082,
|
||||
"cardsPx": 0,
|
||||
"viewBoxHeight": 962
|
||||
},
|
||||
"viewBoxWidth": 1228,
|
||||
"minimumProjectedNodeTextPx": 8,
|
||||
"minimumProjectedNonEdgeTextPx": 9,
|
||||
"minimumProjectedEdgeTextPx": 8,
|
||||
"minimumProjectedNodeText": "run tests",
|
||||
"minimumProjectedNodeTextDetail": "edge",
|
||||
"minimumProjectedNodeTextOwner": {
|
||||
"kind": "edge",
|
||||
"id": "selected-tests",
|
||||
"from": "runner",
|
||||
"to": "flows"
|
||||
},
|
||||
"minimumRequiredNodeTextPx": 6,
|
||||
"readabilityOk": true,
|
||||
"hasLegend": true,
|
||||
"hasNavigationDock": true,
|
||||
"legendDockIntersectionArea": 0,
|
||||
"dockStageIntersectionArea": 0,
|
||||
"dockStageGap": 10,
|
||||
"requiredDockStageGap": 10,
|
||||
"viewerChromeStageOk": true,
|
||||
"viewerChromeReserve": 44,
|
||||
"viewerChromeActive": true,
|
||||
"viewerChromeOk": true,
|
||||
"resolvedTheme": "light"
|
||||
}
|
||||
]
|
||||
},
|
||||
"themeStates": {
|
||||
"status": "pass",
|
||||
"viewports": [
|
||||
{
|
||||
"width": 1440,
|
||||
"height": 900,
|
||||
"requestedTheme": "light",
|
||||
"resolvedTheme": "light",
|
||||
"ok": true
|
||||
},
|
||||
{
|
||||
"width": 1600,
|
||||
"height": 1000,
|
||||
"requestedTheme": "light",
|
||||
"resolvedTheme": "light",
|
||||
"ok": true
|
||||
},
|
||||
{
|
||||
"width": 1920,
|
||||
"height": 1080,
|
||||
"requestedTheme": "light",
|
||||
"resolvedTheme": "light",
|
||||
"ok": true
|
||||
},
|
||||
{
|
||||
"width": 2048,
|
||||
"height": 1320,
|
||||
"requestedTheme": "light",
|
||||
"resolvedTheme": "light",
|
||||
"ok": true
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"height": 900,
|
||||
"requestedTheme": "dark",
|
||||
"resolvedTheme": "dark",
|
||||
"ok": true
|
||||
},
|
||||
{
|
||||
"width": 2048,
|
||||
"height": 1320,
|
||||
"requestedTheme": "dark",
|
||||
"resolvedTheme": "dark",
|
||||
"ok": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"readability": {
|
||||
"status": "pass",
|
||||
"minimumProjectedNodeTextPx": 6,
|
||||
"viewports": [
|
||||
{
|
||||
"width": 1440,
|
||||
"height": 900,
|
||||
"theme": "light",
|
||||
"innerWidth": 1440,
|
||||
"innerHeight": 900,
|
||||
"scrollWidth": 1440,
|
||||
"scrollHeight": 945,
|
||||
"overflowX": false,
|
||||
"overflowY": true,
|
||||
"verticalScrollAccepted": true,
|
||||
"overflowDisposition": "readable-vertical-scroll",
|
||||
"readerLayout": "adaptive",
|
||||
"readerOverflow": "authored",
|
||||
"readerFit": "intrinsic-height",
|
||||
"ok": true,
|
||||
"readerWidth": 1054,
|
||||
"diagramWidth": 1024,
|
||||
"pageComposition": {
|
||||
"bodyPaddingPx": 12,
|
||||
"headerPx": 52,
|
||||
"diagramChromePx": 78,
|
||||
"svgPx": 802,
|
||||
"cardsPx": 0,
|
||||
"viewBoxHeight": 962
|
||||
},
|
||||
"viewBoxWidth": 1228,
|
||||
"minimumProjectedNodeTextPx": 6.671009771986971,
|
||||
"minimumProjectedNonEdgeTextPx": 7.504885993485343,
|
||||
"minimumProjectedEdgeTextPx": 6.671009771986971,
|
||||
"minimumProjectedNodeText": "run tests",
|
||||
"minimumProjectedNodeTextDetail": "edge",
|
||||
"minimumProjectedNodeTextOwner": {
|
||||
"kind": "edge",
|
||||
"id": "selected-tests",
|
||||
"from": "runner",
|
||||
"to": "flows"
|
||||
},
|
||||
"minimumRequiredNodeTextPx": 6,
|
||||
"readabilityOk": true,
|
||||
"hasLegend": true,
|
||||
"hasNavigationDock": true,
|
||||
"legendDockIntersectionArea": 0,
|
||||
"dockStageIntersectionArea": 0,
|
||||
"dockStageGap": 10,
|
||||
"requiredDockStageGap": 10,
|
||||
"viewerChromeStageOk": true,
|
||||
"viewerChromeReserve": 54,
|
||||
"viewerChromeActive": true,
|
||||
"viewerChromeOk": true,
|
||||
"resolvedTheme": "light"
|
||||
},
|
||||
{
|
||||
"width": 1600,
|
||||
"height": 1000,
|
||||
"theme": "light",
|
||||
"innerWidth": 1600,
|
||||
"innerHeight": 1000,
|
||||
"scrollWidth": 1600,
|
||||
"scrollHeight": 1011,
|
||||
"overflowX": false,
|
||||
"overflowY": true,
|
||||
"verticalScrollAccepted": true,
|
||||
"overflowDisposition": "readable-vertical-scroll",
|
||||
"readerLayout": "adaptive",
|
||||
"readerOverflow": "authored",
|
||||
"readerFit": "intrinsic-height",
|
||||
"ok": true,
|
||||
"readerWidth": 1054,
|
||||
"diagramWidth": 1024,
|
||||
"pageComposition": {
|
||||
"bodyPaddingPx": 64,
|
||||
"headerPx": 60,
|
||||
"diagramChromePx": 84,
|
||||
"svgPx": 802,
|
||||
"cardsPx": 0,
|
||||
"viewBoxHeight": 962
|
||||
},
|
||||
"viewBoxWidth": 1228,
|
||||
"minimumProjectedNodeTextPx": 6.671009771986971,
|
||||
"minimumProjectedNonEdgeTextPx": 7.504885993485343,
|
||||
"minimumProjectedEdgeTextPx": 6.671009771986971,
|
||||
"minimumProjectedNodeText": "run tests",
|
||||
"minimumProjectedNodeTextDetail": "edge",
|
||||
"minimumProjectedNodeTextOwner": {
|
||||
"kind": "edge",
|
||||
"id": "selected-tests",
|
||||
"from": "runner",
|
||||
"to": "flows"
|
||||
},
|
||||
"minimumRequiredNodeTextPx": 6,
|
||||
"readabilityOk": true,
|
||||
"hasLegend": true,
|
||||
"hasNavigationDock": true,
|
||||
"legendDockIntersectionArea": 0,
|
||||
"dockStageIntersectionArea": 0,
|
||||
"dockStageGap": 10,
|
||||
"requiredDockStageGap": 10,
|
||||
"viewerChromeStageOk": true,
|
||||
"viewerChromeReserve": 54,
|
||||
"viewerChromeActive": true,
|
||||
"viewerChromeOk": true,
|
||||
"resolvedTheme": "light"
|
||||
},
|
||||
{
|
||||
"width": 1920,
|
||||
"height": 1080,
|
||||
"theme": "light",
|
||||
"innerWidth": 1920,
|
||||
"innerHeight": 1080,
|
||||
"scrollWidth": 1920,
|
||||
"scrollHeight": 1080,
|
||||
"overflowX": false,
|
||||
"overflowY": false,
|
||||
"verticalScrollAccepted": false,
|
||||
"overflowDisposition": "contained",
|
||||
"readerLayout": "adaptive",
|
||||
"readerOverflow": null,
|
||||
"readerFit": "intrinsic-height",
|
||||
"ok": true,
|
||||
"readerWidth": 1128,
|
||||
"diagramWidth": 1098,
|
||||
"pageComposition": {
|
||||
"bodyPaddingPx": 64,
|
||||
"headerPx": 60,
|
||||
"diagramChromePx": 84,
|
||||
"svgPx": 860,
|
||||
"cardsPx": 0,
|
||||
"viewBoxHeight": 962
|
||||
},
|
||||
"viewBoxWidth": 1228,
|
||||
"minimumProjectedNodeTextPx": 7.153094462540716,
|
||||
"minimumProjectedNonEdgeTextPx": 8.047231270358306,
|
||||
"minimumProjectedEdgeTextPx": 7.153094462540716,
|
||||
"minimumProjectedNodeText": "run tests",
|
||||
"minimumProjectedNodeTextDetail": "edge",
|
||||
"minimumProjectedNodeTextOwner": {
|
||||
"kind": "edge",
|
||||
"id": "selected-tests",
|
||||
"from": "runner",
|
||||
"to": "flows"
|
||||
},
|
||||
"minimumRequiredNodeTextPx": 6,
|
||||
"readabilityOk": true,
|
||||
"hasLegend": true,
|
||||
"hasNavigationDock": true,
|
||||
"legendDockIntersectionArea": 0,
|
||||
"dockStageIntersectionArea": 0,
|
||||
"dockStageGap": 10,
|
||||
"requiredDockStageGap": 10,
|
||||
"viewerChromeStageOk": true,
|
||||
"viewerChromeReserve": 54,
|
||||
"viewerChromeActive": true,
|
||||
"viewerChromeOk": true,
|
||||
"resolvedTheme": "light"
|
||||
},
|
||||
{
|
||||
"width": 2048,
|
||||
"height": 1320,
|
||||
"theme": "light",
|
||||
"innerWidth": 2048,
|
||||
"innerHeight": 1320,
|
||||
"scrollWidth": 2048,
|
||||
"scrollHeight": 1320,
|
||||
"overflowX": false,
|
||||
"overflowY": false,
|
||||
"verticalScrollAccepted": false,
|
||||
"overflowDisposition": "contained",
|
||||
"readerLayout": "adaptive",
|
||||
"readerOverflow": null,
|
||||
"readerFit": "intrinsic-height",
|
||||
"ok": true,
|
||||
"readerWidth": 1431,
|
||||
"diagramWidth": 1381,
|
||||
"pageComposition": {
|
||||
"bodyPaddingPx": 64,
|
||||
"headerPx": 68,
|
||||
"diagramChromePx": 94,
|
||||
"svgPx": 1082,
|
||||
"cardsPx": 0,
|
||||
"viewBoxHeight": 962
|
||||
},
|
||||
"viewBoxWidth": 1228,
|
||||
"minimumProjectedNodeTextPx": 8,
|
||||
"minimumProjectedNonEdgeTextPx": 9,
|
||||
"minimumProjectedEdgeTextPx": 8,
|
||||
"minimumProjectedNodeText": "run tests",
|
||||
"minimumProjectedNodeTextDetail": "edge",
|
||||
"minimumProjectedNodeTextOwner": {
|
||||
"kind": "edge",
|
||||
"id": "selected-tests",
|
||||
"from": "runner",
|
||||
"to": "flows"
|
||||
},
|
||||
"minimumRequiredNodeTextPx": 6,
|
||||
"readabilityOk": true,
|
||||
"hasLegend": true,
|
||||
"hasNavigationDock": true,
|
||||
"legendDockIntersectionArea": 0,
|
||||
"dockStageIntersectionArea": 0,
|
||||
"dockStageGap": 10,
|
||||
"requiredDockStageGap": 10,
|
||||
"viewerChromeStageOk": true,
|
||||
"viewerChromeReserve": 44,
|
||||
"viewerChromeActive": true,
|
||||
"viewerChromeOk": true,
|
||||
"resolvedTheme": "light"
|
||||
}
|
||||
]
|
||||
},
|
||||
"viewerChrome": {
|
||||
"status": "pass",
|
||||
"viewports": [
|
||||
{
|
||||
"width": 1440,
|
||||
"height": 900,
|
||||
"theme": "light",
|
||||
"innerWidth": 1440,
|
||||
"innerHeight": 900,
|
||||
"scrollWidth": 1440,
|
||||
"scrollHeight": 945,
|
||||
"overflowX": false,
|
||||
"overflowY": true,
|
||||
"verticalScrollAccepted": true,
|
||||
"overflowDisposition": "readable-vertical-scroll",
|
||||
"readerLayout": "adaptive",
|
||||
"readerOverflow": "authored",
|
||||
"readerFit": "intrinsic-height",
|
||||
"ok": true,
|
||||
"readerWidth": 1054,
|
||||
"diagramWidth": 1024,
|
||||
"pageComposition": {
|
||||
"bodyPaddingPx": 12,
|
||||
"headerPx": 52,
|
||||
"diagramChromePx": 78,
|
||||
"svgPx": 802,
|
||||
"cardsPx": 0,
|
||||
"viewBoxHeight": 962
|
||||
},
|
||||
"viewBoxWidth": 1228,
|
||||
"minimumProjectedNodeTextPx": 6.671009771986971,
|
||||
"minimumProjectedNonEdgeTextPx": 7.504885993485343,
|
||||
"minimumProjectedEdgeTextPx": 6.671009771986971,
|
||||
"minimumProjectedNodeText": "run tests",
|
||||
"minimumProjectedNodeTextDetail": "edge",
|
||||
"minimumProjectedNodeTextOwner": {
|
||||
"kind": "edge",
|
||||
"id": "selected-tests",
|
||||
"from": "runner",
|
||||
"to": "flows"
|
||||
},
|
||||
"minimumRequiredNodeTextPx": 6,
|
||||
"readabilityOk": true,
|
||||
"hasLegend": true,
|
||||
"hasNavigationDock": true,
|
||||
"legendDockIntersectionArea": 0,
|
||||
"dockStageIntersectionArea": 0,
|
||||
"dockStageGap": 10,
|
||||
"requiredDockStageGap": 10,
|
||||
"viewerChromeStageOk": true,
|
||||
"viewerChromeReserve": 54,
|
||||
"viewerChromeActive": true,
|
||||
"viewerChromeOk": true,
|
||||
"resolvedTheme": "light"
|
||||
},
|
||||
{
|
||||
"width": 1600,
|
||||
"height": 1000,
|
||||
"theme": "light",
|
||||
"innerWidth": 1600,
|
||||
"innerHeight": 1000,
|
||||
"scrollWidth": 1600,
|
||||
"scrollHeight": 1011,
|
||||
"overflowX": false,
|
||||
"overflowY": true,
|
||||
"verticalScrollAccepted": true,
|
||||
"overflowDisposition": "readable-vertical-scroll",
|
||||
"readerLayout": "adaptive",
|
||||
"readerOverflow": "authored",
|
||||
"readerFit": "intrinsic-height",
|
||||
"ok": true,
|
||||
"readerWidth": 1054,
|
||||
"diagramWidth": 1024,
|
||||
"pageComposition": {
|
||||
"bodyPaddingPx": 64,
|
||||
"headerPx": 60,
|
||||
"diagramChromePx": 84,
|
||||
"svgPx": 802,
|
||||
"cardsPx": 0,
|
||||
"viewBoxHeight": 962
|
||||
},
|
||||
"viewBoxWidth": 1228,
|
||||
"minimumProjectedNodeTextPx": 6.671009771986971,
|
||||
"minimumProjectedNonEdgeTextPx": 7.504885993485343,
|
||||
"minimumProjectedEdgeTextPx": 6.671009771986971,
|
||||
"minimumProjectedNodeText": "run tests",
|
||||
"minimumProjectedNodeTextDetail": "edge",
|
||||
"minimumProjectedNodeTextOwner": {
|
||||
"kind": "edge",
|
||||
"id": "selected-tests",
|
||||
"from": "runner",
|
||||
"to": "flows"
|
||||
},
|
||||
"minimumRequiredNodeTextPx": 6,
|
||||
"readabilityOk": true,
|
||||
"hasLegend": true,
|
||||
"hasNavigationDock": true,
|
||||
"legendDockIntersectionArea": 0,
|
||||
"dockStageIntersectionArea": 0,
|
||||
"dockStageGap": 10,
|
||||
"requiredDockStageGap": 10,
|
||||
"viewerChromeStageOk": true,
|
||||
"viewerChromeReserve": 54,
|
||||
"viewerChromeActive": true,
|
||||
"viewerChromeOk": true,
|
||||
"resolvedTheme": "light"
|
||||
},
|
||||
{
|
||||
"width": 1920,
|
||||
"height": 1080,
|
||||
"theme": "light",
|
||||
"innerWidth": 1920,
|
||||
"innerHeight": 1080,
|
||||
"scrollWidth": 1920,
|
||||
"scrollHeight": 1080,
|
||||
"overflowX": false,
|
||||
"overflowY": false,
|
||||
"verticalScrollAccepted": false,
|
||||
"overflowDisposition": "contained",
|
||||
"readerLayout": "adaptive",
|
||||
"readerOverflow": null,
|
||||
"readerFit": "intrinsic-height",
|
||||
"ok": true,
|
||||
"readerWidth": 1128,
|
||||
"diagramWidth": 1098,
|
||||
"pageComposition": {
|
||||
"bodyPaddingPx": 64,
|
||||
"headerPx": 60,
|
||||
"diagramChromePx": 84,
|
||||
"svgPx": 860,
|
||||
"cardsPx": 0,
|
||||
"viewBoxHeight": 962
|
||||
},
|
||||
"viewBoxWidth": 1228,
|
||||
"minimumProjectedNodeTextPx": 7.153094462540716,
|
||||
"minimumProjectedNonEdgeTextPx": 8.047231270358306,
|
||||
"minimumProjectedEdgeTextPx": 7.153094462540716,
|
||||
"minimumProjectedNodeText": "run tests",
|
||||
"minimumProjectedNodeTextDetail": "edge",
|
||||
"minimumProjectedNodeTextOwner": {
|
||||
"kind": "edge",
|
||||
"id": "selected-tests",
|
||||
"from": "runner",
|
||||
"to": "flows"
|
||||
},
|
||||
"minimumRequiredNodeTextPx": 6,
|
||||
"readabilityOk": true,
|
||||
"hasLegend": true,
|
||||
"hasNavigationDock": true,
|
||||
"legendDockIntersectionArea": 0,
|
||||
"dockStageIntersectionArea": 0,
|
||||
"dockStageGap": 10,
|
||||
"requiredDockStageGap": 10,
|
||||
"viewerChromeStageOk": true,
|
||||
"viewerChromeReserve": 54,
|
||||
"viewerChromeActive": true,
|
||||
"viewerChromeOk": true,
|
||||
"resolvedTheme": "light"
|
||||
},
|
||||
{
|
||||
"width": 2048,
|
||||
"height": 1320,
|
||||
"theme": "light",
|
||||
"innerWidth": 2048,
|
||||
"innerHeight": 1320,
|
||||
"scrollWidth": 2048,
|
||||
"scrollHeight": 1320,
|
||||
"overflowX": false,
|
||||
"overflowY": false,
|
||||
"verticalScrollAccepted": false,
|
||||
"overflowDisposition": "contained",
|
||||
"readerLayout": "adaptive",
|
||||
"readerOverflow": null,
|
||||
"readerFit": "intrinsic-height",
|
||||
"ok": true,
|
||||
"readerWidth": 1431,
|
||||
"diagramWidth": 1381,
|
||||
"pageComposition": {
|
||||
"bodyPaddingPx": 64,
|
||||
"headerPx": 68,
|
||||
"diagramChromePx": 94,
|
||||
"svgPx": 1082,
|
||||
"cardsPx": 0,
|
||||
"viewBoxHeight": 962
|
||||
},
|
||||
"viewBoxWidth": 1228,
|
||||
"minimumProjectedNodeTextPx": 8,
|
||||
"minimumProjectedNonEdgeTextPx": 9,
|
||||
"minimumProjectedEdgeTextPx": 8,
|
||||
"minimumProjectedNodeText": "run tests",
|
||||
"minimumProjectedNodeTextDetail": "edge",
|
||||
"minimumProjectedNodeTextOwner": {
|
||||
"kind": "edge",
|
||||
"id": "selected-tests",
|
||||
"from": "runner",
|
||||
"to": "flows"
|
||||
},
|
||||
"minimumRequiredNodeTextPx": 6,
|
||||
"readabilityOk": true,
|
||||
"hasLegend": true,
|
||||
"hasNavigationDock": true,
|
||||
"legendDockIntersectionArea": 0,
|
||||
"dockStageIntersectionArea": 0,
|
||||
"dockStageGap": 10,
|
||||
"requiredDockStageGap": 10,
|
||||
"viewerChromeStageOk": true,
|
||||
"viewerChromeReserve": 44,
|
||||
"viewerChromeActive": true,
|
||||
"viewerChromeOk": true,
|
||||
"resolvedTheme": "light"
|
||||
}
|
||||
]
|
||||
},
|
||||
"captures": {
|
||||
"status": "not-requested",
|
||||
"screenshots": [],
|
||||
"contactSheet": null
|
||||
},
|
||||
"sidecars": {
|
||||
"receipt": "pxil-setup-runtime.browser-check.json",
|
||||
"files": []
|
||||
}
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"receiptId": "4a5fda98-da80-480c-a108-3987d32a0fb2",
|
||||
"status": "current",
|
||||
"command": "deliver",
|
||||
"type": "architecture",
|
||||
"input": "D:\\Selenium Test\\.archify\\architecture-pxil-setup-runtime-20260929-155341\\candidate.json",
|
||||
"output": "D:\\Selenium Test\\.archify\\architecture-pxil-setup-runtime-20260929-155341\\pxil-setup-runtime.html",
|
||||
"specification": {
|
||||
"sha256": "1419cbca3fed61e28342a8b9767aa43fa85a7b18ff380e93ebedccfa96f9549b",
|
||||
"bytes": 25091
|
||||
},
|
||||
"artifact": {
|
||||
"sha256": "7f1a2d9fcc2ed49fc6a2c2c9c541bd0620ab0ca1cf04b5e388dae27d01e5b3ec",
|
||||
"bytes": 773779
|
||||
}
|
||||
}
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"ok": true,
|
||||
"command": "finalize",
|
||||
"status": "pass",
|
||||
"type": "architecture",
|
||||
"quality": "showcase",
|
||||
"specification": {
|
||||
"path": "D:\\Selenium Test\\.archify\\architecture-pxil-setup-runtime-20260929-155341\\candidate.json",
|
||||
"sha256": "1419cbca3fed61e28342a8b9767aa43fa85a7b18ff380e93ebedccfa96f9549b",
|
||||
"bytes": 25091
|
||||
},
|
||||
"artifact": {
|
||||
"path": "D:\\Selenium Test\\.archify\\architecture-pxil-setup-runtime-20260929-155341\\pxil-setup-runtime.html",
|
||||
"sha256": "7f1a2d9fcc2ed49fc6a2c2c9c541bd0620ab0ca1cf04b5e388dae27d01e5b3ec",
|
||||
"bytes": 773779
|
||||
},
|
||||
"gates": {
|
||||
"validate": "pass",
|
||||
"deliver": "pass",
|
||||
"check": "pass",
|
||||
"browser-check": "pass"
|
||||
},
|
||||
"diagnostics": [],
|
||||
"diagnosticSummary": {
|
||||
"total": 0,
|
||||
"shown": 0,
|
||||
"truncated": false
|
||||
},
|
||||
"evidence": {
|
||||
"receipt": "D:\\Selenium Test\\.archify\\architecture-pxil-setup-runtime-20260929-155341\\pxil-setup-runtime.finalize.json",
|
||||
"summaryReceipt": "D:\\Selenium Test\\.archify\\architecture-pxil-setup-runtime-20260929-155341\\pxil-setup-runtime.finalize-summary.json",
|
||||
"browserCheckReceipt": "D:\\Selenium Test\\.archify\\architecture-pxil-setup-runtime-20260929-155341\\pxil-setup-runtime.browser-check.json"
|
||||
},
|
||||
"update": {
|
||||
"status": "current",
|
||||
"installedVersion": "3.0.1",
|
||||
"availableVersion": "3.0.1",
|
||||
"releaseNotes": null,
|
||||
"checkedAt": "2026-09-29T09:50:05.829Z",
|
||||
"source": "cache",
|
||||
"noticeRequired": false,
|
||||
"noticeText": null
|
||||
},
|
||||
"visualReview": "not-requested",
|
||||
"durationMs": 10108,
|
||||
"visualReviewRecommendation": {
|
||||
"action": "inspect-route-readability",
|
||||
"signals": {
|
||||
"routesOverSuggestedBends": 1
|
||||
},
|
||||
"reason": "Automated gates passed, but crossings or detours still need perceptual review before claiming visual quality.",
|
||||
"affectedRoutes": {
|
||||
"crossings": [],
|
||||
"detours": [
|
||||
{
|
||||
"relationship": {
|
||||
"id": "token-only",
|
||||
"from": "flows",
|
||||
"to": "tokens",
|
||||
"label": "token only",
|
||||
"collectionIndex": 9,
|
||||
"artifactIndex": 10
|
||||
},
|
||||
"bends": 3,
|
||||
"stretch": 1.087,
|
||||
"directCorridorBlockers": [
|
||||
{
|
||||
"id": "sessions",
|
||||
"label": "Trading session setup",
|
||||
"box": [
|
||||
360,
|
||||
560,
|
||||
190,
|
||||
74
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"truncated": false
|
||||
},
|
||||
"repair": "Trace these relationships at the desktop viewport. For Architecture, use references/architecture-layout-repair.md: reflow a blocked main path or tangled connected scene, and repair an isolated defect locally only when the surrounding composition is accepted. Preserve all semantic content and user-fixed geometry. Rerun finalize once after the edit."
|
||||
}
|
||||
}
|
||||
+1041
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1,430 @@
|
||||
{
|
||||
"schema_version": 2,
|
||||
"diagram_type": "workflow",
|
||||
"meta": {
|
||||
"title": "PXIL Session + Trading Token Setup",
|
||||
"subtitle": "Configuration-driven pytest/Selenium workflow",
|
||||
"output": ".archify/workflow-pxil-session-token-20260929-160100/pxil-session-token.html",
|
||||
"quality_profile": "showcase",
|
||||
"animation": "none",
|
||||
"repository": {
|
||||
"url": "https://git.tejasshasane.xyz/tejasshasane/pxil-selenium-automation.git",
|
||||
"revision": "5ab89ce0059525b31558a1fa82251a2a6f610dd7",
|
||||
"link_mode": "local-only"
|
||||
}
|
||||
},
|
||||
"lanes": [
|
||||
{
|
||||
"id": "config",
|
||||
"label": "Configuration \u0026 selection"
|
||||
},
|
||||
{
|
||||
"id": "pytest",
|
||||
"label": "Pytest orchestration"
|
||||
},
|
||||
{
|
||||
"id": "browser",
|
||||
"label": "Browser automation"
|
||||
},
|
||||
{
|
||||
"id": "portal",
|
||||
"label": "Pratyay portal"
|
||||
}
|
||||
],
|
||||
"phases": [
|
||||
{
|
||||
"id": "resolve",
|
||||
"label": "Resolve run",
|
||||
"fromCol": 0,
|
||||
"toCol": 1
|
||||
},
|
||||
{
|
||||
"id": "login",
|
||||
"label": "Authenticate",
|
||||
"fromCol": 2,
|
||||
"toCol": 2,
|
||||
"variant": "security"
|
||||
},
|
||||
{
|
||||
"id": "setup",
|
||||
"label": "Create session + tokens",
|
||||
"fromCol": 3,
|
||||
"toCol": 4,
|
||||
"variant": "emphasis"
|
||||
},
|
||||
{
|
||||
"id": "evidence",
|
||||
"label": "Capture evidence",
|
||||
"fromCol": 5,
|
||||
"toCol": 5,
|
||||
"variant": "dashed"
|
||||
}
|
||||
],
|
||||
"groups": [
|
||||
{
|
||||
"id": "config_group",
|
||||
"label": "Product and mode resolution",
|
||||
"lane": "config",
|
||||
"fromCol": 0,
|
||||
"toCol": 1,
|
||||
"variant": "dashed"
|
||||
},
|
||||
{
|
||||
"id": "auth_group",
|
||||
"label": "One browser login",
|
||||
"lane": "browser",
|
||||
"fromCol": 2,
|
||||
"toCol": 2,
|
||||
"variant": "security"
|
||||
},
|
||||
{
|
||||
"id": "session_group",
|
||||
"label": "Session creation gate",
|
||||
"lane": "portal",
|
||||
"fromCol": 3,
|
||||
"toCol": 3,
|
||||
"variant": "emphasis"
|
||||
},
|
||||
{
|
||||
"id": "token_group",
|
||||
"label": "Token creation loop",
|
||||
"lane": "portal",
|
||||
"fromCol": 4,
|
||||
"toCol": 5,
|
||||
"variant": "emphasis"
|
||||
},
|
||||
{
|
||||
"id": "evidence_group",
|
||||
"label": "Step artifacts",
|
||||
"lane": "config",
|
||||
"fromCol": 5,
|
||||
"toCol": 5,
|
||||
"variant": "dashed"
|
||||
}
|
||||
],
|
||||
"mainPath": [
|
||||
"pytest_start",
|
||||
"load_config",
|
||||
"parametrize",
|
||||
"driver_login",
|
||||
"token_dispatch",
|
||||
"token_save",
|
||||
"save_report"
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"id": "pytest_start",
|
||||
"lane": "pytest",
|
||||
"col": 0,
|
||||
"type": "backend",
|
||||
"label": "Pytest setup test",
|
||||
"sublabel": "test_combined_setup.py",
|
||||
"width": 150,
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/setup/test_combined_setup.py",
|
||||
"line": 11,
|
||||
"end_line": 14
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "load_config",
|
||||
"lane": "config",
|
||||
"col": 1,
|
||||
"type": "database",
|
||||
"label": "Load config.json",
|
||||
"sublabel": "products + setup flags",
|
||||
"width": 150,
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/config_reader.py",
|
||||
"line": 6,
|
||||
"end_line": 33
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "parametrize",
|
||||
"lane": "config",
|
||||
"col": 2,
|
||||
"type": "backend",
|
||||
"label": "get_setup_configs",
|
||||
"sublabel": "combined / session / token",
|
||||
"tag": "skip disabled",
|
||||
"width": 150,
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/config_reader.py",
|
||||
"line": 36,
|
||||
"end_line": 83
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "driver_login",
|
||||
"lane": "browser",
|
||||
"col": 2,
|
||||
"type": "security",
|
||||
"label": "Open + login",
|
||||
"sublabel": "Chrome, credentials, CAPTCHA",
|
||||
"tag": "manual CAPTCHA",
|
||||
"width": 150,
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/setup/test_combined_setup.py",
|
||||
"line": 21,
|
||||
"end_line": 29
|
||||
},
|
||||
{
|
||||
"path": "tests/helpers.py",
|
||||
"line": 60,
|
||||
"end_line": 91
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "session_gate",
|
||||
"lane": "pytest",
|
||||
"col": 3,
|
||||
"type": "security",
|
||||
"label": "run_session?",
|
||||
"sublabel": "product flag gate",
|
||||
"width": 150,
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/setup/test_combined_setup.py",
|
||||
"line": 31,
|
||||
"end_line": 32
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "session_create",
|
||||
"lane": "portal",
|
||||
"col": 3,
|
||||
"type": "backend",
|
||||
"label": "create_session",
|
||||
"sublabel": "ME instance + dates -\u003e Save",
|
||||
"width": 150,
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/setup/sessions/test_session.py",
|
||||
"line": 24,
|
||||
"end_line": 40
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "token_loop",
|
||||
"lane": "pytest",
|
||||
"col": 4,
|
||||
"type": "backend",
|
||||
"label": "Product-code loop",
|
||||
"sublabel": "one token per configured code",
|
||||
"width": 150,
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/setup/test_combined_setup.py",
|
||||
"line": 34,
|
||||
"end_line": 37
|
||||
},
|
||||
{
|
||||
"path": "tests/setup/tokens/test_trading_token.py",
|
||||
"line": 74,
|
||||
"end_line": 83
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "token_dispatch",
|
||||
"lane": "portal",
|
||||
"col": 4,
|
||||
"type": "backend",
|
||||
"label": "run_token_setup",
|
||||
"sublabel": "IDAS / RTM / UPC branch",
|
||||
"width": 150,
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/setup/tokens/test_trading_token.py",
|
||||
"line": 254,
|
||||
"end_line": 262
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "token_save",
|
||||
"lane": "portal",
|
||||
"col": 5,
|
||||
"type": "backend",
|
||||
"label": "Create + save token",
|
||||
"sublabel": "dates, expiry, time sessions",
|
||||
"width": 150,
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/setup/tokens/test_trading_token.py",
|
||||
"line": 264,
|
||||
"end_line": 325
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "save_report",
|
||||
"lane": "config",
|
||||
"col": 5,
|
||||
"type": "database",
|
||||
"label": "Evidence + teardown",
|
||||
"sublabel": "screenshots, backup, logout",
|
||||
"width": 150,
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/step_actions.py",
|
||||
"line": 21,
|
||||
"end_line": 40
|
||||
},
|
||||
{
|
||||
"path": "tests/helpers.py",
|
||||
"line": 135,
|
||||
"end_line": 159
|
||||
},
|
||||
{
|
||||
"path": "tests/setup/tokens/test_trading_token.py",
|
||||
"line": 330,
|
||||
"end_line": 342
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "session_skip",
|
||||
"lane": "config",
|
||||
"col": 3,
|
||||
"type": "messagebus",
|
||||
"label": "Skip session",
|
||||
"sublabel": "run_session = false",
|
||||
"width": 150,
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/setup/test_combined_setup.py",
|
||||
"line": 31,
|
||||
"end_line": 32
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pratyay_ui",
|
||||
"lane": "portal",
|
||||
"col": 2,
|
||||
"type": "external",
|
||||
"label": "Pratyay UI",
|
||||
"sublabel": "Trading maintenance pages",
|
||||
"width": 150,
|
||||
"sources": [
|
||||
{
|
||||
"path": "tests/setup/sessions/test_session.py",
|
||||
"line": 28,
|
||||
"end_line": 40
|
||||
},
|
||||
{
|
||||
"path": "tests/setup/tokens/test_trading_token.py",
|
||||
"line": 274,
|
||||
"end_line": 325
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{
|
||||
"id": "start-config",
|
||||
"from": "pytest_start",
|
||||
"to": "load_config",
|
||||
"label": "collect + resolve",
|
||||
"variant": "emphasis"
|
||||
},
|
||||
{
|
||||
"id": "config-param",
|
||||
"from": "load_config",
|
||||
"to": "parametrize",
|
||||
"label": "product settings"
|
||||
},
|
||||
{
|
||||
"id": "param-login",
|
||||
"from": "parametrize",
|
||||
"to": "driver_login",
|
||||
"label": "selected config",
|
||||
"variant": "emphasis"
|
||||
},
|
||||
{
|
||||
"id": "login-portal",
|
||||
"from": "driver_login",
|
||||
"to": "pratyay_ui",
|
||||
"label": "authenticate",
|
||||
"variant": "security"
|
||||
},
|
||||
{
|
||||
"id": "skip-token-loop",
|
||||
"from": "session_skip",
|
||||
"to": "token_loop",
|
||||
"label": "token-only / combined decision",
|
||||
"variant": "dashed"
|
||||
},
|
||||
{
|
||||
"id": "dispatch-save",
|
||||
"from": "token_dispatch",
|
||||
"to": "token_save",
|
||||
"label": "IDAS default",
|
||||
"variant": "emphasis"
|
||||
},
|
||||
{
|
||||
"id": "save-evidence",
|
||||
"from": "token_save",
|
||||
"to": "save_report",
|
||||
"label": "step captures",
|
||||
"variant": "dashed"
|
||||
},
|
||||
{
|
||||
"id": "login-dispatch",
|
||||
"from": "driver_login",
|
||||
"to": "token_dispatch",
|
||||
"label": "run token flow",
|
||||
"variant": "emphasis"
|
||||
}
|
||||
],
|
||||
"cards": [
|
||||
{
|
||||
"dot": "cyan",
|
||||
"title": "How configuration is called",
|
||||
"items": [
|
||||
"pytest parametrization calls get_setup_configs(\"combined\") when test_session_and_token_setup is collected.",
|
||||
"get_product_config merges product overrides into setup.run_session/run_token and resolves token settings; disabled products are filtered out.",
|
||||
"Each selected config carries url, login, product.me_instance, token settings and product_name into the test."
|
||||
]
|
||||
},
|
||||
{
|
||||
"dot": "amber",
|
||||
"title": "Combined run semantics",
|
||||
"items": [
|
||||
"The test opens the portal and logs in once per browser fixture. It saves a browser cookie/session backup after login.",
|
||||
"When run_session is true, create_session selects the configured ME instance and saves the calculated start/end window.",
|
||||
"The same driver then loops product codes and calls run_token_setup for each one."
|
||||
]
|
||||
},
|
||||
{
|
||||
"dot": "violet",
|
||||
"title": "Token branches",
|
||||
"items": [
|
||||
"IDAS/default creates the token, fills delivery/expiry values, then edits ORDER_NOR, ORDER_EXCH and TRADE time sessions before Save and Activate.",
|
||||
"RTM selects market/product/generation mode, fills delivery and session times, then saves; activation is not part of this branch.",
|
||||
"UPC fills configured order/trade times, saves, then resets the generator."
|
||||
]
|
||||
},
|
||||
{
|
||||
"dot": "rose",
|
||||
"title": "Authentication and evidence",
|
||||
"items": [
|
||||
"login() sends credentials, waits for manual CAPTCHA completion, submits, waits for the dashboard marker and closes transient notices.",
|
||||
"StepActions captures screenshots after interactions. conftest.py attaches them to pytest-html and creates report folders.",
|
||||
"The diagram shows trading sessions/tokens; login session backups are browser cookies, not the trading-session records created in the portal."
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
+1345
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"receiptId": "194f6ca1-621e-45b4-ab5d-d915aa4711fd",
|
||||
"status": "current",
|
||||
"command": "deliver",
|
||||
"type": "workflow",
|
||||
"input": "D:\\Selenium Test\\.archify\\workflow-pxil-session-token-20260929-160100\\candidate.json",
|
||||
"output": "D:\\Selenium Test\\.archify\\workflow-pxil-session-token-20260929-160100\\pxil-session-token.html",
|
||||
"specification": {
|
||||
"sha256": "c349c44844d853c1dc013cd9f1e9380b0f1548224ef389a1960b97af956310b1",
|
||||
"bytes": 19583
|
||||
},
|
||||
"artifact": {
|
||||
"sha256": "d0c3abadeefa664a3d46893e7dc43042339bf42471f76967fe467600f0388882",
|
||||
"bytes": 771409
|
||||
}
|
||||
}
|
||||
+89
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"ok": true,
|
||||
"command": "finalize",
|
||||
"status": "pass",
|
||||
"type": "workflow",
|
||||
"quality": "showcase",
|
||||
"specification": {
|
||||
"path": "D:\\Selenium Test\\.archify\\workflow-pxil-session-token-20260929-160100\\candidate.json",
|
||||
"sha256": "c349c44844d853c1dc013cd9f1e9380b0f1548224ef389a1960b97af956310b1",
|
||||
"bytes": 19583
|
||||
},
|
||||
"artifact": {
|
||||
"path": "D:\\Selenium Test\\.archify\\workflow-pxil-session-token-20260929-160100\\pxil-session-token.html",
|
||||
"sha256": "d0c3abadeefa664a3d46893e7dc43042339bf42471f76967fe467600f0388882",
|
||||
"bytes": 771409
|
||||
},
|
||||
"gates": {
|
||||
"validate": "pass",
|
||||
"deliver": "pass",
|
||||
"check": "pass",
|
||||
"browser-check": "pass"
|
||||
},
|
||||
"diagnostics": [],
|
||||
"diagnosticSummary": {
|
||||
"total": 0,
|
||||
"shown": 0,
|
||||
"truncated": false
|
||||
},
|
||||
"evidence": {
|
||||
"receipt": "D:\\Selenium Test\\.archify\\workflow-pxil-session-token-20260929-160100\\pxil-session-token.finalize.json",
|
||||
"summaryReceipt": "D:\\Selenium Test\\.archify\\workflow-pxil-session-token-20260929-160100\\pxil-session-token.finalize-summary.json",
|
||||
"browserCheckReceipt": "D:\\Selenium Test\\.archify\\workflow-pxil-session-token-20260929-160100\\pxil-session-token.browser-check.json"
|
||||
},
|
||||
"update": {
|
||||
"status": "current",
|
||||
"installedVersion": "3.0.1",
|
||||
"availableVersion": "3.0.1",
|
||||
"releaseNotes": null,
|
||||
"checkedAt": "2026-09-29T09:50:05.829Z",
|
||||
"source": "cache",
|
||||
"noticeRequired": false,
|
||||
"noticeText": null
|
||||
},
|
||||
"visualReview": "not-requested",
|
||||
"durationMs": 12243,
|
||||
"visualReviewRecommendation": {
|
||||
"action": "inspect-route-readability",
|
||||
"signals": {
|
||||
"routesOverSuggestedBends": 2
|
||||
},
|
||||
"reason": "Automated gates passed, but crossings or detours still need perceptual review before claiming visual quality.",
|
||||
"affectedRoutes": {
|
||||
"crossings": [],
|
||||
"detours": [
|
||||
{
|
||||
"relationship": {
|
||||
"id": "login-dispatch",
|
||||
"from": "driver_login",
|
||||
"to": "token_dispatch",
|
||||
"label": "run token flow",
|
||||
"collectionIndex": 2,
|
||||
"artifactIndex": 3
|
||||
},
|
||||
"bends": 3,
|
||||
"stretch": 1.164
|
||||
},
|
||||
{
|
||||
"relationship": {
|
||||
"id": "param-login",
|
||||
"from": "parametrize",
|
||||
"to": "driver_login",
|
||||
"label": "selected config",
|
||||
"collectionIndex": 4,
|
||||
"artifactIndex": 5
|
||||
},
|
||||
"bends": 3,
|
||||
"stretch": 1.109
|
||||
}
|
||||
],
|
||||
"truncated": false
|
||||
},
|
||||
"hints": [
|
||||
"driver_login → token_dispatch needs 3 bends: move node driver_login or token_dispatch so they share a row or column with matching centers, or sit diagonally with a clear corner.",
|
||||
"parametrize → driver_login needs 3 bends: move node parametrize or driver_login so they share a row or column with matching centers, or sit diagonally with a clear corner."
|
||||
],
|
||||
"repair": "Trace these relationships at the desktop viewport. For Architecture, use references/architecture-layout-repair.md: reflow a blocked main path or tangled connected scene, and repair an isolated defect locally only when the surrounding composition is accepted. Preserve all semantic content and user-fixed geometry. Rerun finalize once after the edit."
|
||||
}
|
||||
}
|
||||
+1657
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user